Ein Testwerkzeug III

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

TriangleTester.om
PROCEDURE OpenTestCases(VAR in: Streams.Stream) : BOOLEAN;
   CONST
      filename = "triangle.tests";
      fieldsep = ":";
   VAR
      fieldseps: Sets.CharSet;
BEGIN
   IF ~UnixFiles.Open(in, filename, UnixFiles.read,
         Streams.onebuf, NIL) THEN
      RETURN FALSE
   END;
   Sets.InitSet(fieldseps);
   Sets.InclChar(fieldseps, fieldsep);
   StreamDisciplines.SetFieldSepSet(in, fieldseps);
   RETURN TRUE
END OpenTestCases;

PROCEDURE ReadTestCase(in: Streams.Stream;
                       VAR test: TestCase) : BOOLEAN;
BEGIN
   LOOP
      test.output := "";
      IF Read.FieldS(in, test.input) &
            Read.FieldS(in, test.expected) THEN
         Read.LnS(in);
         RETURN in.count > 0
      END;
      IF in.eof OR in.error THEN
         RETURN FALSE
      END;
      (* skip an empty line *)
      Read.LnS(in);
   END;
END ReadTestCase;

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005