3 Commits

Author SHA1 Message Date
Trey T
a6f538dfed Audit and fix 52 test correctness issues across 22 files
Systematic audit of 1,191 tests found tests written to pass rather than
verify correctness. Key fixes:

Infrastructure:
- TestClock: fixed timezone from .current to America/New_York (deterministic)
- TestFixtures: added 1.3x road routing factor to match production
- ItineraryTestHelpers: real per-city coordinates instead of hardcoded (40,-80)

Planning tests:
- Added missing Scenario E factory dispatch tests
- Tightened 12 loose assertions (>= 1 → == 8.0, > 0 → range checks)
- Fixed 4 no-op tests that accepted both success and failure
- Fixed wrong repeat-city invariant (was checking same-day, not different-day)
- Fixed tautological assertion in missing-stadium edge case

Services/Domain/Export tests:
- Replaced 4 placeholder tests (#expect(true)) with real assertions
- Fixed tautological assertions in POISearchServiceTests
- Fixed Chicago coordinate in RegionMapSelectorTests (-89 → -87.6553)
- Added sort order verification to ItineraryRowFlatteningTests

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 23:00:46 -05:00
Trey T
9b622f8bbb Harden planning test suite with realistic fixtures and output sanity checks
Adds messy/realistic data factories to TestFixtures, new PlannerOutputSanityTests,
and updates all scenario planner tests with improved coverage and assertions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 13:38:41 -05:00
Trey T
db6ab2f923 Implement 4-phase improvement plan with TDD verification + travel integrity tests
- Phase 1: Verify broken filter fixes (route preference, region filtering,
  must-stop, segment validation) — all already implemented, 8 TDD tests added
- Phase 2: Verify guard rails (no fallback distance, same-stadium gap,
  overnight rest, exclusion warnings) — all implemented, 12 TDD tests added
- Phase 3: Fix 2 timezone edge case tests (use fixed ET calendar), verify
  driving constraints, filter cascades, anchors, interactions — 5 tests added
- Phase 4: Add sortByRoutePreference() for post-planning re-sort, verify
  inverted date range rejection, empty sports warning, region boundaries — 8 tests
- Travel Integrity: 32 tests verifying N stops → N-1 segments invariant
  across all 5 scenario planners, ItineraryBuilder, isValid, and engine gate

New: sortByRoutePreference() on ItineraryOption (Direct/Scenic/Balanced)
Fixed: TimezoneEdgeCaseTests now timezone-independent

1199 tests, 0 failures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 09:37:19 -05:00