This commit is contained in:
@@ -11,7 +11,7 @@ public class Solver {
|
||||
/**
|
||||
* Résout le multidoku passé en paramètre si c'est possible.
|
||||
* En testant toutes les possibilités avec un algorithme de backtracking.
|
||||
* @param doku Multidouke, à résoudre
|
||||
* @param doku Multidoku, à résoudre
|
||||
* @return boolean, true s'il est résolut ou false s'il ne l'est pas.
|
||||
*/
|
||||
public static boolean solve(MultiDoku doku) {
|
||||
|
||||
@@ -53,15 +53,33 @@ class SolverTest {
|
||||
|
||||
assert(dokuResult.isValid());
|
||||
|
||||
boolean isSolvable = Solver.solve(dokuToTest);
|
||||
Solver.solve(dokuToTest);
|
||||
|
||||
|
||||
System.out.println("\n****************************\nDoku solve");
|
||||
System.out.println("\n****************************\nDoku solved");
|
||||
SudokuPrinter.printRectangleSudoku(dokuToTest.getSubGrid(0), 3, 3);
|
||||
|
||||
|
||||
assert(dokuToTest.isValid());
|
||||
|
||||
assert(dokuToTest.equals(dokuResult));
|
||||
|
||||
MultiDoku dokuToTest2 = SudokuFactory.createBasicEmptySquareSudoku(3);
|
||||
Sudoku sudokuToTest2 = dokuToTest2.getSubGrid(0);
|
||||
|
||||
List<Integer> immutableCells2 = List.of(ns, ns, 0, ns, ns, 2, 8, ns, 1,
|
||||
1, 3, ns, ns, 5, 6, 7, ns, ns,
|
||||
ns, ns, ns, 8, ns, 7, ns, ns, 6,
|
||||
0, ns, 1, ns, ns, ns, ns, ns, ns,
|
||||
4, 8, 7, 5, 1, ns, 6, ns, ns,
|
||||
6, ns, 3, 2, ns, ns, ns, 8, 0,
|
||||
ns, ns, 6, ns, ns, 8, ns, 7, 5,
|
||||
8, 0, ns, 7, ns, 5, 2, ns, 3,
|
||||
5, ns, ns, ns, 3, 1, 0, ns, ns);
|
||||
sudokuToTest2.setImmutableCellsSymbol(immutableCells2);
|
||||
|
||||
boolean isSolved = Solver.solve(dokuToTest2);
|
||||
|
||||
assert(!isSolved);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user