diff --git a/interfaces/cython/cantera/test/test_thermo.py b/interfaces/cython/cantera/test/test_thermo.py index b91a988fe..eb46af930 100644 --- a/interfaces/cython/cantera/test/test_thermo.py +++ b/interfaces/cython/cantera/test/test_thermo.py @@ -123,7 +123,7 @@ class TestThermoPhase(utilities.CanteraTest): self.assertEqual(list(X[0,:,0]), list(Y)) def test_setCompositionString(self): - self.phase.X = 'h2:1.0, o2:1.0' + self.phase.X = 'H2:1.0, O2:1.0' X = self.phase.X self.assertNear(X[0], 0.5) self.assertNear(X[3], 0.5) @@ -161,7 +161,7 @@ class TestThermoPhase(utilities.CanteraTest): self.assertNear(Y[3], 0.75) def test_getCompositionDict(self): - self.phase.X = 'oh:1e-9, O2:0.4, AR:0.6' + self.phase.X = 'OH:1e-9, O2:0.4, AR:0.6' self.assertEqual(len(self.phase.mole_fraction_dict(1e-7)), 2) self.assertEqual(len(self.phase.mole_fraction_dict()), 3) @@ -202,7 +202,7 @@ class TestThermoPhase(utilities.CanteraTest): self.phase.Y = {'H2':1.0, 'O2':'xx'} def test_setCompositionSlice(self): - self.phase['h2', 'o2'].X = 0.1, 0.9 + self.phase['H2', 'O2'].X = 0.1, 0.9 X = self.phase.X self.assertNear(X[0], 0.1) self.assertNear(X[3], 0.9) @@ -1253,6 +1253,35 @@ class TestMisc(utilities.CanteraTest): with self.assertRaises(AttributeError): ct.Solution(3) + def test_case_sensitive_names(self): + gas = ct.Solution('h2o2.xml') + self.assertFalse(gas.case_sensitive_species_names) + self.assertTrue(gas.species_index('h2') == 0) + + gas.case_sensitive_species_names = True + self.assertTrue(gas.case_sensitive_species_names) + with self.assertRaises(ValueError): + gas.species_index('h2') + with self.assertRaisesRegex(ct.CanteraError, 'Unknown species'): + gas.X = 'h2:1.0, o2:1.0' + with self.assertRaisesRegex(ct.CanteraError, 'Unknown species'): + gas.Y = 'h2:1.0, o2:1.0' + + gas_cti = """ideal_gas( + name="gas", + elements=" S C Cs ", + species=" nasa: all ", + options=["skip_undeclared_elements"], + initial_state=state(temperature=300, pressure=(1, "bar")) + )""" + ct.suppress_thermo_warnings(True) + gas = ct.Solution(source=gas_cti) + with self.assertRaisesRegex(ct.CanteraError, 'is not unique'): + gas.species_index('cs') + gas.case_sensitive_species_names = True + with self.assertRaises(ValueError): + gas.species_index('cs') + class TestElement(utilities.CanteraTest): @classmethod diff --git a/test/thermo/ThermoPhase_Test.cpp b/test/thermo/ThermoPhase_Test.cpp index 21a64c86f..ad60e781e 100644 --- a/test/thermo/ThermoPhase_Test.cpp +++ b/test/thermo/ThermoPhase_Test.cpp @@ -40,7 +40,7 @@ TEST_F(TestThermoMethods, getMoleFractionsByName) EXPECT_DOUBLE_EQ(X["H2"], 0.3); EXPECT_DOUBLE_EQ(X["AR"], 0.5); - thermo->setMoleFractionsByName("OH:1e-9, O2:0.2, h2:0.3, AR:0.5"); + thermo->setMoleFractionsByName("OH:1e-9, O2:0.2, H2:0.3, AR:0.5"); X = thermo->getMoleFractionsByName(); EXPECT_EQ(X.size(), (size_t) 4); diff --git a/test/thermo/phaseConstructors.cpp b/test/thermo/phaseConstructors.cpp index f9808be6e..2deea16eb 100644 --- a/test/thermo/phaseConstructors.cpp +++ b/test/thermo/phaseConstructors.cpp @@ -299,7 +299,7 @@ TEST_F(ConstructFromScratch, addUndefinedElements) ASSERT_EQ((size_t) 4, p.nSpecies()); ASSERT_EQ((size_t) 3, p.nElements()); ASSERT_EQ((size_t) 1, p.nAtoms(p.speciesIndex("CO2"), p.elementIndex("C"))); - ASSERT_EQ((size_t) 2, p.nAtoms(p.speciesIndex("co2"), p.elementIndex("O"))); + ASSERT_EQ((size_t) 2, p.nAtoms(p.speciesIndex("CO2"), p.elementIndex("O"))); p.setMassFractionsByName("H2:0.5, CO2:0.5"); ASSERT_DOUBLE_EQ(0.5, p.massFraction("CO2")); }