Solver working, basic test cases
This commit is contained in:
parent
999d97f565
commit
75da119da9
4 changed files with 270 additions and 6 deletions
|
|
@ -1,12 +1,86 @@
|
|||
package sudoku;
|
||||
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
class SolverTest {
|
||||
@Test void boardTest() {
|
||||
@Test
|
||||
void constructorTest() {
|
||||
Solver solver = new Solver();
|
||||
solver.solve();
|
||||
assertNotNull(solver);
|
||||
}
|
||||
|
||||
@Test
|
||||
void setBoardTest() {
|
||||
Solver solver = new Solver();
|
||||
int[][] board = new int[9][9];
|
||||
solver.setBoard(board);
|
||||
assertEquals(board, solver.getBoard());
|
||||
}
|
||||
|
||||
@Test
|
||||
void randomizeBoardTest() {
|
||||
int[][] board = new int[9][9];
|
||||
Solver solver = new Solver();
|
||||
solver.randomizeBoard();
|
||||
assertNotEquals(board, solver.getBoard());
|
||||
}
|
||||
|
||||
@Test
|
||||
void legalTest() {
|
||||
Solver solver = new Solver();
|
||||
assertTrue(solver.legal(0, 0, 1));
|
||||
solver.setPos(0, 0, 1);
|
||||
|
||||
IntStream.range(0, 9).forEach(i -> {
|
||||
assertFalse(solver.legal(0, i, 1));
|
||||
assertFalse(solver.legal(i, 0, 1));
|
||||
});
|
||||
|
||||
assertTrue(solver.legal(5, 5, 1));
|
||||
assertTrue(solver.legal(8, 8, 9));
|
||||
assertTrue(solver.legal(8, 8, 1));
|
||||
}
|
||||
|
||||
@Test
|
||||
void solverTest() {
|
||||
Solver solver = new Solver();
|
||||
assertFalse(solver.isSolved());
|
||||
assertTrue(solver.solve());
|
||||
assertTrue(solver.isSolved());
|
||||
|
||||
solver.reset();
|
||||
solver.randomizeBoard();
|
||||
assertFalse(solver.isSolved());
|
||||
assertTrue(solver.solve());
|
||||
}
|
||||
|
||||
@Test
|
||||
void resetTest() {
|
||||
Solver solver = new Solver();
|
||||
assertTrue(solver.solve());
|
||||
solver.randomizeBoard();
|
||||
solver.reset();
|
||||
assertFalse(solver.isSolved());
|
||||
}
|
||||
|
||||
@Test
|
||||
void legalWithInvalidInputsTest() {
|
||||
Solver solver = new Solver();
|
||||
assertFalse(solver.legal(-1, 0, 1));
|
||||
assertFalse(solver.legal(0, -1, 1));
|
||||
assertFalse(solver.legal(0, 0, -1));
|
||||
assertFalse(solver.legal(0, 0, 10));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void unsolvableTest() {
|
||||
Solver solver = new Solver();
|
||||
solver.setPos(0, 0, 1);
|
||||
solver.setPos(0, 1, 1);
|
||||
assertFalse(solver.solve());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue