def test_has_next_returns_false_at_end_of_iteration(self): peaker = Peaker((x for x in 'ab')) self.assertTrue(peaker.has_next()) peaker.next() self.assertTrue(peaker.has_next()) peaker.next() self.assertFalse(peaker.has_next())
def test_stop_iteration_raised(self): peaker = Peaker((x for x in 'ab')) self.assertEqual(peaker.next(), 'a') self.assertEqual(peaker.next(), 'b') with self.assertRaises(StopIteration): peaker.next()
def test_next_does_move_stream_forward(self): generator = cycle('abc') peaker = Peaker(stream=generator) self.assertEqual(peaker.next(), 'a') self.assertEqual(peaker.next(), 'b')