def test_filtering_doctest(self): result = [] f = crt.filtering(lambda x: x % 2 == 0) crt.consume(f(crt.append(result)), range(10)) self.assertListEqual( result, [x for x in range(10) if x % 2 == 0])
def test_compose_mapping_and_filter(self): composed = compose(crt.filtering(lambda x: x < 5), crt.mapping(lambda x: x * 2)) result = [] f = composed(crt.append(result)) for i in range(10): f.send(i) self.assertListEqual(result, [x * 2 for x in range(10) if x < 5])
def test_compose_mapping_and_filter(self): composed = compose( crt.filtering(lambda x: x < 5), crt.mapping(lambda x: x * 2)) result = [] f = composed(crt.append(result)) for i in range(10): f.send(i) self.assertListEqual( result, [x * 2 for x in range(10) if x < 5])
def test_compose_three_coroutines(self): composed = compose(crt.mapping(lambda x: x * 2), crt.mapping(lambda x: x * x), crt.filtering(lambda x: x % 2 == 0)) result = [] f = composed(crt.append(result)) for i in range(100): f.send(i) self.assertListEqual( result, list( filter(lambda z: z % 2 == 0, (x * x for x in (y * 2 for y in range(100))))))
def test_compose_three_coroutines(self): composed = compose( crt.mapping(lambda x: x * 2), crt.mapping(lambda x: x * x), crt.filtering(lambda x: x % 2 == 0)) result = [] f = composed(crt.append(result)) for i in range(100): f.send(i) self.assertListEqual( result, list(filter( lambda z: z % 2 == 0, (x * x for x in (y * 2 for y in range(100))))))
def test_filtering_doctest(self): result = [] f = crt.filtering(lambda x: x % 2 == 0) crt.consume(f(crt.append(result)), range(10)) self.assertListEqual(result, [x for x in range(10) if x % 2 == 0])