def test_synchronize_catch_former_bug2(self): ''' Given un-synched excludeList and excludePairs, verify that the synchronization will discover (correctly) that no pairs are left This prevents relapse of a bug captured in Jan 2013 ''' MT = MergeTracker(6) MT.excludeList = set([1, 4, 2, 3]) MT.excludePairs[0] = set([0, 1, 3, 4, 5]) MT.excludePairs[1] = set([0, 1, 2, 3, 4, 5]) MT.excludePairs[2] = set([0, 1, 2, 3, 4, 5]) MT.excludePairs[3] = set([0, 1, 2, 3, 4, 5]) MT.excludePairs[4] = set([0, 1, 2, 3, 4, 5]) MT.excludePairs[5] = set([0, 1, 3, 4, 5]) MT._synchronize_and_verify() for k in range(6): assert k in MT.excludeList assert not MT.hasAvailablePairs()