from pathlib import Path import sys ROOT = Path(__file__).resolve().parents[1] SCRIPTS = ROOT / "scripts" sys.path.insert(0, str(SCRIPTS)) from ag_pressure import build_layers, classify_ag_pressure_row # noqa: E402 def test_ag_pressure_is_modeled_not_allegation(): row = {"dataset": "usda_nass_county", "metric": "livestock_inventory"} state = classify_ag_pressure_row(row) assert state == "modeled_pressure" assert state != "polluter" def test_no_individual_farm_geometries_in_public_layer(): pressure, needs = build_layers( ROOT / "data_reference" / "ag_pressure_fixture.csv", ROOT / "data_reference" / "grower_collective_needs_fixture.csv", ROOT, ) assert "farm_id" not in pressure.columns assert "farm_id" not in needs.columns assert set(pressure["evidence_state"]) == {"modeled_pressure"} assert not pressure.empty assert not needs.empty def test_collective_needs_have_only_public_evidence_states(): _, needs = build_layers( ROOT / "data_reference" / "ag_pressure_fixture.csv", ROOT / "data_reference" / "grower_collective_needs_fixture.csv", ROOT, ) assert set(needs["evidence_state"]).issubset( {"operator_reported", "proxy_indicator"} ) assert "polluter" not in set(needs["evidence_state"]) assert needs["causation_disclaimer"].str.contains("not causation").all()