diff --git a/app/src/main/java/sudoku/App.java b/app/src/main/java/sudoku/App.java index eee17fa..5abc671 100644 --- a/app/src/main/java/sudoku/App.java +++ b/app/src/main/java/sudoku/App.java @@ -7,49 +7,6 @@ public class App { public static void main(String[] args) { System.out.println(new App().getGreeting()); -/* - // Create a new Sudoku - Sudoku sudoku = new Sudoku(9); - sudoku.getGrille().setSymbolesPossibles(new ArrayList<>(Arrays.asList( - Symbole.of(1), - Symbole.of(2), - Symbole.of(3), - Symbole.of(4), - Symbole.of(5), - Symbole.of(6), - Symbole.of(7), - Symbole.of(8), - Symbole.of(9)))); - - sudoku.getGrille().setCase(0, 0, Symbole.of(1)); - sudoku.getGrille().setCase(6, 1, Symbole.of(2)); - sudoku.getGrille().setCase(2, 2, Symbole.of(3)); - sudoku.getGrille().setCase(0, 3, Symbole.of(4)); - sudoku.getGrille().setCase(4, 4, Symbole.of(5)); - sudoku.getGrille().setCase(0, 5, Symbole.of(6)); - sudoku.getGrille().setCase(5, 6, Symbole.of(7)); - sudoku.getGrille().setCase(0, 7, Symbole.of(8)); - sudoku.getGrille().setCase(4, 8, Symbole.of(9)); - - 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(); - - //Création d'un second sudoku - System.out.println("Création d'un second SUDOKU"); - - Sudoku sudoku2 = new Sudoku(9); - /*sudoku2.getGrille().askSetSymbolesPossibles(); - - System.out.println("Symboles possibles :"); - sudoku2.getGrille().printSymbolesPossibles();*/ try{ Sudoku.menuGrille(); diff --git a/app/src/test/java/sudoku/AppTest.java b/app/src/test/java/sudoku/AppTest.java index 7c3a60a..955753c 100644 --- a/app/src/test/java/sudoku/AppTest.java +++ b/app/src/test/java/sudoku/AppTest.java @@ -1,30 +1,25 @@ package sudoku; -import org.junit.jupiter.api.Test; - -import sudoku.core.Console; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.ByteArrayInputStream; import java.util.ArrayList; import java.util.Arrays; - -import static org.junit.jupiter.api.Assertions.assertEquals; +import java.util.Scanner; public class AppTest { - /** - * Test the creation of a Sudoku grid with a size of 16 - */ @Test public void testExample() { // Simulate user input with proper line endings - // First 1 is to select the int type of Symboles and after, Symboles are entered (1 to 16) + // First 1 is to select the int type of Symboles and after, Symboles are entered + // (1 to 16) String simulatedInput = "1\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n"; System.setIn(new ByteArrayInputStream(simulatedInput.getBytes())); // Create a new Sudoku Sudoku sudoku = new Sudoku(16); - sudoku.getGrille().askSetSymbolesPossibles(); + sudoku.getGrille().askSetSymbolesPossibles(1, new Scanner(System.in)); // Pass the type of symbol and scanner // Verify the symbols ArrayList expectedSymbols = new ArrayList<>(Arrays.asList( @@ -48,79 +43,10 @@ public class AppTest { // Cleanup System.setIn(System.in); - } - @Test - public void testContraintes() { - // Create a new Sudoku - Sudoku sudoku = new Sudoku(16); - sudoku.getGrille().setSymbolesPossibles(new ArrayList<>(Arrays.asList( - Symbole.of(1), - Symbole.of(2), - Symbole.of(3), - Symbole.of(4), - Symbole.of(5), - Symbole.of(6), - Symbole.of(7), - Symbole.of(8), - Symbole.of(9), - Symbole.of(10), - Symbole.of(11), - Symbole.of(11), - Symbole.of(12), - Symbole.of(13), - Symbole.of(14), - Symbole.of(15), - Symbole.of(16)))); - - // Add constraints - sudoku.ajouterContrainte(new ContrainteLigne()); - sudoku.ajouterContrainte(new ContrainteColonne()); - // sudoku.ajouterContrainte(new ContrainteBloc()); - - // Fill the grid with valid symbols - sudoku.getGrille().setCase(0, 0, Symbole.of(1)); - sudoku.getGrille().setCase(0, 1, Symbole.of(2)); - sudoku.getGrille().setCase(0, 2, Symbole.of(3)); - sudoku.getGrille().setCase(1, 0, Symbole.of(4)); - sudoku.getGrille().setCase(1, 1, Symbole.of(5)); - sudoku.getGrille().setCase(1, 2, Symbole.of(6)); - sudoku.getGrille().setCase(2, 0, Symbole.of(7)); - sudoku.getGrille().setCase(2, 1, Symbole.of(8)); - sudoku.getGrille().setCase(2, 2, Symbole.of(9)); - sudoku.getGrille().setCase(2, 8, Symbole.of(9)); - sudoku.getGrille().setCase(14, 2, Symbole.of(6)); - sudoku.getGrille().setCase(3, 3, Symbole.of(5)); - // sudoku.getGrille().setCase(2, 2, Symbole.of(13)); - // sudoku.getGrille().setCase(2, 2, Symbole.of(14)); - // sudoku.getGrille().setCase(2, 2, Symbole.of(15)); - - // Create square blocks - sudoku.getGrille().creerBlocCarre(); - - System.out.println(sudoku.getGrille().toString()); - - // Verify that the constraints are respected - // assertTrue(sudoku.estValide(sudoku.getGrille().getCase(0, 0))); - // assertTrue(sudoku.estValide(sudoku.getGrille().getCase(1, 1))); - // assertTrue(sudoku.estValide(sudoku.getGrille().getCase(2, 2))); - - if (sudoku.verifierToutesContraintes()) { - Console.successln("Toutes les contraintes sont respectées !"); - } else { - Console.errorln("Au moins une contrainte n'est pas respectée."); + int taille = expectedSymbols.size() - 1; + for (Symbole symbole : expectedSymbols) { + sudoku.getGrille().setCase(taille++, taille++, symbole); } - - // Add a duplicate symbol in the same row - // sudoku.getGrille().setCase(0, 3, Symbole.of(1)); - // assertFalse(sudoku.estValide(sudoku.getGrille().getCase(0, 3))); - - // Add a duplicate symbol in the same column - // sudoku.getGrille().setCase(3, 0, Symbole.of(1)); - // assertFalse(sudoku.estValide(sudoku.getGrille().getCase(3, 0))); - - // Add a duplicate symbol in the same block - // sudoku.getGrille().setCase(1, 1, Symbole.of(1)); - // assertFalse(sudoku.estValide(sudoku.getGrille().getCase(1, 1))); } } \ No newline at end of file diff --git a/app/src/test/java/sudoku/TestBloc.java b/app/src/test/java/sudoku/TestDoublonBloc.java similarity index 92% rename from app/src/test/java/sudoku/TestBloc.java rename to app/src/test/java/sudoku/TestDoublonBloc.java index b6f3910..cd3b22d 100644 --- a/app/src/test/java/sudoku/TestBloc.java +++ b/app/src/test/java/sudoku/TestDoublonBloc.java @@ -7,10 +7,10 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import java.util.ArrayList; import java.util.Arrays; -public class TestBloc { +public class TestDoublonBloc { @Test public void testBloc() { - System.out.println("TEST BLOC : "); + System.out.println("TEST DOUBLON BLOC : "); System.out.println(new App().getGreeting()); // Create a new Sudoku Sudoku sudoku = new Sudoku(9); @@ -51,6 +51,6 @@ public class TestBloc { System.out.println("Symboles possibles :"); sudoku.getGrille().printSymbolesPossibles(); - System.out.println("FIN TEST BLOC"); + System.out.println("FIN TEST DOUBLON BLOC"); } } diff --git a/app/src/test/java/sudoku/TestColonne.java b/app/src/test/java/sudoku/TestDoublonColonne.java similarity index 92% rename from app/src/test/java/sudoku/TestColonne.java rename to app/src/test/java/sudoku/TestDoublonColonne.java index fa6e201..478bf4b 100644 --- a/app/src/test/java/sudoku/TestColonne.java +++ b/app/src/test/java/sudoku/TestDoublonColonne.java @@ -7,10 +7,10 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import java.util.ArrayList; import java.util.Arrays; -public class TestColonne { +public class TestDoublonColonne { @Test public void testColonne() { - System.out.println("TEST COL : "); + System.out.println("TEST DOUBLON COLONNE : "); System.out.println(new App().getGreeting()); // Create a new Sudoku Sudoku sudoku = new Sudoku(9); @@ -50,6 +50,6 @@ public class TestColonne { System.out.println("Symboles possibles :"); sudoku.getGrille().printSymbolesPossibles(); - System.out.println("FIN TEST COL"); + System.out.println("FIN TEST DOUBLON COLONNE"); } } diff --git a/app/src/test/java/sudoku/TestLigne.java b/app/src/test/java/sudoku/TestDoublonLigne.java similarity index 90% rename from app/src/test/java/sudoku/TestLigne.java rename to app/src/test/java/sudoku/TestDoublonLigne.java index 716f75d..7966a9f 100644 --- a/app/src/test/java/sudoku/TestLigne.java +++ b/app/src/test/java/sudoku/TestDoublonLigne.java @@ -5,10 +5,10 @@ import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Arrays; -public class TestLigne { +public class TestDoublonLigne { @Test - public void testLigne() { - System.out.println("TEST LIGNE : "); + public void testDoublonLigne() { + System.out.println("TEST DOUBLON LIGNE : "); System.out.println(new App().getGreeting()); // Create a new Sudoku Sudoku sudoku = new Sudoku(9); @@ -47,6 +47,6 @@ public class TestLigne { System.out.println("Symboles possibles :"); sudoku.getGrille().printSymbolesPossibles(); - System.out.println("FIN TEST LIGNE"); + System.out.println("FIN TEST DOUBLON LIGNE"); } } diff --git a/app/src/test/java/sudoku/TestResolveurBacktraceSimpleSudoku25.java b/app/src/test/java/sudoku/TestResolveurBacktraceSimpleSudoku25.java index 170e657..f224dd0 100644 --- a/app/src/test/java/sudoku/TestResolveurBacktraceSimpleSudoku25.java +++ b/app/src/test/java/sudoku/TestResolveurBacktraceSimpleSudoku25.java @@ -1,56 +1,56 @@ -package sudoku; +// package sudoku; -import java.util.ArrayList; +// import java.util.ArrayList; -import org.junit.jupiter.api.Test; +// import org.junit.jupiter.api.Test; -public class TestResolveurBacktraceSimpleSudoku25 { - @Test - public void testResolution() { - System.out.println("TEST RESOLVEUR BACKTRACE SIMPLE : "); - System.out.println(new App().getGreeting()); - // Create a new Sudoku - Sudoku sudoku = new Sudoku(25); +// public class TestResolveurBacktraceSimpleSudoku25 { +// @Test +// public void testResolution() { +// System.out.println("TEST RESOLVEUR BACKTRACE SIMPLE : "); +// System.out.println(new App().getGreeting()); +// // Create a new Sudoku +// Sudoku sudoku = new Sudoku(25); - ArrayList symboles = new ArrayList<>(); - for (int i = 1; i <= 25; i++) { - symboles.add(Symbole.of(i)); - } - sudoku.getGrille().setSymbolesPossibles(symboles); +// ArrayList symboles = new ArrayList<>(); +// for (int i = 1; i <= 25; i++) { +// symboles.add(Symbole.of(i)); +// } +// sudoku.getGrille().setSymbolesPossibles(symboles); - sudoku.ajouterContrainte(new ContrainteLigne()); - sudoku.ajouterContrainte(new ContrainteColonne()); - sudoku.ajouterContrainte(new ContrainteBloc()); +// sudoku.ajouterContrainte(new ContrainteLigne()); +// sudoku.ajouterContrainte(new ContrainteColonne()); +// sudoku.ajouterContrainte(new ContrainteBloc()); - sudoku.getGrille().setCase(0, 0, Symbole.of(1)); - sudoku.getGrille().setCase(6, 1, Symbole.of(2)); - sudoku.getGrille().setCase(2, 2, Symbole.of(3)); - sudoku.getGrille().setCase(0, 3, Symbole.of(4)); - sudoku.getGrille().setCase(4, 4, Symbole.of(5)); - sudoku.getGrille().setCase(0, 5, Symbole.of(6)); - sudoku.getGrille().setCase(5, 6, Symbole.of(7)); - sudoku.getGrille().setCase(0, 7, Symbole.of(8)); - sudoku.getGrille().setCase(4, 8, Symbole.of(9)); - sudoku.getGrille().setCase(0, 9, Symbole.of(25)); - sudoku.getGrille().setCase(6, 10, Symbole.of(11)); - sudoku.getGrille().setCase(2, 11, Symbole.of(12)); - sudoku.getGrille().setCase(0, 12, Symbole.of(13)); +// sudoku.getGrille().setCase(0, 0, Symbole.of(1)); +// sudoku.getGrille().setCase(6, 1, Symbole.of(2)); +// sudoku.getGrille().setCase(2, 2, Symbole.of(3)); +// sudoku.getGrille().setCase(0, 3, Symbole.of(4)); +// sudoku.getGrille().setCase(4, 4, Symbole.of(5)); +// sudoku.getGrille().setCase(0, 5, Symbole.of(6)); +// sudoku.getGrille().setCase(5, 6, Symbole.of(7)); +// sudoku.getGrille().setCase(0, 7, Symbole.of(8)); +// sudoku.getGrille().setCase(4, 8, Symbole.of(9)); +// sudoku.getGrille().setCase(0, 9, Symbole.of(25)); +// sudoku.getGrille().setCase(6, 10, Symbole.of(11)); +// sudoku.getGrille().setCase(2, 11, Symbole.of(12)); +// sudoku.getGrille().setCase(0, 12, Symbole.of(13)); - sudoku.getGrille().creerBlocCarre(); +// sudoku.getGrille().creerBlocCarre(); - System.out.println("Sudoku :"); - System.out.println(sudoku.getGrille().toString()); +// System.out.println("Sudoku :"); +// System.out.println(sudoku.getGrille().toString()); - System.out.println("Blocs :"); - sudoku.getGrille().printBlocs(); +// System.out.println("Blocs :"); +// sudoku.getGrille().printBlocs(); - System.out.println("Symboles possibles :"); - sudoku.getGrille().printSymbolesPossibles(); +// System.out.println("Symboles possibles :"); +// sudoku.getGrille().printSymbolesPossibles(); - // ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple(sudoku); - // resolveur.resoudre(sudoku, false); - System.out.println("Sudoku resolu :"); - System.out.println(sudoku.getGrille().toString()); - System.out.println("FIN TEST RESOLVEUR BACKTRACE SIMPLE"); - } -} +// ResolveurBacktraceSimple resolveur = new ResolveurBacktraceSimple(sudoku); +// resolveur.resoudre(sudoku, false); +// System.out.println("Sudoku resolu :"); +// System.out.println(sudoku.getGrille().toString()); +// System.out.println("FIN TEST RESOLVEUR BACKTRACE SIMPLE"); +// } +// }