DEADSOFTWARE

Исправлена проверка VAR-параметров-записей
[dsw-obn.git] / Test.obn
index 3c869eab01977277c2f1c68f2cbc88b4f80319ea..b9b14ae66be8abf069ff9c19ca678ff3e117694d 100644 (file)
--- a/Test.obn
+++ b/Test.obn
@@ -1,19 +1,23 @@
 MODULE Test;
 
-IMPORT SYSTEM, Out;
+TYPE
+  Stream* = POINTER TO Handle;
+  Handle = RECORD END;
+
+  Writer* = RECORD END;
+
+  Printer* = RECORD (Writer) END;
 
 VAR
-  i, j : INTEGER;
+  s : Stream;
+  o : Writer;
+  out : Printer;
 
+PROCEDURE SetStream(VAR w : Writer; stream : Stream);
 BEGIN
-  i := 1;
-  j := -32;
-  Out.Int(SYSTEM.ROT(i, -1), 0); Out.String(" = "); Out.Int(SYSTEM.ROT(1, -1), 0); Out.Ln;
-  Out.Int(SYSTEM.ROT(i, 1), 0); Out.String(" = "); Out.Int(SYSTEM.ROT(1, 1), 0); Out.Ln;
-  Out.Int(SYSTEM.ROT(j, -1), 0); Out.String(" = "); Out.Int(SYSTEM.ROT(-32, -1), 0); Out.Ln;
-  Out.Int(SYSTEM.ROT(j, 1), 0); Out.String(" = "); Out.Int(SYSTEM.ROT(-32, 1), 0); Out.Ln;
+END SetStream;
 
-  ASSERT(SYSTEM.ROT(i, -1) = SYSTEM.ROT(1, -1));
-
-  ASSERT(SYSTEM.ROT(i,  1) = SYSTEM.ROT(1,  1));
+BEGIN
+  SetStream(o, s);
+  SetStream(out, s);
 END Test.