def test_taking_value_error_message(self): try: crt.taking(-5) except ValueError as e: self.assertEqual( e.args[0], 'taking() requires a positive value.')
def test_taking_doctest(self): result = [] crt.consume(crt.taking(5)( crt.append(result)), range(1000)) self.assertListEqual( result, list(range(5)))
def test_reuse_single_taking_instance(self): take_5 = crt.taking(5) composed = compose(take_5, crt.mapping(lambda x: x * 2), take_5) result = [] f = composed(crt.append(result)) try: for i in range(1000): f.send(i) except crt.StopConsumption: pass expected = list( itertools.islice((x * 2 for x in itertools.islice(range(1000), 5)), 5)) self.assertListEqual(result, expected)
def test_reuse_single_taking_instance(self): take_5 = crt.taking(5) composed = compose( take_5, crt.mapping(lambda x: x * 2), take_5) result = [] f = composed(crt.append(result)) try: for i in range(1000): f.send(i) except crt.StopConsumption: pass expected = list(itertools.islice( (x * 2 for x in itertools.islice(range(1000), 5)), 5)) self.assertListEqual( result, expected)
def test_taking_works_for_size_one(self): crt.taking(1)
def test_taking_value_error_message(self): try: crt.taking(-5) except ValueError as e: self.assertEqual(e.args[0], 'taking() requires a positive value.')
def test_taking_requires_a_positive_argument(self): with self.assertRaises(ValueError): crt.taking(-5) with self.assertRaises(ValueError): crt.taking(0)
def test_taking_doctest(self): result = [] crt.consume(crt.taking(5)(crt.append(result)), range(1000)) self.assertListEqual(result, list(range(5)))