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*,...);