comparison tests/mini/interface8.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
children
comparison
equal deleted inserted replaced
806:96b404ba7eb0 807:d92acb81a583
1 interface InputStream
2 {
3 void foo();
4 }
5
6 interface OutputStream
7 {
8 void bar();
9 }
10
11 interface IConduit : InputStream, OutputStream
12 {
13 abstract uint bufferSize();
14 }
15
16 class Conduit : IConduit
17 {
18 abstract uint bufferSize();
19 abstract void foo();
20 abstract void bar();
21 }
22
23 interface Selectable
24 {
25 void car();
26 }
27
28 class DeviceConduit : Conduit, Selectable
29 {
30 override uint bufferSize ()
31 {
32 return 1024 * 16;
33 }
34 override void foo() {}
35 override void bar() {}
36 override void car() {}
37 int handle;
38 }
39
40 class ConsoleConduit : DeviceConduit
41 {
42 override void foo() {}
43 bool redirected;
44 }
45
46 class OtherConduit : Conduit
47 {
48 abstract uint bufferSize();
49 override void foo() {}
50 override void bar() {}
51 }
52
53 void main()
54 {
55 auto c = new ConsoleConduit;
56 IConduit ci = c;
57 assert(c.bufferSize == ci.bufferSize);
58 }
59