Source code for isocor.tests.test_factory
"""Test the MetaboliteCorrectorFactory."""
import pytest
import isocor as hrcor
[docs]def test_MetaboliteCorrectorFactory(data_iso):
"""Test that the Factory can be instanciated safely."""
# Low resolution
x = hrcor.MetaboliteCorrectorFactory(
"C3H7O6P", '13C', data_isotopes=data_iso)
assert isinstance(x, hrcor.mscorrectors.LowResMetaboliteCorrector)
# High resolution
x = hrcor.MetaboliteCorrectorFactory("C3H7O6P", '13C', data_isotopes=data_iso,
resolution=1e4, mz_of_resolution=400, charge=1)
assert isinstance(x, hrcor.mscorrectors.HighResMetaboliteCorrector)
[docs]@pytest.mark.parametrize("bad_dataiso", [{'C': {}},
{'C': {'masses': [], 'abundance': []}},
{'C': {'mass': [12, 13],
'abundance': [1.]}},
{'C': {'mass': [12, 13],
'abundance': [1., 1.]}},
{'C': {'mass': [12, 14], 'abundance': [.5, .5]}}])
def test_isotopedata(bad_dataiso):
"""Tests expected to fail because of a badly formatted data_isotopes."""
with pytest.raises(ValueError):
hrcor.MetaboliteCorrectorFactory("C", '13C', data_isotopes=bad_dataiso)
[docs]def test_typo_factory(data_iso):
"""Test a typo in the name of one of the parameters (Factory)."""
with pytest.raises(ValueError):
hrcor.MetaboliteCorrectorFactory("C3PO", "13C",
wrong_data_isotopes_parameter=data_iso,
correct_NA_tracer=False,
derivative_formula=None,
tracer_purity=None)
[docs]def test_typo_parameter(data_iso):
"""Test a typo in the name of one of the parameters (LowRes)."""
with pytest.raises(TypeError):
hrcor.LowResMetaboliteCorrector("C3PO", "13C",
wrong_data_isotopes_parameter=data_iso,
correct_NA_tracer=False,
derivative_formula=None,
tracer_purity=None)
[docs]@pytest.mark.parametrize("kwargs", [
{"formula":"C", "tracer":'13C', "data_isotopes":None,
"resolution":"42o", "mz_of_resolution":420},
{"formula":"C", "tracer":'13C', "data_isotopes":None,
"resolution":"420", "mz_of_resolution":"42o"}
])
def test_badinput(kwargs, data_iso):
"""Test a wrong type of parameter value (Factory)."""
kwargs["data_isotopes"] = data_iso
with pytest.raises(ValueError):
hrcor.MetaboliteCorrectorFactory(**kwargs)