62 lines
2.2 KiB
Java
62 lines
2.2 KiB
Java
package sudoku;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
public class TestSudokuLettres {
|
|
@Test
|
|
public void sudokuLettres() {
|
|
System.out.println("TEST SUDOKU LETTRES : ");
|
|
|
|
// Create a new Sudoku
|
|
Sudoku sudoku = new Sudoku(9);
|
|
|
|
List<Symbole> symboles = new ArrayList<>();
|
|
symboles.add(Symbole.of("L"));
|
|
symboles.add(Symbole.of("E"));
|
|
symboles.add(Symbole.of("T"));
|
|
symboles.add(Symbole.of("T"));
|
|
symboles.add(Symbole.of("R"));
|
|
symboles.add(Symbole.of("E"));
|
|
symboles.add(Symbole.of("S"));
|
|
symboles.add(Symbole.of("O"));
|
|
symboles.add(Symbole.of("H"));
|
|
sudoku.getGrille()
|
|
.setSymbolesPossibles(new ArrayList<>(symboles));
|
|
|
|
sudoku.ajouterContrainte(new ContrainteLigne());
|
|
sudoku.ajouterContrainte(new ContrainteColonne());
|
|
sudoku.ajouterContrainte(
|
|
new ContrainteBloc(sudoku.getGrille().getTaille() / 3, sudoku.getGrille().getTaille() / 3));
|
|
|
|
sudoku.getGrille().setCase(0, 0, Symbole.of("L"));
|
|
sudoku.getGrille().setCase(6, 1, Symbole.of("E"));
|
|
sudoku.getGrille().setCase(2, 2, Symbole.of("T"));
|
|
sudoku.getGrille().setCase(0, 3, Symbole.of("T"));
|
|
sudoku.getGrille().setCase(4, 4, Symbole.of("R"));
|
|
sudoku.getGrille().setCase(0, 5, Symbole.of("E"));
|
|
sudoku.getGrille().setCase(5, 6, Symbole.of("S"));
|
|
sudoku.getGrille().setCase(0, 7, Symbole.of("O"));
|
|
|
|
sudoku.getGrille().creerBlocCarre();
|
|
|
|
System.out.println("Sudoku :");
|
|
System.out.println(sudoku.getGrille().toString());
|
|
|
|
System.out.println("Blocs :");
|
|
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 SUDOKU LETTRES");
|
|
}
|
|
}
|