name: validation-testing
description: "Use when validating GeoPandas outputs, using geopandas.testing
assertions, designing fixtures, or selecting focused GeoPandas repository
tests."
disable-model-invocation: true
metadata:
disco-role: operating
license: BSD 3-Clause
Validation and Testing
Use this sub-skill when the task is about proving GeoPandas results are correct, writing assertions for geometry-aware outputs, or maintaining/testing the GeoPandas repository.
Read First
- Testing reference:
geopandas.testing assertion helper behavior, equality options, fixture design, and output comparison patterns.
- Maintainer workflows: focused test selection, optional dependency awareness, contributor-oriented checks, and when not to run expensive/service tests.
- Troubleshooting: assertion mismatches, CRS/index/order differences, optional dependency skips, and service/network test boundaries.
- geopandas_assertion_demo.py: tiny demonstration of
assert_geodataframe_equal and deliberate mismatch handling.
Route Here When
- The user asks how to compare two
GeoDataFrame or GeoSeries objects in tests.
- The task mentions
geopandas.testing.assert_geodataframe_equal, assert_geoseries_equal, geometry equality tolerance, CRS/index checking, or expected output fixtures.
- The user is editing the GeoPandas repository and needs focused pytest commands or optional-dependency triage.
- A result from
core-data-model, io-formats, spatial-operations, or mapping-geocoding needs assertion-backed validation.
Route Elsewhere
- Use
../core-data-model/SKILL.md for object construction and CRS semantics.
- Use
../io-formats/SKILL.md for I/O workflow behavior before asserting round trips.
- Use
../spatial-operations/SKILL.md for analysis logic before comparing outputs.
- Use
../mapping-geocoding/SKILL.md for plot/geocoding optional dependencies before validation.
Default Operating Rules
- Prefer
geopandas.testing helpers over raw pandas equality for geometry-aware objects.
- Choose equality flags deliberately: CRS, index type/order, geometry type, coordinate tolerance, and column order can all matter differently by task.
- Keep fixtures tiny, explicit, and CRS-labeled.
- When testing optional workflows, distinguish missing optional dependency skips from real failures.
- Avoid full test-suite runs unless the user asks and the environment has the needed optional/service dependencies.
- For repository maintenance, start with focused tests around changed behavior, then broaden only when failures or risk justify it.
Minimal Check
python scripts/geopandas_assertion_demo.py
Expected high-level signal: the script passes equal GeoDataFrame assertions, catches an intentional CRS mismatch, and reports the assertion helper behavior.
Handoff
- Use this sub-skill at the end of a workflow to turn expected GeoPandas outputs into assertions.
- For production verification of this generated skill, pair its scripts with selected native tests and integration cases from the review artifacts.