Пример #1
0
    def test_with_finishing_iterable(self):
        alternator = solution.alternate(lambda: repeat("He's coming in .."),
                                        lambda: iter([3, 2, 1]))

        self.assertEqual(list(alternator), ["He's coming in ..", 3,
                                            "He's coming in ..", 2,
                                            "He's coming in ..", 1,
                                            "He's coming in .."])
Пример #2
0
 def test_with_seven_iterables(self):
     alternator = solution.alternate(lambda: count(0, 7),
                                     lambda: count(1, 7),
                                     lambda: count(2, 7),
                                     lambda: count(3, 7),
                                     lambda: count(4, 7),
                                     lambda: count(5, 7),
                                     lambda: count(6, 7))
     self.assertEqual([next(alternator) for i in range(49)],
                      list(range(49)))
Пример #3
0
    def test_mirror_count(self):
        mirror_count = solution.alternate(lambda: count(1, 1),
                                          lambda: count(-1, -1))

        self.assertEqual([next(mirror_count) for i in range(1000)],
                         [x for n in range(1, 501) for x in (n, -n)])
Пример #4
0
    def test_alternate(self):
        self.assertRaises(StopIteration, lambda: next(alternate()))

        mirror_count = alternate(lambda: count(1, 1), lambda: count(-1, -1))
        self.assertEqual(list(islice(mirror_count, 7)),
                         [1, -1, 2, -2, 3, -3, 4])
Пример #5
0
    def test_alternate(self):
        self.assertRaises(StopIteration, lambda: next(alternate()))

        mirror_count = alternate(lambda: count(1, 1), lambda: count(-1, -1))
        self.assertEqual(list(islice(mirror_count, 7)),
                         [1, -1, 2, -2, 3, -3, 4])