climlab / chemlib /source /tests /compound_test.py
ghh1125's picture
Upload 193 files
de52efb verified
Raw
History Blame Contribute Delete
799 Bytes
import unittest
import sys
sys.path.insert(1, '../chemlib')
from chemlib.chemistry import Compound, Reaction, empirical_formula_by_percent_comp
class TestFormulae(unittest.TestCase):
CMPDS = {
"H2SO4": {"H": 2, "S": 1, "O": 4},
"H2O": {'H': 2, 'O': 1},
"C6H12O6": {"C": 6, "H": 12, "O": 6},
"Al23": {"Al": 23},
"MnO4": {"Mn" : 1, "O": 4},
"Mg(SO4)2": {"Mg": 1, "S":2, "O":8},
"(Al)3(SO4)2": {"Al": 3, "S":2, "O":8},
"MnSMn": {"Mn": 2, "S":1},
"C2H5OH": {"C": 2, "H": 6, "O": 1}
}
def test_formulae(self):
for formula_str, formula_parsed in self.CMPDS.items():
self.assertEqual(Compound(formula_str).occurences, formula_parsed, msg=formula_str)
if __name__ == "__main__":
unittest.main()