feat: add error handling for unsolvable Sudoku and rename test class for clarity
This commit is contained in:
@@ -2,12 +2,18 @@ package sudoku;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import sudoku.core.Console;
|
||||
|
||||
public class ResolveurBacktraceSimple implements Resolveur {
|
||||
|
||||
@Override
|
||||
public boolean resoudre(Sudoku s, boolean afficherEtape) {
|
||||
EtatResolution etat = new EtatResolution(0, 0);
|
||||
return resoudre(s, afficherEtape, etat);
|
||||
boolean solved = resoudre(s, afficherEtape, etat);
|
||||
if (!solved) {
|
||||
Console.errorln("Ce Sudoku n'a pas de solution");
|
||||
}
|
||||
return solved;
|
||||
}
|
||||
|
||||
private boolean resoudre(Sudoku s, boolean afficherEtape, EtatResolution etat) {
|
||||
|
||||
@@ -5,9 +5,9 @@ import org.junit.jupiter.api.Test;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class TestCreationGrille {
|
||||
public class TestCreationGrilleRectangulaireSansSolution {
|
||||
@Test
|
||||
public void testLigne() {
|
||||
public void testCreationGrilleSansSolution() {
|
||||
// CREATION D'UN SUDOKU SIMPLE 12*12
|
||||
Sudoku sudoku = new Sudoku(12);
|
||||
sudoku.getGrille().setSymbolesPossibles(new ArrayList<>(Arrays.asList(
|
||||
@@ -98,6 +98,12 @@ public class TestCreationGrille {
|
||||
sudoku.getGrille().printBlocs();
|
||||
System.out.println("Symboles possibles :");
|
||||
sudoku.getGrille().printSymbolesPossibles();
|
||||
|
||||
ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple();
|
||||
boolean solved = resolveur.resoudre(sudoku, false);
|
||||
System.out.println("Sudoku " + (solved ? "résolu" : "non résolu") + " :");
|
||||
System.out.println(sudoku.getGrille().toString());
|
||||
|
||||
System.out.println("FIN TEST LIGNE");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user