|
| 1 | +<script src="https://cdn.rawgit.com/osofem/assert.js/v0.0-beta0.3/assert.js"></script> |
| 2 | +<script src="../molecules.js"></script> |
| 3 | +<script> |
| 4 | +let ms = new Molecules(); |
| 5 | +assertDeepEqual(ms.getMolecules("H2O"), {H:2, O: 1}, "Water should be {H:2, O: 1}"); |
| 6 | +assertDeepEqual(ms.getMolecules("H2SO4"), {H:2, S: 1, O: 4}, "H2SO4 should be {H:2, O: 1}"); |
| 7 | +assertDeepEqual(ms.getMolecules("Mg(OH)2"), {Mg: 1, O: 2, H: 2}); |
| 8 | +assertDeepEqual(ms.getMolecules("K4[ON(SO3)2]2"), {K: 4, O: 14, N: 2, S: 4}); |
| 9 | +assertDeepEqual(ms.getMolecules("C6H12O6"), {C: 6, H: 12, O: 6}, "Glucose should be {C: 6, H: 12, O: 6}"); |
| 10 | +assertDeepEqual(ms.getMolecules("(C5H5) Fe (CO)2CH3"), {C: 8, H: 8, Fe: 1, O: 2}); |
| 11 | +assertDeepEqual(ms.getMolecules("{[Co(NH3)4(OH)2]3Co}(SO4)3"), {Co: 4, N: 12, H: 42, O: 18, S: 3}); |
| 12 | +assertDeepEqual(ms.getMolecules("C17H21NO4"), {C: 17, H: 21, N: 1, O: 4}, "Cocaine should be {C: 17, H: 21, N: 1, O: 4}"); |
| 13 | + |
| 14 | +//Should throw a syntax error because molecular formula starts with a digit |
| 15 | +let arg = ["2C17H21NO4"]; |
| 16 | +assertThrowError(ms.getMolecules, arg, SyntaxError); |
| 17 | +</script> |
0 commit comments