From 67e27e322e597f9149a187e149f61edc428ad64e Mon Sep 17 00:00:00 2001 From: Ryan Kingsbury Date: Sat, 20 Jul 2024 10:54:40 -0400 Subject: [PATCH] additional tests --- src/pyEQL/utils.py | 16 +++++++++++----- tests/test_utils.py | 8 ++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/pyEQL/utils.py b/src/pyEQL/utils.py index c8d4cd22..f0263ca8 100644 --- a/src/pyEQL/utils.py +++ b/src/pyEQL/utils.py @@ -109,24 +109,30 @@ def standardize_formula(formula: str): # haloacetic acids of F, Cl, Br, I elif sform == "C2Cl3O2[-1]": sform = "CCl3COO[-1]" - elif sform == "C2F3O2[-1]": + elif sform == "C2O2F3[-1]": sform = "CF3COO[-1]" elif sform == "C2I3O2[-1]": sform = "CI3COO[-1]" elif sform == "C2Br3O2[-1]": sform = "CBr3COO[-1]" - # F+Cl + # Cl+F elif sform == "C2Cl2O2F[-1]": sform = "CFCl2COO[-1]" elif sform == "C2Cl(OF)2[-1]": sform = "CF2ClCOO[-1]" # Cl+Br - elif sform == "C2Cl2O2Br[-1]": - sform = "CFCl2COO[-1]" + elif sform == "C2Br(ClO)2[-1]": + sform = "CCl2BrCOO[-1]" elif sform == "C2Cl(OBr)2[-1]": - sform = "CF2ClCOO[-1]" + sform = "CClBr2ClCOO[-1]" + + # Cl+I + elif sform == "C2I(ClO)2[-1]": + sform = "CCl2ICOO[-1]" + elif sform == "C2Cl(OI)2[-1]": + sform = "CClI2COO[-1]" # TODO - consider adding recognition of special formulas like MeOH for methanol or Cit for citrate return sform diff --git a/tests/test_utils.py b/tests/test_utils.py index d4f163d4..3456fdf7 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -37,6 +37,14 @@ def test_standardize_formula(): # superscripts, subscripts, and permuted sign/charge number assert standardize_formula("PO₄³⁻") == "PO4[-3]" assert standardize_formula("Co²⁺") == "Co[+2]" + # haloacetic acids + assert standardize_formula("CCl3COO-") == "CCl3COO[-1]" + assert standardize_formula("CF3COO-") == "CF3COO[-1]" + assert standardize_formula("CI3COO-") == "CI3COO[-1]" + assert standardize_formula("CBr3COO-") == "CBr3COO[-1]" + assert standardize_formula("CCl2ICOO-") == "CCl2ICOO[-1]" + assert standardize_formula("CCl2BrCOO-") == "CCl2BrCOO[-1]" + assert standardize_formula("CCl2FCOO-") == "CFCl2COO[-1]" def test_formula_dict():