示例#1
0
    def test_collate(self):
        """Test collate_iters function"""
        indicies = [index(i) for i in [0, 1, 2, 3]]
        helper = lambda i: indicies[i]

        makeiter1 = lambda: iter(indicies)
        makeiter2 = lambda: map(helper, [0, 1, 3])
        makeiter3 = lambda: map(helper, [1, 2])

        outiter = patchdir.collate_iters([makeiter1(), makeiter2()])
        assert Iter.equal(outiter,
                          iter([(indicies[0], indicies[0]),
                                (indicies[1], indicies[1]),
                                (indicies[2], None),
                                (indicies[3], indicies[3])]))

        assert Iter.equal(patchdir.collate_iters([makeiter1(),
                                                 makeiter2(),
                                                 makeiter3()]),
                          iter([(indicies[0], indicies[0], None),
                                (indicies[1], indicies[1], indicies[1]),
                                (indicies[2], None, indicies[2]),
                                (indicies[3], indicies[3], None)]), 1)

        assert Iter.equal(patchdir.collate_iters([makeiter1(), iter([])]),
                          map(lambda i: (i, None), indicies))
        assert Iter.equal(map(lambda i: (i, None), indicies),
                          patchdir.collate_iters([makeiter1(), iter([])]))
示例#2
0
    def test_collate(self):
        u"""Test collate_iters function"""
        indicies = [index(i) for i in [0, 1, 2, 3]]
        helper = lambda i: indicies[i]

        makeiter1 = lambda: iter(indicies)
        makeiter2 = lambda: map(helper, [0, 1, 3])
        makeiter3 = lambda: map(helper, [1, 2])

        outiter = patchdir.collate_iters([makeiter1(), makeiter2()])
        assert Iter.equal(
            outiter,
            iter([(indicies[0], indicies[0]), (indicies[1], indicies[1]),
                  (indicies[2], None), (indicies[3], indicies[3])]))

        assert Iter.equal(
            patchdir.collate_iters([makeiter1(),
                                    makeiter2(),
                                    makeiter3()]),
            iter([(indicies[0], indicies[0], None),
                  (indicies[1], indicies[1], indicies[1]),
                  (indicies[2], None, indicies[2]),
                  (indicies[3], indicies[3], None)]), 1)

        assert Iter.equal(patchdir.collate_iters([makeiter1(),
                                                  iter([])]),
                          map(lambda i: (i, None), indicies))
        assert Iter.equal(map(lambda i: (i, None), indicies),
                          patchdir.collate_iters([makeiter1(),
                                                  iter([])]))