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([])]))
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([])]))