Skip to content

test(geojson): verify EMPTY MultiPoint rejection with spatial-types alpha.2 - #20

Merged
Alexandre-T merged 2 commits into
mainfrom
test/11-geojson-empty-multipoint
Sep 21, 2026
Merged

Alexandre-T merged 2 commits into
mainfrom
test/11-geojson-empty-multipoint

Conversation

@Alexandre-T

@Alexandre-T Alexandre-T commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Refs #11. MultiPoint EMPTY-member rejection was implemented in #18, but spatial-types alpha.1 prevented constructing the real inputs needed to verify AC4/AC5. Requiring the approved 0.0.1-alpha.2 release enables eight explicit tests covering Geometry and Geography, XY and XYZ, mixed non-empty/EMPTY members and aggregates containing only EMPTY points.

Each test constructs real Point and MultiPoint objects before expecting UnsupportedGeometryStructureException from Writer. No fixtures bypass model invariants, and no runtime writer code changes are needed. Existing empty-aggregate tests continue to verify that zero members remain accepted. English strategy documentation and the test guide now describe the supported model and rejection behavior.

Validation with the declared alpha.2 dependency, using standard autoloading:

  • vendor/bin/phpunit --no-coverage --filter GeoJson: 112 tests, 438 assertions passed.
  • composer test: 832 tests, 1210 assertions passed.
  • composer quality: passed; existing PHPMD/PDepend deprecation notices remain. PHP CS Fixer required execution outside the sandbox for its local worker socket.
  • git diff --check: passed.

The serialization rule follows the already approved #11 contract for RFC 7946 MultiPoint geometries. No new normative interpretation or architecture decision is introduced. The exact dependency requirement changes from 0.0.1-alpha.1 to 0.0.1-alpha.2, explicitly approved by Alexandre; consumers must resolve alpha.2. Writer public APIs and serialization behavior remain unchanged, with no additional breaking change. vendor/ and the ignored composer.lock are not committed.

No reviewer was launched or requested, per Alexandre's instruction. Independent review and merge remain outstanding; story #11 is not marked Done.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (96742f9) to head (7b4a0eb).

Additional details and impacted files
@@              Coverage Diff              @@
##               main       #20      +/-   ##
=============================================
+ Coverage     99.65%   100.00%   +0.34%     
  Complexity      156       156              
=============================================
  Files            14        14              
  Lines           287       287              
=============================================
+ Hits            286       287       +1     
+ Misses            1         0       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Alexandre-T Alexandre-T changed the title test(geojson): cover empty MultiPoint members test(geojson): verify EMPTY MultiPoint rejection with spatial-types alpha.2 Sep 21, 2026
@Alexandre-T
Alexandre-T marked this pull request as ready for review September 21, 2026 16:52
@Alexandre-T
Alexandre-T merged commit 4340529 into main Sep 21, 2026
3 checks passed
@Alexandre-T
Alexandre-T deleted the test/11-geojson-empty-multipoint branch September 21, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants