def test_reverse_transformations(self):
     """Tests for reverse_transformations()"""
     transformations = {'e': ['H', 'O'], 'H': ['HO', 'OH'], 'O': ['HH']}
     reverse = p19.reverse_transformations(transformations)
     self.assertIn('e', reverse['H'])
     self.assertIn('e', reverse['O'])
     self.assertIn('H', reverse['HO'])
     self.assertIn('H', reverse['OH'])
     self.assertIn('O', reverse['HH'])
 def test_greedy_reversal(self):
     """Tests for greedy_reversal()"""
     transformations = {'e': ['H', 'O'], 'H': ['HO', 'OH'], 'O': ['HH']}
     reverse = p19.reverse_transformations(transformations)
     self.assertEquals(3, p19.greedy_reversal('HOH', reverse))
     self.assertEquals(6, p19.greedy_reversal('HOHOHO', reverse))
 def test_steps_reverse_molecule(self):
     """Tests for reverse_engineer_molecule()"""
     transformations = {'e': ['H', 'O'], 'H': ['HO', 'OH'], 'O': ['HH']}
     reverse = p19.reverse_transformations(transformations)
     self.assertEquals(3, p19.steps_to_reverse_molecule('HOH', reverse))
     self.assertEquals(6, p19.steps_to_reverse_molecule('HOHOHO', reverse))