Пример #1
0
    def test_is_lazy(self):
        called_times = 0

        def generator():
            nonlocal called_times
            for i in range(1, 5):
                called_times += 1
                yield called_times, str(called_times)

        stream = kunit_parser.LineStream(generator())
        self.assertEqual(called_times, 0)

        self.assertEqual(stream.pop(), '1')
        self.assertEqual(called_times, 1)

        self.assertEqual(stream.pop(), '2')
        self.assertEqual(called_times, 2)
Пример #2
0
def line_stream_from_strs(strs: Iterable[str]) -> kunit_parser.LineStream:
    return kunit_parser.LineStream(enumerate(strs, start=1))