Esempio n. 1
0
 def test_consume(self):
     # full consuming, without limitation
     r = iters.range(10)
     self.assertEqual(10, len(list(r)))
     itr = iter(r)
     iters.consume(itr)
     self.assertEqual(0, len(list(itr)))
Esempio n. 2
0
    def test_splitby(self):
        def is_even(x):
            return x % 2 == 0

        before, after = iters.splitby(is_even, iters.range(5))
        self.assertEqual([0], list(before))
        self.assertEqual([1, 2,3,4], list(after))
Esempio n. 3
0
    def test_partition(self):
        def is_odd(x):
            return x % 2 == 1

        before, after = iters.partition(is_odd, iters.range(5))
        self.assertEqual([0, 2, 4], list(before))
        self.assertEqual([1, 3], list(after))
Esempio n. 4
0
    def test_lazy_slicing(self):
        s = Stream() << iters.range(10)
        self.assertEqual(s.cursor(), 0)

        s_slice = s[:5]
        self.assertEqual(s.cursor(), 0)
        self.assertEqual(len(list(s_slice)), 5)
Esempio n. 5
0
    def test_lazy_slicing(self):
        s = Stream() << iters.range(10)
        self.assertEqual(s.cursor(), 0)

        s_slice = s[:5]
        self.assertEqual(s.cursor(), 0)
        self.assertEqual(len(list(s_slice)), 5)
Esempio n. 6
0
    def test_splitby(self):
        def is_even(x):
            return x % 2 == 0

        before, after = iters.splitby(is_even, iters.range(5))
        self.assertEqual([0], list(before))
        self.assertEqual([1, 2, 3, 4], list(after))
Esempio n. 7
0
 def test_consume(self):
     # full consuming, without limitation
     r = iters.range(10)
     self.assertEqual(10, len(list(r)))
     itr = iter(r)
     iters.consume(itr)
     self.assertEqual(0, len(list(itr)))
Esempio n. 8
0
 def test_foldr(self):
     summer = op.foldr(operator.add)
     self.assertEqual(10, op.foldr(operator.add)([0, 1, 2, 3, 4]))
     self.assertEqual(20, op.foldr(operator.add, 10)([0, 1, 2, 3, 4]))
     self.assertEqual(20, op.foldr(operator.add, 10)(iters.range(5)))
     # specific case for right-side folding
     self.assertEqual(100, op.foldr(op.call, 0)([lambda s: s ** 2, lambda k: k + 10]))
Esempio n. 9
0
    def test_partition(self):
        def is_odd(x):
            return x % 2 == 1

        before, after = iters.partition(is_odd, iters.range(5))
        self.assertEqual([0,2,4], list(before))
        self.assertEqual([1,3], list(after))
Esempio n. 10
0
 def test_foldr(self):
     summer = op.foldr(operator.add)
     self.assertEqual(10, op.foldr(operator.add)([0,1,2,3,4]))
     self.assertEqual(20, op.foldr(operator.add, 10)([0,1,2,3,4]))
     self.assertEqual(20, op.foldr(operator.add, 10)(iters.range(5)))
     # specific case for right-side folding
     self.assertEqual(100,
                      op.foldr(op.call, 0)([lambda s: s**2, lambda k: k+10]))
Esempio n. 11
0
 def test_consume_limited(self):
     r = iters.range(10)
     self.assertEqual(10, len(list(r)))
     itr = iter(r)
     iters.consume(itr, 5)
     self.assertEqual(5, len(list(itr)))
Esempio n. 12
0
 def test_foldl(self):
     self.assertEqual(10, op.foldl(operator.add)([0, 1, 2, 3, 4]))
     self.assertEqual(20, op.foldl(operator.add, 10)([0, 1, 2, 3, 4]))
     self.assertEqual(20, op.foldl(operator.add, 10)(iters.range(5)))
     self.assertEqual(10, op.foldl(_ + _)(range(5)))
Esempio n. 13
0
 def test_pipe_partial(self):
     func = F() >> (iters.filter, _ < 6) >> sum
     self.assertEqual(15, func(iters.range(10)))
Esempio n. 14
0
    def test_lazy_slicing_recursive(self):
        s = Stream() << iters.range(10)
        sf = s[1:3][0:2]

        self.assertEqual(s.cursor(), 0)
        self.assertEqual(len(list(sf)), 2)
Esempio n. 15
0
 def test_splitat(self):
     before, after = iters.splitat(2, iters.range(5))
     self.assertEqual([0, 1], list(before))
     self.assertEqual([2, 3, 4], list(after))
Esempio n. 16
0
    def test_lazy_slicing_recursive(self):
        s = Stream() << iters.range(10)
        sf = s[1:3][0:2]

        self.assertEqual(s.cursor(), 0)
        self.assertEqual(len(list(sf)), 2)
Esempio n. 17
0
 def test_pipe_partial(self):
     func = F() >> (iters.filter, _ < 6) >> sum
     self.assertEqual(15, func(iters.range(10)))
Esempio n. 18
0
 def test_consume_limited(self):
     r = iters.range(10)
     self.assertEqual(10, len(list(r)))
     itr = iter(r)
     iters.consume(itr, 5)
     self.assertEqual(5, len(list(itr)))
Esempio n. 19
0
 def test_splitat(self):
     before, after = iters.splitat(2, iters.range(5))
     self.assertEqual([0,1], list(before))
     self.assertEqual([2,3,4], list(after))
Esempio n. 20
0
 def test_foldl(self):
     self.assertEqual(10, op.foldl(operator.add)([0,1,2,3,4]))
     self.assertEqual(20, op.foldl(operator.add, 10)([0,1,2,3,4]))
     self.assertEqual(20, op.foldl(operator.add, 10)(iters.range(5)))
     self.assertEqual(10, op.foldl(_ + _)(range(5)))