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()
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)