This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user