Skip to content
Snippets Groups Projects
test_generic_api_functions.py 1.05 KiB
Newer Older
#! /usr/bin/env python
# -*- coding: utf-8 -*-

import pytest
import pandas as pd

from saqc.constants import *
David Schäfer's avatar
David Schäfer committed
from saqc.core.register import flagging
Bert Palm's avatar
Bert Palm committed
from saqc.funcs.tools import maskTime
Bert Palm's avatar
Bert Palm committed
from saqc import SaQC
Bert Palm's avatar
Bert Palm committed
from tests.common import initData, flagAll
Bert Palm's avatar
Bert Palm committed

David Schäfer's avatar
David Schäfer committed
flagging(masking="field")(flagAll)
def test_addFieldFlagGeneric(data):
    saqc = SaQC(data=data)
    func = lambda var1: pd.Series(False, index=data[var1.name].index)
Bert Palm's avatar
Bert Palm committed
    data, flags = saqc.genericFlag("tmp1", func, flag=BAD).getResult()
    assert "tmp1" in flags.columns and "tmp1" not in data
def test_addFieldProcGeneric(data):
    saqc = SaQC(data=data)
    func = lambda: pd.Series([])
Bert Palm's avatar
Bert Palm committed
    data, flags = saqc.genericProcess("tmp1", func, flag=BAD).getResult(raw=True)
    assert "tmp1" in data.columns and data["tmp1"].empty

    func = lambda var1, var2: var1 + var2
Bert Palm's avatar
Bert Palm committed
    data, flags = saqc.genericProcess("tmp2", func, flag=BAD).getResult()
    assert "tmp2" in data.columns and (data["tmp2"] == data["var1"] + data["var2"]).all(
        axis=None
    )