AquaGuard-RL / tests /conftest.py
Ashgen12's picture
Upload folder using huggingface_hub
7e69b8f verified
Raw
History Blame Contribute Delete
1.49 kB
# tests/conftest.py
"""pytest fixtures for AquaGuard-RL tests."""
import sys
import os
import pytest
# Add src to path
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "src"))
@pytest.fixture
def env():
"""Create and return a fresh AquaGuardEnvironment instance."""
from server.aquaguard_environment import AquaGuardEnvironment
return AquaGuardEnvironment()
@pytest.fixture
def env_reset(env):
"""Return environment after reset with baseline task."""
obs = env.reset(task="baseline", seed=42)
return env, obs
@pytest.fixture
def default_action():
"""Return a default valid AquaGuardAction."""
from models import AquaGuardAction
return AquaGuardAction()
@pytest.fixture
def conservative_action():
"""Return a water-conservative action."""
from models import AquaGuardAction
return AquaGuardAction(
crop_allocation={
"rice": 0.15, "wheat": 0.20, "millet": 0.30,
"pulses": 0.20, "oilseeds": 0.10, "vegetables": 0.05,
},
water_quotas={"zone_a": 600, "zone_b": 550, "zone_c": 500},
irrigation_methods={"zone_a": "drip", "zone_b": "drip", "zone_c": "drip"},
extraction_limits={"zone_a": 15.0, "zone_b": 12.0, "zone_c": 10.0},
subsidy_adjustments={"rice": -0.15, "wheat": -0.05, "millet": 0.15, "pulses": 0.10},
justification="Reducing water-intensive crops, deploying drip irrigation.",
)