comparison tests/mini/s.d @ 807:d92acb81a583

Add interface minitest, rework s.d.
author Christian Kamm <kamm incasoftware de>
date Sun, 30 Nov 2008 11:54:18 +0100
parents 1bb99290e03a
children
comparison
equal deleted inserted replaced
806:96b404ba7eb0 807:d92acb81a583
50 auto c = new TheClassOne; 50 auto c = new TheClassOne;
51 { 51 {
52 auto ci = c.classinfo; 52 auto ci = c.classinfo;
53 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); 53 printf("ci = %.*s\n", ci.name.length, ci.name.ptr);
54 printf("ci.interfaces.length = %lu\n", ci.interfaces.length); 54 printf("ci.interfaces.length = %lu\n", ci.interfaces.length);
55 printf("i[0] = %.*s\n", ci.interfaces[0].classinfo.name.length, ci.interfaces[0].classinfo.name.ptr); 55 foreach (i, iface; ci.interfaces)
56 printf("i[1] = %.*s\n", ci.interfaces[1].classinfo.name.length, ci.interfaces[1].classinfo.name.ptr); 56 printf("i[%d] = %.*s\n", i, iface.classinfo.name.length, iface.classinfo.name.ptr);
57 } 57 }
58 } 58 }
59 { 59 {
60 auto c = new TheClassTwo; 60 auto c = new TheClassTwo;
61 { 61 {
62 auto ci = c.classinfo; 62 auto ci = c.classinfo;
63 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); 63 printf("ci = %.*s\n", ci.name.length, ci.name.ptr);
64 printf("ci.interfaces.length = %lu\n", ci.interfaces.length); 64 printf("ci.interfaces.length = %lu\n", ci.interfaces.length);
65 printf("i[0] = %.*s\n", ci.interfaces[0].classinfo.name.length, ci.interfaces[0].classinfo.name.ptr); 65 foreach (i, iface; ci.interfaces)
66 printf("i[1] = %.*s\n", ci.interfaces[1].classinfo.name.length, ci.interfaces[1].classinfo.name.ptr); 66 printf("i[%d] = %.*s\n", i, iface.classinfo.name.length, iface.classinfo.name.ptr);
67 printf("i[2] = %.*s\n", ci.interfaces[2].classinfo.name.length, ci.interfaces[2].classinfo.name.ptr);
68 } 67 }
69 auto i = cast(InterOne)c; 68 InterOne i = c;
70 { 69 {
71 auto ci = i.classinfo; 70 auto ci = i.classinfo;
72 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); 71 printf("ci = %.*s\n", ci.name.length, ci.name.ptr);
73 } 72 }
74 auto i2 = cast(Inter2)i; 73 auto i2 = cast(Inter2)c;
75 { 74 {
76 auto ci = i2.classinfo; 75 auto ci = i2.classinfo;
77 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); 76 printf("ci = %.*s\n", ci.name.length, ci.name.ptr);
78 } 77 }
79 auto o = cast(Object)i2; 78 auto o = cast(Object)i2;