import pandas as pd

from strategies.mlp_temporal_features import inject_temporal_features, temporal_feature_cols


def test_temporal_features_are_causal_ema_companions():
    frame = pd.DataFrame({"stoch_norm": [0.0, 0.0, 1.0], "osc_norm": [0.0] * 3,
                          "m3_momentum_norm": [0.0] * 3, "vwap_div_norm": [0.0] * 3,
                          "oi_roc_norm": [0.0] * 3, "usdt_d_norm": [0.0] * 3,
                          "basis_norm": [0.0] * 3, "cvd_norm": [0.0] * 3,
                          "rvol_norm": [0.0] * 3, "bb_pct_b_norm": [0.0] * 3})

    added = inject_temporal_features(frame)

    assert added == temporal_feature_cols()
    assert frame["stoch_norm_ema3"].tolist() == [0.0, 0.0, 0.5]
    assert frame["stoch_norm_ema12"].tolist() == [0.0, 0.0, 2 / 13]
