示例#1
0
文件: tests.py 项目: Gizmo707/fn.py
 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)))
示例#2
0
文件: tests.py 项目: Gizmo707/fn.py
    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))
示例#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))
示例#4
0
文件: tests.py 项目: Gizmo707/fn.py
    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)
示例#5
0
文件: tests.py 项目: pawroman/fn.py
    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)
示例#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))
示例#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)))
示例#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]))
示例#9
0
文件: tests.py 项目: Gizmo707/fn.py
    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))
示例#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]))
示例#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)))
示例#12
0
文件: tests.py 项目: pawroman/fn.py
 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)))
示例#13
0
文件: tests.py 项目: pawroman/fn.py
 def test_pipe_partial(self):
     func = F() >> (iters.filter, _ < 6) >> sum
     self.assertEqual(15, func(iters.range(10)))
示例#14
0
文件: tests.py 项目: pawroman/fn.py
    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)
示例#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))
示例#16
0
文件: tests.py 项目: Gizmo707/fn.py
    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)
示例#17
0
文件: tests.py 项目: Gizmo707/fn.py
 def test_pipe_partial(self):
     func = F() >> (iters.filter, _ < 6) >> sum
     self.assertEqual(15, func(iters.range(10)))
示例#18
0
文件: tests.py 项目: Gizmo707/fn.py
 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)))
示例#19
0
文件: tests.py 项目: Gizmo707/fn.py
 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))
示例#20
0
文件: tests.py 项目: Gizmo707/fn.py
 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)))