def testWriteAndParsePropertys(self): m = Cml.Molecule() m.atoms["a1"] = Cml.Atom("a1", "H", 0, 0, 0) m.property["Name"] = "Hydrogen" m.property["Weight"] = 1.0 m.property["Radius"] = 25 m.write("tests/testHydrogen.cml") m = Cml.Molecule() m.parse("tests/testHydrogen.cml") self.assertEqual(m.property["Name"], "Hydrogen") self.assertEqual(m.property["Weight"], 1.0) self.assertEqual(m.property["Radius"], 25) self.assertEqual(m.is_atom, True) os.remove("tests/testHydrogen.cml")
def testCreateMoleculeWithCharge(self): m = Cml.Molecule() a1 = Cml.Atom("a1", "C",-1, 0, 0) a2 = Cml.Atom("a2", "O", 1, 1, 0) m.atoms["a1"] = a1 m.atoms["a2"] = a2 b = Cml.Bond(a1, a2, 2) m.bonds.append(b) m.write("tests/testOxygen.cml") m = Cml.Molecule() m.parse("tests/testOxygen.cml") self.assertAlmostEqual(m.atoms["a1"].x, 0.0) self.assertAlmostEqual(m.atoms["a1"].y, 0.0) self.assertEqual(m.atoms["a1"].elementType, "C") self.assertEqual(m.atoms["a1"].formalCharge,-1) self.assertAlmostEqual(m.atoms["a2"].x, 1.0) self.assertAlmostEqual(m.atoms["a2"].y, 0.0) self.assertEqual(m.atoms["a2"].elementType, "O") self.assertEqual(m.atoms["a2"].formalCharge,1) self.assertEqual(m.bonds[0].atomA.id, "a1") self.assertEqual(m.bonds[0].atomB.id, "a2") self.assertEqual(m.bonds[0].bonds, 2) os.remove("tests/testOxygen.cml")