def test_synciter1(self): left = (1, 2, 4, 5) right = (2, 3, 5, 6, 7) onlyright = [] onlyleft = [] keyequal = [] for a, b in mrepo.synciter(left, right): # print "%s, %s, %s" % ( a, b, k ) if a is None: onlyright.append(b) elif b is None: onlyleft.append(a) else: keyequal.append(a) self.assertEqual(onlyright, [3, 6, 7]) self.assertEqual(onlyleft, [1, 4]) self.assertEqual(keyequal, [2, 5])
def test_synciter2(self): left = ((1, 'l1'), (2, 'l2'), (4, 'l4'), (5, 'l5')) right = ((2, 'r2'), (3, 'r3'), (5, 'r5'), (6, 'r6'), (7, 'r7')) onlyright = [] onlyleft = [] keyequal = [] # key is the first element for a, b in mrepo.synciter(left, right, key=lambda x: x[0]): if a is None: onlyright.append(b) elif b is None: onlyleft.append(a) else: keyequal.append((a, b)) self.assertEqual(onlyright, [(3, 'r3'), (6, 'r6'), (7, 'r7')]) self.assertEqual(onlyleft, [(1, 'l1'), (4, 'l4')]) self.assertEqual(keyequal, [((2, 'l2'), (2, 'r2')), ((5, 'l5'), (5, 'r5'))])
def test_synciter1(self): left = ( 1, 2, 4, 5 ) right = ( 2, 3, 5, 6, 7 ) onlyright = [] onlyleft = [] keyequal = [] for a, b in mrepo.synciter(left, right): # print "%s, %s, %s" % ( a, b, k ) if a is None: onlyright.append(b) elif b is None: onlyleft.append(a) else: keyequal.append(a) self.assertEqual(onlyright, [3, 6, 7]) self.assertEqual(onlyleft, [1, 4]) self.assertEqual(keyequal, [2, 5])
def test_synciter2(self): left = ( (1, 'l1'), (2, 'l2'), (4, 'l4'), (5, 'l5') ) right = ( (2, 'r2'), (3, 'r3'), (5, 'r5'), (6, 'r6'), (7, 'r7') ) onlyright = [] onlyleft = [] keyequal = [] # key is the first element for a, b in mrepo.synciter(left, right, key = lambda x: x[0]): if a is None: onlyright.append(b) elif b is None: onlyleft.append(a) else: keyequal.append((a, b)) self.assertEqual(onlyright, [(3, 'r3'), (6, 'r6'), (7, 'r7')]) self.assertEqual(onlyleft, [(1, 'l1'), (4, 'l4')]) self.assertEqual(keyequal, [((2, 'l2'), (2, 'r2')), ((5, 'l5'), (5, 'r5'))])