Skip to content
Snippets Groups Projects

Translation cleanups

Merged David Schäfer requested to merge translation_cleanups into develop
All threads resolved!
1 file
+ 1
1
Compare changes
  • Side-by-side
  • Inline
@@ -16,7 +16,7 @@ import pytest
from saqc.constants import BAD, DOUBTFUL, FILTER_NONE, UNFLAGGED
from saqc.core.core import SaQC
from saqc.core.flags import Flags
from saqc.core.translation import DmpScheme, PositionalScheme, TranslationScheme
from saqc.core.translation import DmpScheme, MappingScheme, PositionalScheme
from tests.common import initData
@@ -27,7 +27,7 @@ def _genTranslators():
dtype(-1): BAD,
**{dtype(f * 10): float(f) for f in range(10)},
}
scheme = TranslationScheme(flags, {v: k for k, v in flags.items()})
scheme = MappingScheme(flags, {v: k for k, v in flags.items()})
yield flags, scheme
@@ -60,7 +60,7 @@ def test_backwardTranslation():
for _, scheme in _genTranslators():
keys = tuple(scheme._backward.keys())
flags = _genFlags({field: np.array(keys)})
translated = scheme.backward(flags)
translated = scheme.toExternal(flags)
expected = set(scheme._backward.values())
assert not (set(translated[field]) - expected)
@@ -72,7 +72,7 @@ def test_backwardTranslationFail():
# add an scheme invalid value to the flags
flags = _genFlags({field: np.array(keys + (max(keys) + 1,))})
with pytest.raises(ValueError):
scheme.backward(flags)
scheme.toExternal(flags)
def test_dmpTranslator():
@@ -94,7 +94,7 @@ def test_dmpTranslator():
{"func": "flagFoo", "kwargs": {"cause": "BELOW_OR_ABOVE_MIN_MAX"}}
)
tflags = scheme.backward(flags)
tflags = scheme.toExternal(flags)
assert set(tflags.columns.get_level_values(1)) == {
"quality_flag",
@@ -137,7 +137,7 @@ def test_positionalTranslator():
flags[1::3, "var1"] = DOUBTFUL
flags[2::3, "var1"] = BAD
tflags = scheme.backward(flags)
tflags = scheme.toExternal(flags)
assert (tflags["var2"].replace(-9999, np.nan).dropna() == 90).all(axis=None)
assert (tflags["var1"].iloc[1::3] == 90210).all(axis=None)
assert (tflags["var1"].iloc[2::3] == 90002).all(axis=None)
@@ -156,7 +156,7 @@ def test_positionalTranslatorIntegration():
for field in flags.columns:
assert flags[field].astype(str).str.match("^9[012]*$").all()
round_trip = scheme.backward(scheme.forward(flags))
round_trip = scheme.toExternal(scheme.toInternal(flags))
assert (flags.values == round_trip.values).all()
assert (flags.index == round_trip.index).all()
@@ -183,7 +183,7 @@ def test_dmpTranslatorIntegration():
assert qfunc.isin({"", "flagMissing", "flagRange"}).all(axis=None)
assert (qcause[qflags[col] == "BAD"] == "OTHER").all(axis=None)
round_trip = scheme.backward(scheme.forward(flags))
round_trip = scheme.toExternal(scheme.toInternal(flags))
assert round_trip.xs("quality_flag", axis="columns", level=1).equals(qflags)
@@ -276,8 +276,8 @@ def test_positionalMulitcallsPreserveState():
scheme = PositionalScheme()
flags1 = saqc1._flags
flags2 = saqc2._flags
tflags1 = scheme.backward(flags1).astype(str)
tflags2 = scheme.backward(flags2).astype(str)
tflags1 = scheme.toExternal(flags1).astype(str)
tflags2 = scheme.toExternal(flags2).astype(str)
for k in flags2.columns:
expected = tflags1[k].str.slice(start=1) * 2
Loading