update solver tests
All checks were successful
Linux arm64 / Build (push) Successful in 40s

This commit is contained in:
Janet-Doe
2025-02-02 11:51:56 +01:00
parent 4903fd567b
commit adeb9b07e5

View File

@@ -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);