Mercurial > projects > ldc
diff tests/mini/j.d @ 341:1bb99290e03a trunk
[svn r362] Started merging the old 'test' dir as well as the newer 'tangotests' dir into 'tests/mini' and 'tests/minicomplex'.
author | lindquist |
---|---|
date | Sun, 13 Jul 2008 02:51:19 +0200 |
parents | tangotests/j.d@44a95ac7368a |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/mini/j.d Sun Jul 13 02:51:19 2008 +0200 @@ -0,0 +1,44 @@ +module j; + +interface Inter1 +{ + int func1(); +} + +interface Inter2 +{ + int func2(); +} + +class C12 : Inter1, Inter2 +{ + int func1() + { + return 1; + } + int func2() + { + return 2; + } +} + +void func(Object c) +{ + auto i1 = cast(Inter1)c; + assert(i1.func1() == 1); + auto i2 = cast(Inter2)c; + assert(i2.func2() == 2); + auto j1 = cast(Inter1)i2; + assert(j1.func1() == 1); + auto j2 = cast(Inter2)i1; + assert(j2.func2() == 2); +} + +void main() +{ + scope c = new C12; + func(c); + printf("OK\n"); +} + +extern(C) int printf(char*,...);