From adeb9b07e5ba7c3d072574ac2b5e6c4cf0df558e Mon Sep 17 00:00:00 2001 From: Janet-Doe Date: Sun, 2 Feb 2025 11:51:56 +0100 Subject: [PATCH] update solver tests --- .../test/java/sudoku/solver/SolverTest.java | 39 ++++++++----------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/app/src/test/java/sudoku/solver/SolverTest.java b/app/src/test/java/sudoku/solver/SolverTest.java index 9943fd6..3d2173f 100644 --- a/app/src/test/java/sudoku/solver/SolverTest.java +++ b/app/src/test/java/sudoku/solver/SolverTest.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.List; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import gui.constants.Symbols; @@ -13,8 +14,18 @@ import sudoku.structure.*; class SolverTest { private int ns = Cell.NOSYMBOL; + protected static HumanSolver h; + private static RandomSolver r; + private static MixedSolver m; - void testSize2(String solverToUse){ + @BeforeAll + public static void initializeSolvers(){ + h = new HumanSolver(); + r = new RandomSolver(); + m = new MixedSolver(); + } + + private void testSize2(Solver solver){ MultiDoku mdTest = SudokuFactory.createBasicEmptySquareDoku(2, SudokuFactory.DEFAULT_CONSTRAINTS); MultiDoku mdResult = SudokuFactory.createBasicEmptySquareDoku(2, SudokuFactory.DEFAULT_CONSTRAINTS); Sudoku test = mdTest.getSubGrid(0); @@ -33,11 +44,7 @@ class SolverTest { assert(result.setCellsSymbol(correctCells)); assert(result.isSolved()); - switch (solverToUse){ - case "human": new HumanSolver().solve(mdTest); break; - case "mixed": new MixedSolver().solve(mdTest); break; - default: new RandomSolver().solve(mdTest); break; - } + solver.solve(mdTest); assert (mdTest.isSolved()); for (Cell cell : test.getCells()) { cell.setImmutable(); @@ -46,7 +53,7 @@ class SolverTest { SudokuSerializer.serializeSudoku(mdResult).toString()); } - void testSize3(String solverToUse){ + private void testSize3(Solver solver){ MultiDoku mdTest = SudokuFactory.createBasicEmptySquareDoku(3, SudokuFactory.DEFAULT_CONSTRAINTS); MultiDoku mdResult = SudokuFactory.createBasicEmptySquareDoku(3, SudokuFactory.DEFAULT_CONSTRAINTS); Sudoku test = mdTest.getSubGrid(0); @@ -75,11 +82,7 @@ class SolverTest { assert(result.setCellsSymbol(correctCells)); assert(result.isSolved()); - switch (solverToUse){ - case "human": new HumanSolver().solve(mdTest); break; - case "mixed": new MixedSolver().solve(mdTest); break; - default: new RandomSolver().solve(mdTest); break; - } + solver.solve(mdTest); assert (mdTest.isSolved()); for (Cell cell : test.getCells()) { cell.setImmutable(); @@ -88,7 +91,7 @@ class SolverTest { SudokuSerializer.serializeSudoku(mdResult).toString()); } - private void testMDSize3(String solverToUse){ + private void testMDSize3(Solver solver){ MultiDoku mdTest = SudokuFactory.createBasicXShapedMultidoku(3, SudokuFactory.DEFAULT_CONSTRAINTS); try { SudokuFactory.fillDoku(mdTest, Difficulty.Easy); @@ -97,11 +100,7 @@ class SolverTest { } MultiDoku result = SudokuSerializer.deserializeSudoku(SudokuSerializer.serializeSudoku(mdTest)); assert(result.isSolved()); - switch (solverToUse){ - case "human": new HumanSolver().solve(mdTest); break; - case "mixed": new MixedSolver().solve(mdTest); break; - default: new RandomSolver().solve(mdTest); break; - } + solver.solve(mdTest); assert (mdTest.isSolved()); for (Cell cell : mdTest.getCells()) { cell.setImmutable(); @@ -112,10 +111,6 @@ class SolverTest { @Test void solveTest() { - String h = "human"; - String m = "mixed"; - String r = "random"; - testSize2(h); testSize3(h); testMDSize3(h);