def testEq(self): """Test value_eq on LazyLineReader.""" baseline = repeated.meld("Alice\n", "Bob\n", "Charlie\n", "Dave\n", "Eve\n", "Frank") with open(testlib.get_fixture_path("names.txt"), "r") as fd: reader = line_reader.LazyLineReader(fd) self.assertValuesEqual(baseline, reader)
def testReading(self): """Test that reader reads the same lines as the File object.""" with open(testlib.get_fixture_path("names.txt"), "r") as fd: line_count = len(list(fd)) # The fact that the fd.tell() is now at EOF shouldn't matter. reader = line_reader.LazyLineReader(fd) self.assertEqual(len(list(reader)), line_count)
def testRestarting(self): """Test that the reader can restart and support multiple users.""" with open(testlib.get_fixture_path("names.txt"), "r") as fd: reader = line_reader.LazyLineReader(fd) iterator = iter(reader) iterator2 = iter(reader) self.assertEqual(next(iterator), next(iterator2))
def testCloseInDestructor(self): fd = open(testlib.get_fixture_path("names.txt"), "r") reader = line_reader.LazyLineReader(fd) for _ in reader: pass reader = None self.assertTrue(fd.closed)