コード例 #1
0
ファイル: pipes_test.py プロジェクト: kaste/useless.pipes
    def testAWorkerCanHaveLocalVars(self):
        items = ["a", "b", "a"]
        w = unique()
        pipe = items | add("C") | w

        got = [i for i in pipe]
        expected = ["aC", "bC"]
        self.assertEqual(got, expected)
コード例 #2
0
ファイル: pipes_test.py プロジェクト: kaste/useless.pipes
    def testSorted(self):
        items = ["a", "b", "a"]

        @consumer
        def s(ITEMS, **kw):
            return sorted(ITEMS, **kw)

        s = lambda items, **kw: sorted(items, **kw)
        s = consumer(lambda items, **kw: sorted(items, **kw))
        pipe = items | unique() | s(reverse=True)

        self.assertEqual(pipe, ["b", "a"])
コード例 #3
0
ファイル: pipes_test.py プロジェクト: kaste/useless.pipes
    def testSideeffect(self):
        l = []

        @worker
        def effect(ITEMS, list_):
            for i in ITEMS:
                list_.append(i)
                yield i

        items = [1, 2, 3]
        pipe = items | effect(l) | unique()
        pipe |= as_list()

        self.assertEqual(l, items)
コード例 #4
0
ファイル: pipes_test.py プロジェクト: kaste/useless.pipes
    def testChainability(self):
        u2 = consumer(lambda items: items | unique())

        self.assertEqual([1, 2, 2, 3] | u2() | as_list(), [1, 2, 3])
コード例 #5
0
ファイル: pipes_test.py プロジェクト: kaste/useless.pipes
 def testShorthandConsumers(self):
     items = ["a", "b", "a"]
     pipe = items | unique() | list
     self.assertEqual(pipe, ["a", "b"])