def false(): ''' Returns an infinite stream of False :return: a False boolean stream ''' return BooleanStream(Stream.generate(lambda: False))
def true(): ''' Returns an infinite stream of True :return: a True boolean stream ''' return BooleanStream(Stream.generate(lambda: True))
def random(): ''' Returns an infinite stream of random booleans :return: a random boolean stream ''' return BooleanStream( Stream.generate(lambda: random.randint(0, 1) == 1))
def test_generate(self): index = 0 s = Stream.generate(lambda: 1) for elem in s: self.assertEqual(elem, 1) index += 1 if index == 10: break
def test_count(self): self.assertEqual(Stream.of(1, 2, 3, 4).count(), 4) self.assertEqual(Stream.empty().count(), 0) self.assertEqual(Stream.generate(lambda: 1).limit(10).count(), 10)