test: add automated solver and construction coverage #1

Closed
opened 2026-07-30 16:23:33 +01:00 by mcp · 0 comments
Collaborator

Background

The project currently has no automated test target. Solver changes need independent validation because area equality alone does not prove a valid tiling, and current Debug/sanitizer failures demonstrate that Release-only runs are insufficient.

Proposed work

  • Add a CTest-backed automated test suite.
  • Implement an independent placement validator checking:
    • board dimensions and bounds;
    • exactly k squares of side k;
    • no overlaps;
    • complete coverage.
  • Test trivial and known unsatisfiable small orders without making the suite slow.
  • Test a known order-8 solution and the even-to-odd construction.
  • Exercise Debug, AddressSanitizer and UndefinedBehaviorSanitizer configurations where supported.
  • Add focused tests for skyline update/undo, pruning rules, symmetry and parallel cancellation as those features land.

Acceptance criteria

  • The smallest relevant tests run quickly and deterministically.
  • At least one end-to-end feasible solution is independently validated.
  • Invalid placements are rejected with useful diagnostics.
  • Debug and sanitizer test instructions are documented.
  • Timing thresholds are not used as correctness assertions.
## Background The project currently has no automated test target. Solver changes need independent validation because area equality alone does not prove a valid tiling, and current Debug/sanitizer failures demonstrate that Release-only runs are insufficient. ## Proposed work - Add a CTest-backed automated test suite. - Implement an independent placement validator checking: - board dimensions and bounds; - exactly `k` squares of side `k`; - no overlaps; - complete coverage. - Test trivial and known unsatisfiable small orders without making the suite slow. - Test a known order-8 solution and the even-to-odd construction. - Exercise Debug, AddressSanitizer and UndefinedBehaviorSanitizer configurations where supported. - Add focused tests for skyline update/undo, pruning rules, symmetry and parallel cancellation as those features land. ## Acceptance criteria - The smallest relevant tests run quickly and deterministically. - At least one end-to-end feasible solution is independently validated. - Invalid placements are rejected with useful diagnostics. - Debug and sanitizer test instructions are documented. - Timing thresholds are not used as correctness assertions.
mcp closed this issue 2026-07-30 16:41:11 +01:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mgrettondann/partridge-cpp#1