Source code for energy_analysis_toolbox.tests.tests_load_profile.test_relative
"""Tests for the ``RelativeThreshold``.
"""
import pandas as pd
from energy_analysis_toolbox.timeseries.profiles.thresholds.relative import (
RelativeThreshold,
)
from .check import compare_profiles
from .fake_data import sinusoid_history
[docs]
def test_daily_1():
"""Check that 0 relative offset falls back to mean profile"""
history = sinusoid_history(freq="30min", noise=0, n_days=7)
profile = RelativeThreshold(period="D", offset_relative=0)
daily = profile.compute(history, history.index[-1].ceil("D"))
expected = history.iloc[:48].copy()
expected.index += 7 * pd.Timedelta("1D")
compare_profiles(daily, expected)
[docs]
def test_daily_2():
"""Check with 30% relative offset on periodic time-series."""
history = sinusoid_history(freq="30min", noise=0, n_days=7)
profile = RelativeThreshold(period="D", offset_relative=0.3)
daily = profile.compute(history, history.index[-1].ceil("D"))
expected = history.iloc[:48].copy() * 1.3
expected.index += 7 * pd.Timedelta("1D")
compare_profiles(daily, expected)