예제 #1
0
 def test_divide_fract_to_frac_wrog(self):
     self.assertFalse(
         divide_chemical_expression("6/2CO2 + H2O", "2H2O+9/6CO2"), 2)
예제 #2
0
 def test_divide_order(self):
     self.assertEqual(divide_chemical_expression("2CO2 + H2O", "2H2O+4CO2"),
                      Fraction(1, 2))
예제 #3
0
 def test_divide_fract_to_frac(self):
     self.assertEqual(
         divide_chemical_expression("3/4CO2 + H2O", "2H2O+9/6CO2"),
         Fraction(1, 2))
예제 #4
0
 def test_divide_wrong_phases(self):
     self.assertFalse(
         divide_chemical_expression("H2O(s) + CO2", "2H2O+2CO2(s)"))
예제 #5
0
 def test_divide_wrong_phases_but_phases_ignored(self):
     self.assertEqual(
         divide_chemical_expression("H2O(s) + CO2",
                                    "2H2O+2CO2(s)",
                                    ignore_state=True), Fraction(1, 2))
예제 #6
0
 def test_divide_right_phases(self):
     self.assertEqual(
         divide_chemical_expression("H2O(s) + CO2", "2H2O(s)+2CO2"),
         Fraction(1, 2))
예제 #7
0
 def test_divide_right_phases_other_order(self):
     self.assertEqual(
         divide_chemical_expression("2H2O(s) + 2CO2", "H2O(s)+CO2"), 2)
예제 #8
0
 def test_divide_right_simple(self):
     self.assertEqual(divide_chemical_expression("H2O + CO2", "H2O+CO2"), 1)
예제 #9
0
 def test_divide_wrong_reagents(self):
     self.assertFalse(divide_chemical_expression("H2O + CO2", "CO2"))
예제 #10
0
 def test_divide_right(self):
     self.assertEqual(
         divide_chemical_expression("5(H1H212)^70010- + 10H2O",
                                    "10H2O + 5(H1H212)^70010-"), 1)
예제 #11
0
 def test_divide_wrong_factors(self):
     self.assertFalse(
         divide_chemical_expression("5(H1H212)^70010- + 10H2O",
                                    "5H2O + 10(H1H212)^70010-"))
예제 #12
0
 def test_divide_by_zero(self):
     self.assertFalse(divide_chemical_expression("0H2O", "H2O"))