import os import json import pytest from data_sources.base import ProvenanceType, DataRecord def test_training_dataset_is_synthetic(): """Verify that the synthetic dataset is clearly labeled and no observed data claims are made.""" assert os.path.exists("data/synthetic_spatial_training_data_2024_2025.csv"), "Synthetic dataset missing" # Check that generator script prints the synthetic warning with open("scripts/generate_real_kecamatan_dataset.py", "r") as f: content = f.read() assert "SYNTHETIC SIMULATION" in content assert "NOT real DLH/SIPSN observed data" in content def test_provenance_enums(): """Verify provenance classification enum exists and is correct.""" assert ProvenanceType.OBSERVED.value == "OBSERVED" assert ProvenanceType.SYNTHETIC.value == "SYNTHETIC" assert ProvenanceType.UNVERIFIED.value == "UNVERIFIED" def test_data_record_schema(): """Verify DataRecord requires provenance metadata.""" record = DataRecord( value=100.0, field_name="Volume", provenance=ProvenanceType.SYNTHETIC, source_name="Test Generator" ) d = record.to_dict() assert d["provenance"] == "SYNTHETIC" assert "fetched_at" in d