from pathlib import Path import sys import pytest SCRIPTS = Path(__file__).resolve().parents[1] / "scripts" sys.path.insert(0, str(SCRIPTS)) from water_metrics import calculate_instantaneous_load_kg_day # noqa: E402 def test_calculates_load_from_milligrams_per_litre_and_cubic_metres_per_second(): load = calculate_instantaneous_load_kg_day( concentration=1.0, concentration_unit="mg/L", discharge=1.0, discharge_unit="m3/s", ) assert load == pytest.approx(86.4) def test_missing_discharge_is_not_treated_as_zero(): with pytest.raises(ValueError, match="Missing discharge"): calculate_instantaneous_load_kg_day( concentration=0.1, concentration_unit="mg/L", discharge=None, discharge_unit="m3/s", )