예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
    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))
예제 #4
0
    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)