DEADSOFTWARE

Исправлено приведение типа long -> char; Исправлено копирование полей базы расширяемо...
[dsw-obn.git] / Test.obn
index 4bde081725ba53658bd7868205734120600492d7..3c862c1d5917486426e84aa32439b268bb8baf88 100644 (file)
--- a/Test.obn
+++ b/Test.obn
@@ -1,23 +1,28 @@
 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.