#! /usr/bin/env python # -*- coding: utf-8 -*- import pytest import numpy as np from saqc.funcs.constants_detection import flagConstants_VarianceBased from test.common import TESTFLAGGER, initData @pytest.fixture(scope='module') def data(): constants_data = initData( 1, start_date="2011-01-01 00:00:00", end_date="2011-01-01 03:00:00", freq="5min") constants_data.iloc[5:25] = 0 return constants_data @pytest.mark.parametrize('flagger', TESTFLAGGER) def test_flagConstants_VarianceBased(data, flagger): data.iloc[5:25] = 0 expected = np.arange(5, 25) field, *_ = data.columns flagger = flagger.initFlags(data) data, flagger_result = flagConstants_VarianceBased(data, field, flagger, plateau_window_min='1h') flag_result = flagger.getFlags(field) test_sum = (flag_result[expected] == flagger.BAD).sum() assert test_sum == len(expected)