feat: expand sudoku analysis and interoperability

This commit is contained in:
2026-08-30 23:21:56 +02:00
parent 4a9869baa0
commit 8ca9300ab3
73 changed files with 12482 additions and 384 deletions
+14 -5
View File
@@ -11,11 +11,16 @@ import {
} from "../../src/solver";
describe("bundled original samples", () => {
it.each(SAMPLE_PUZZLES)("ships $title as a unique puzzle", (puzzle) => {
const result = solveExact(puzzle, { maxSolutions: 2 });
expect(result.count).toBe(1);
expect(result.truncated).toBe(false);
});
const fastUniquenessSamples = SAMPLE_CATALOG.map(({ puzzle }) => puzzle);
it.each(fastUniquenessSamples)(
"ships $title as a unique puzzle",
(puzzle) => {
const result = solveExact(puzzle, { maxSolutions: 2 });
expect(result.count).toBe(1);
expect(result.truncated).toBe(false);
},
);
it("solves the generated classic with the supported logical techniques", () => {
expect(solveLogically(CLASSIC_SAMPLE).status).toBe("solved");
@@ -50,6 +55,10 @@ describe("bundled original samples", () => {
"inequality",
"renban",
"palindrome",
"x-sum",
"skyscraper",
"quadruple",
"maximum",
]),
);
});