def merge_file(filename): data = Data(filename) output = data.get('OUTPUT') collections = data.collections() merge = Merge(collections) generator = merge.generator() return (generator, output)
def test_infinity(self): def infinity(value): while True: yield value merge = Merge((infinity(1), infinity(2))) generator = merge.generator() assert next(generator) == 1
def test_range(self): cnt = 5 lists = [iter(xrange(sys.maxint)) for _ in range(cnt)] merge = Merge(lists) generator = merge.generator() for value in range(10): for _ in range(cnt): assert next(generator) == value
def test_numbers(self): lists = ((1, 2), (2, 3, 5), (3, 4)) lists = [iter(l) for l in lists] merge = Merge(lists) generator = merge.generator() assert list(generator) == [1, 2, 2, 3, 3, 4, 5]
def test_strings(self): lists = (("b", "e"), ("c", "d"), ("a", "z")) lists = [iter(l) for l in lists] merge = Merge(lists) generator = merge.generator() assert list(generator) == ['a', 'b', 'c', 'd', 'e', 'z']