1.5 KiB
1.5 KiB
Fixture Strategy
Purpose
GeoIntel needs small, repeatable fixtures so Codex can build and test without relying on huge external downloads.
Fixture principles
- Fixtures must be tiny.
- Fixtures must be deterministic.
- Fixtures must be documented.
- Fixtures must not pretend to be official data.
- Real-source providers can be added later without breaking tests.
Required V1 fixtures
reference_buildings.geojson
Purpose:
- reference building polygons for QA/QC tests.
Content:
- 3 to 10 simple polygons.
- one polygon matching a prediction exactly;
- one partially overlapping;
- one unmatched reference object.
predicted_buildings.geojson
Purpose:
- deterministic detection output fixture.
Content:
- one true positive exact/near match;
- one true positive partial match;
- one false positive;
- one low-confidence detection.
project_area.geojson
Purpose:
- test project area.
Content:
- polygon enclosing all reference/predicted fixtures.
tiny_raster.tif
Purpose:
- raster metadata and clipping tests.
Content:
- very small georeferenced raster if feasible.
- if not feasible initially, document missing fixture and provide tests for raster metadata with generated temporary raster.
Development providers
DevelopmentDetectionProvider
Returns predictions from predicted_buildings.geojson for a selected demo run.
LocalFixtureReferenceProvider
Returns reference_buildings.geojson as a cached reference layer.
Acceptance
The fixture strategy is complete when QA/QC tests can run fully offline.