diff --git a/Test.obn b/Test.obn
index 4bde081725ba53658bd7868205734120600492d7..3c862c1d5917486426e84aa32439b268bb8baf88 100644 (file)
--- a/Test.obn
+++ b/Test.obn
MODULE Test;
-IMPORT Out;
-
-BEGIN
- IF "abc" = "abc" THEN
- Out.String("Equal abc = abc"); Out.Ln;
- ELSE
- Out.String("WAT: MUST BE abc = abc"); Out.Ln;
+TYPE
+ Object = RECORD
+ mth : PROCEDURE;
END;
- IF "cba" > "abc" THEN
- Out.String("Great cba > abc"); Out.Ln;
- ELSE
- Out.String("WAT: MUST BE cba = abc"); Out.Ln;
- END;
+VAR
+ p : PROCEDURE;
+ o, a : Object;
- IF "abc" < "bc" THEN
- Out.String("Less abc < bc"); Out.Ln;
- ELSE
- Out.String("WAT: MUST BE abc < bc"); Out.Ln;
- END;
+PROCEDURE X;
+END X;
+
+PROCEDURE Z(VAR g : Object);
+BEGIN
+ g.mth;
+END Z;
+
+BEGIN
+ p := X;
+ ASSERT(p # NIL);
+ o.mth := X;
+ ASSERT(o.mth # NIL);
+ a := o;
+ ASSERT(a.mth # NIL);
+ Z(a);
END Test.