urban-meal-delivery/tests/forecasts/timify/test_avg_daily_demand.py

38 lines
1.1 KiB
Python
Raw Normal View History

"""Tests for the `OrderHistory.avg_daily_demand()` method."""
from tests import config as test_config
def test_avg_daily_demand_with_constant_demand(
order_history, good_pixel_id, predict_at,
):
"""The average daily demand must be the number of time steps ...
... if the demand is `1` at each time step.
Note: The `order_history` fixture assumes `12` time steps per day as it
uses `LONG_TIME_STEP=60` as the length of a time step.
"""
result = order_history.avg_daily_demand(
pixel_id=good_pixel_id,
predict_day=predict_at.date(),
train_horizon=test_config.LONG_TRAIN_HORIZON,
)
assert result == 12.0
def test_avg_daily_demand_with_no_demand(
order_history, good_pixel_id, predict_at,
):
"""Without demand, the average daily demand must be `0.0`."""
order_history._data.loc[:, 'n_orders'] = 0
result = order_history.avg_daily_demand(
pixel_id=good_pixel_id,
predict_day=predict_at.date(),
train_horizon=test_config.LONG_TRAIN_HORIZON,
)
assert result == 0.0