diff --git a/core.py b/core.py index 6260339cd529f4a103ad13743c4cd044a4576bf3..1c48cda43b91099348dd9fc99b846258516a0ab4 100644 --- a/core.py +++ b/core.py @@ -59,7 +59,6 @@ def runner(meta, flagger, data, flags=None, nodata=np.nan): if varname not in flags and (varname in data or varname not in data and assign is True): col_flags = flagger.initFlags(pd.DataFrame(index=data.index, columns=[varname])) flags = col_flags if flags.empty else flags.join(col_flags) - print(flags.columns.values) # NOTE: # the outer loop runs over the flag tests, the inner one over the diff --git a/test/common.py b/test/common.py index d4bd05aea77f167216908b40690ae8fdaf963cbf..ef27df36a70cb4c7d3d312a96e93ca89dd086e86 100644 --- a/test/common.py +++ b/test/common.py @@ -1,9 +1,14 @@ #! /usr/bin/env python # -*- coding: utf-8 -*- +import io +import re + import numpy as np import pandas as pd +from core import prepareMeta + def initData(cols=2, start_date="2017-01-01", end_date="2017-12-31", freq="1h"): dates = pd.date_range(start="2017-01-01", end="2017-12-31", freq="1h") @@ -12,3 +17,9 @@ def initData(cols=2, start_date="2017-01-01", end_date="2017-12-31", freq="1h"): for col in range(1, cols+1): data[f"var{col}"] = dummy*(col) return pd.DataFrame(data, index=dates) + + +def initMeta(metastring, data): + fobj = io.StringIO(re.sub("\n[ \t]+", "\n", metastring)) + meta = pd.read_csv(fobj) + return prepareMeta(meta, data) diff --git a/test/flagger/test_dmpflagger.py b/test/flagger/test_dmpflagger.py index c4c0491a543762dc35af49d64a601c8a530e9a0b..8f45288e8c011caa118e01ec52756d8b9704e12d 100644 --- a/test/flagger/test_dmpflagger.py +++ b/test/flagger/test_dmpflagger.py @@ -2,27 +2,27 @@ # -*- coding: utf-8 -*- import pandas as pd -from ..common import initData + +from ..common import initData, initMeta from core import runner, prepareMeta from flagger.dmpflagger import DmpFlagger, FlagFields def test_basic(): + flagger = DmpFlagger() data = initData() var1, var2, *_ = data.columns var1mean = data[var1].mean() var2mean = data[var2].mean() - meta = [ - [var1, f"generic, {{func: this < {var1mean}}}", "range, {min: 10, max: 20, comment: saqc}"], - [var2, f"generic, {{func: this > {var2mean}, cause: error}}"], - ] - meta = prepareMeta( - pd.DataFrame(meta, columns=["headerout", "Flag_1", "Flag_2"]), - data) + metastring = f""" + headerout, Flag_1, Flag_2 + {var1},"generic, {{func: this < {var1mean}}}","range, {{min: 10, max: 20, comment: saqc}}" + {var2},"generic, {{func: this > {var2mean}, cause: error}}" + """ + meta = initMeta(metastring, data) - flagger = DmpFlagger() data, flags = runner(meta, flagger, data) col1 = data[var1] @@ -47,14 +47,12 @@ def test_flagOrder(): fmin = flagger.flags.min() fmax = flagger.flags.max() - meta = [ - [var, f"generic, {{func: this > mean(this), flag: {fmax}}}"], - [var, f"generic, {{func: this >= min(this), flag: {fmin}}}"], - ] - - meta = prepareMeta( - pd.DataFrame(meta, columns=["headerout", "Flag_1"]), - data) + metastring = f""" + headerout,Flag + {var},"generic, {{func: this > mean(this), flag: {fmax}}}" + {var},"generic, {{func: this >= min(this), flag: {fmin}}}" + """ + meta = initMeta(metastring, data) pdata, pflags = runner(meta, flagger, data)