Commit Graph

4 Commits

Author SHA1 Message Date
Trey t
cf2f5b0dd8 test(08-02): add diversity coverage tests
Added 6 diversity tests to validate multi-dimensional route variety.
All tests pass, proving selectDiverseRoutes() produces varied results.

Tests validate:
- Game count diversity (2-3 games to 5+ games)
- City count diversity (2-3 cities to 4+ cities)
- Mileage diversity (short <500mi, medium 500-1000mi, long 1000+mi)
- Duration diversity (2-3 days to 5+ days)
- Bucket coverage (≥3 different game count buckets)
- No duplicate routes (unique game combinations)

Helper generateDiverseDataset() creates 50 games across 20 stadiums
over 14 days for realistic diversity testing.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 12:19:06 -06:00
Trey t
13be6ffca5 test(08-02): add performance tests with large datasets
Added 4 performance tests with 1K, 5K, 10K games to validate DAG
algorithm scalability. Tests currently failing (RED phase).

Tests:
- 1K games: <2s expected
- 5K games: <10s expected
- 10K games: <30s expected
- 10K games: memory stability

Helper generateLargeDataset() creates realistic test data with
distributed stadiums and games across time spans.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-10 11:58:51 -06:00
Trey t
02cb09f4e5 test(08-01): canTransition boundary tests and cleanup
Add 7 canTransition boundary tests:
- Same stadium same day 4 hours apart is feasible
- Different stadium 1000 miles apart same day is infeasible
- Different stadium 380 miles apart 2 days apart is feasible
- Different stadium 100 miles apart 4 hours available is feasible
- Different stadium 100 miles apart 1 hour available is infeasible
- Game end buffer (3 hour) validation
- Arrival buffer (1 hour) validation

Also removes broken DayCardTests that referenced types removed in
previous refactor (DayCard, DayConflictInfo).

Total: 17 GameDAGRouter edge case tests all passing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 11:51:38 -06:00
Trey t
a4db9a92eb test(08-01): GameDAGRouter edge case tests
Add 10 TDD tests for GameDAGRouter covering:
- Empty games array returns empty routes
- Single game returns single-game route
- Single game with non-matching anchor returns empty
- Two chronological feasible games returns combined route
- Two games too far apart same day returns separate routes
- Two games reverse chronological returns separate routes
- Three games with only feasible pairs returns valid combinations
- Anchor filtering excludes routes missing anchors
- Repeat cities OFF excludes same city twice
- Repeat cities ON allows same city twice

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 11:42:31 -06:00