contracts: change the contract syntax
[nit.git] / tests / base_isa_cast.nit
index f57511a..b52633d 100644 (file)
@@ -19,21 +19,21 @@ import kernel
 class A
        init do end
 end
-
 class B
-special A
-       meth foo do 0.output
+       super A
+       fun foo do 0.output
        init do end
 end
-
 class C
-special B
-       meth bar do 1.output
+       super B
+       fun bar do 1.output
        init do end
 end
 
+
+#alt5# var b: A = new B
 var a: A = new C
-#alt5# a = new B
+#alt5# a = b
 #alt6# a = new A
 if a isa B then
        a.foo
@@ -55,5 +55,17 @@ if a isa B or a == a then
 #alt4# a.foo
 end
 
+if not (not a isa B or a == a) then
+       a.foo
+end
+
+if a isa B implies a == a then
+#alt7# a.foo
+end
+
+if not (a isa B implies a == a) then
+       a.foo
+end
+
 assert a isa B
 a.foo