def test_formula_balance_subgroups_cancel_out(self): f1, f2 = Formula.balance(Formula.parse('H2(CH2)n'), Formula.parse('CH3O(CH2)n')) self.assertEqual(f1, Formula({ Atom('C'): 1, Atom('H'): 1, Atom('O'): 1 })) self.assertEqual(f2, Formula())
def test_formula_balance_missing_on_both_sides(self): f1, f2 = Formula.balance( Formula.parse('C3H6OH'), Formula.parse('CH6O2')) self.assertEqual(f1, Formula({Atom.O: 1})) self.assertEqual(f2, Formula({Atom.C: 2, Atom.H: 1}))
def test_formula_balance_missing_on_one_side(self): f1, f2 = Formula.balance(Formula.parse('H2O'), Formula.parse('OH')) self.assertEqual(f1, Formula()) self.assertEqual(f2, Formula({Atom.H: 1}))
def test_formula_balance_subgroups_cancel_out(self): f1, f2 = Formula.balance(Formula.parse('H2(CH2)n'), Formula.parse('CH3O(CH2)n')) self.assertEqual(f1, Formula({Atom('C'): 1, Atom('H'): 1, Atom('O'): 1})) self.assertEqual(f2, Formula())
def test_formula_balance_missing_on_both_sides(self): f1, f2 = Formula.balance(Formula.parse('C3H6OH'), Formula.parse('CH6O2')) self.assertEqual(f1, Formula({Atom('O'): 1})) self.assertEqual(f2, Formula({Atom('C'): 2, Atom('H'): 1}))
def test_formula_balance_missing_on_one_side(self): f1, f2 = Formula.balance(Formula.parse('H2O'), Formula.parse('OH')) self.assertEqual(f1, Formula()) self.assertEqual(f2, Formula({Atom('H'): 1}))