Beispiel #1
0
    def init_reader(self, s):
        from onyx.util.stream import Stream
        from onyx.reader import Reader, ReadError

        stream = Stream.from_sequence(s)
        self.reader = Reader(stream)
        self.ReadError = ReadError
Beispiel #2
0
class ReadCurrentClassEof(unittest.TestCase):
    def init_reader(self, s):
        from onyx.util.stream import Stream
        from onyx.reader import Reader

        stream = Stream.from_sequence(s)
        self.reader = Reader(stream)

    def assert_reader_at_end(self):
        if not self.reader.is_at_end():
            self.fail("reader is not at end")

    def setUp(self):
        self.init_reader("")

    def runTest(self):
        """reading at eof should produce the proper classification"""
        self.assertEqual({"eof"}, self.reader.current_class())
        self.assert_reader_at_end()
Beispiel #3
0
class _ReaderTestCase(object):
    def init_reader(self, s):
        from onyx.util.stream import Stream
        from onyx.reader import Reader, ReadError

        stream = Stream.from_sequence(s)
        self.reader = Reader(stream)
        self.ReadError = ReadError

    def setUp(self):
        self.init_reader(self.read_string)

    def assert_reader_at_end(self):
        if not self.reader.is_at_end():
            self.fail("reader is not at end")

    def assert_term_value(self, v):
        if self.term.is_compound:
            actual = [t.value for t in self.term.value]
        else:
            actual = self.term.value
        self.assertEqual(actual, v)