def test_build_pairs_from_groups_simpleDiad(self):
     leftA = MockSplitRead("key1", "L", "leftA", "leftFormattedRead")
     rightA = MockSplitRead("key1", "L", "rightA", "rightFormattedRead")     
     groups = {'key1':([leftA],[rightA])}
     
     actual_pairs = _build_pairs_from_groups(groups, MockLogger()) 
     expected=[(leftA, rightA)]
     self.assertEqual(1, len(actual_pairs))
     self.assertEqual(expected, actual_pairs['key1'])
    def test_build_pairs_from_groups(self):
        leftA = MockSplitRead("key1", "L", "leftA", "leftFormattedRead")
        leftB = MockSplitRead("key1", "L", "leftB", "leftFormattedRead")
        rightA = MockSplitRead("key1", "R", "rightA", "rightFormattedRead")     
        rightB = MockSplitRead("key1", "R", "rightB", "rightFormattedRead")     

        groups = {'key1':([leftA, leftB], [rightA, rightB])}
        
        actual_pairs = _build_pairs_from_groups(groups, MockLogger()) 
    
        self.assertEqual(1, len(actual_pairs))
        ordered_actual_pairs = sorted(actual_pairs['key1'], key=lambda pair: (pair[0]._name, pair[1]._name))
        ordered_expected_pairs = [(leftA, rightA), (leftA, rightB), (leftB, rightA), (leftB, rightB)]
    
        self.assertEqual(4, len(ordered_actual_pairs))
        self.assertEqual(ordered_expected_pairs, ordered_actual_pairs)