Skip to content

test(one_d4): add DataFusionContractTest — SQL equivalence for all 16 motifs#1096

Merged
aaylward merged 4 commits intomainfrom
feat/motif-query-scaffold
Mar 8, 2026
Merged

test(one_d4): add DataFusionContractTest — SQL equivalence for all 16 motifs#1096
aaylward merged 4 commits intomainfrom
feat/motif-query-scaffold

Conversation

@aaylward
Copy link
Copy Markdown
Collaborator

@aaylward aaylward commented Mar 2, 2026

Summary

Adds DataFusionContractTest, a 33-test hermetic suite that seeds H2 with one game per motif and asserts that DataFusionSqlCompiler (inline SQL literals) produces identical result sets to SqlCompiler (JDBC ? bind params) for every ChessQL expression type.

Coverage:

  • All 11 stored motifs (PIN, CHECK, CROSS_PIN, SKEWER, PROMOTION, PROMOTION_WITH_CHECK, PROMOTION_WITH_CHECKMATE, BACK_RANK_MATE, SMOTHERED_MATE, ZUGZWANG, OVERLOADED_PIECE)
  • All 5 ATTACK-derived motifs (FORK, DISCOVERED_ATTACK, DISCOVERED_CHECK, CHECKMATE, DOUBLE_CHECK)
  • Comparison expressions: numeric (>=, <, =) and string (=, !=)
  • IN expressions: string and numeric
  • Boolean combinators: AND, OR, NOT
  • Sequence expressions (sequence(pin THEN check))
  • ORDER BY (motif_count(check) ASC/DESC)

Each test also asserts dfCompiler.parameters().isEmpty() — confirming no bind params are emitted.

Test plan

  • bazel test //domains/games/apis/one_d4:contract_tests — 33 tests pass
  • bazel test //domains/games/apis/one_d4/... — all 34 one_d4 tests pass

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Mar 2, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
1d4-web ce529c5 Commit Preview URL

Branch Preview URL
Mar 08 2026, 08:51 PM

… motifs

Seeds H2 with one game per motif (11 stored + 5 ATTACK-derived) and runs
every ChessQL expression type through both SqlCompiler and
DataFusionSqlCompiler, asserting identical result sets. Covers all 16
motifs, comparison, IN, AND/OR/NOT, sequence, and ORDER BY expressions.
@aaylward aaylward force-pushed the feat/motif-query-scaffold branch from 59ad721 to d1a210f Compare March 2, 2026 01:23
@aaylward aaylward changed the title feat: scaffold motif-query Rust service + DataFusion contract tests test(one_d4): add DataFusionContractTest — SQL equivalence for all 16 motifs Mar 2, 2026
@aaylward aaylward merged commit 691ad9d into main Mar 8, 2026
12 checks passed
@aaylward aaylward deleted the feat/motif-query-scaffold branch March 8, 2026 21:02
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.

1 participant