def test_union_duplicates(self): """pairs_union: should work on flipped base pairs and duplicates """ p1 = Pairs([(3,10),(4,9),(5,8),(20,24)]) p2 = Pairs([(10,3),(4,9),(5,8),(9,4),(4,9),(23,30)]) self.assertEqualItems(pairs_union(p1,p2),\ [(3,10),(4,9),(5,8),(20,24),(23,30)]) # Conflicts, duplicates, None, pseudoknots p1 = Pairs([(3,10),(4,9),(5,8),(20,24),(22,26),(3,2),(9,4),(6,None)]) p2 = Pairs([(1,12),(4,9),(5,8)]) self.assertEqualItems(pairs_union(p1,p2),\ [(1,12),(3,10),(4,9),(5,8),(20,24),(22,26),(2,3)])
def test_pairs_union(self): """pairs_union: should work on simple case """ p1 = Pairs([(3, 10), (4, 9), (5, 8), (20, 24)]) p2 = Pairs([(1, 12), (4, 9), (5, 8)]) self.assertEqualItems(pairs_union(p1,p2),\ [(1,12),(3,10),(4,9),(5,8),(20,24)]) #works when one is empty p1 = Pairs([(3, 10), (4, 9), (5, 8), (20, 24)]) p2 = Pairs([]) self.assertEqualItems(pairs_union(p1, p2), p1) #works also on lists (not Pairs) p1 = [(3, 10), (4, 9), (5, 8), (20, 24)] p2 = [(1, 12), (4, 9), (5, 8)] self.assertEqualItems(pairs_union(p1,p2),\ [(1,12),(3,10),(4,9),(5,8),(20,24)])
def test_pairs_union(self): """pairs_union: should work on simple case """ p1 = Pairs([(3,10),(4,9),(5,8),(20,24)]) p2 = Pairs([(1,12),(4,9),(5,8)]) self.assertEqualItems(pairs_union(p1,p2),\ [(1,12),(3,10),(4,9),(5,8),(20,24)]) #works when one is empty p1 = Pairs([(3,10),(4,9),(5,8),(20,24)]) p2 = Pairs([]) self.assertEqualItems(pairs_union(p1,p2),p1) #works also on lists (not Pairs) p1 = [(3,10),(4,9),(5,8),(20,24)] p2 = [(1,12),(4,9),(5,8)] self.assertEqualItems(pairs_union(p1,p2),\ [(1,12),(3,10),(4,9),(5,8),(20,24)])