first commit

This commit is contained in:
2026-07-24 07:49:59 +02:00
parent edb261ee5c
commit c02110a82b
9 changed files with 452 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
import pandas as pd
import pytest
from data_processing import filter_by_date, hourly_average
@pytest.fixture
def sample_df():
return pd.DataFrame(
{
"timestamp": pd.to_datetime(
[
"2026-07-22 08:05",
"2026-07-22 08:40",
"2026-07-22 09:10",
"2026-07-23 08:05", # andere dag, moet uitgefilterd worden
]
),
"glucose_value": [6.0, 8.0, 7.0, 12.0],
}
)
def test_filter_by_date_keeps_only_selected_day(sample_df):
result = filter_by_date(sample_df, pd.Timestamp("2026-07-22").date())
assert len(result) == 3
assert (result["timestamp"].dt.date == pd.Timestamp("2026-07-22").date()).all()
def test_hourly_average_computes_mean_per_hour(sample_df):
filtered = filter_by_date(sample_df, pd.Timestamp("2026-07-22").date())
result = hourly_average(filtered)
hour_8 = result.loc[result["hour"] == 8, "glucose_value"].iloc[0]
hour_9 = result.loc[result["hour"] == 9, "glucose_value"].iloc[0]
assert hour_8 == pytest.approx(7.0) # gemiddelde van 6.0 en 8.0
assert hour_9 == pytest.approx(7.0)
def test_hourly_average_handles_empty_input():
empty = pd.DataFrame(columns=["timestamp", "glucose_value"])
result = hourly_average(empty)
assert result.empty
assert list(result.columns) == ["hour", "glucose_value"]
def test_hourly_average_only_returns_hours_with_data(sample_df):
filtered = filter_by_date(sample_df, pd.Timestamp("2026-07-22").date())
result = hourly_average(filtered)
# alleen uur 8 en 9 hebben data op deze dag, dus precies 2 rijen
assert len(result) == 2