From 436967da0363506fec138bd690969af1f5657ce8 Mon Sep 17 00:00:00 2001 From: Morph01 Date: Sat, 8 Feb 2025 19:09:44 +0100 Subject: [PATCH] feat: add tests for Sudoku with emojis, letters, and strings --- .../main/java/sudoku/TestSudokuEmojis.java | 5 ++ .../test/java/sudoku/TestSudokuEmojis.java | 53 +++++++++++++++++++ .../test/java/sudoku/TestSudokuLettres.java | 52 ++++++++++++++++++ .../test/java/sudoku/TestSudokusString.java | 51 ++++++++++++++++++ 4 files changed, 161 insertions(+) create mode 100644 app/src/main/java/sudoku/TestSudokuEmojis.java create mode 100644 app/src/test/java/sudoku/TestSudokuEmojis.java create mode 100644 app/src/test/java/sudoku/TestSudokuLettres.java create mode 100644 app/src/test/java/sudoku/TestSudokusString.java diff --git a/app/src/main/java/sudoku/TestSudokuEmojis.java b/app/src/main/java/sudoku/TestSudokuEmojis.java new file mode 100644 index 0000000..ea1a3b4 --- /dev/null +++ b/app/src/main/java/sudoku/TestSudokuEmojis.java @@ -0,0 +1,5 @@ +package sudoku; + +public class TestSudokuEmojis { + +} diff --git a/app/src/test/java/sudoku/TestSudokuEmojis.java b/app/src/test/java/sudoku/TestSudokuEmojis.java new file mode 100644 index 0000000..7b3dd1c --- /dev/null +++ b/app/src/test/java/sudoku/TestSudokuEmojis.java @@ -0,0 +1,53 @@ +package sudoku; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.jupiter.api.Test; + +public class TestSudokuEmojis { + @Test + public void sudokuEmojis() { + System.out.println("TEST SUDOKU EMOJIS : "); + System.out.println(new App().getGreeting()); + // Create a new Sudoku + Sudoku sudoku = new Sudoku(9); + + sudoku.getGrille() + .setSymbolesPossibles(new ArrayList<>(List.of(Symbole.of("😎"), Symbole.of("😂"), Symbole.of("😍"), + Symbole.of("😜"), Symbole.of("😇"), Symbole.of("😘"), Symbole.of("😋"), Symbole.of("😊"), + Symbole.of("😉")))); + + sudoku.ajouterContrainte(new ContrainteLigne()); + sudoku.ajouterContrainte(new ContrainteColonne()); + sudoku.ajouterContrainte(new ContrainteBloc()); + + sudoku.getGrille().setCase(0, 0, Symbole.of("😎")); + sudoku.getGrille().setCase(6, 1, Symbole.of("😂")); + sudoku.getGrille().setCase(2, 2, Symbole.of("😍")); + sudoku.getGrille().setCase(0, 3, Symbole.of("😜")); + sudoku.getGrille().setCase(4, 4, Symbole.of("😇")); + sudoku.getGrille().setCase(0, 5, Symbole.of("😘")); + sudoku.getGrille().setCase(5, 6, Symbole.of("😋")); + sudoku.getGrille().setCase(0, 7, Symbole.of("😊")); + + 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(); + resolveur.resoudre(sudoku, false); + + System.out.println("Sudoku resolu :"); + System.out.println(sudoku.getGrille().toString()); + + System.out.println("FIN TEST SUDOKU EMOJIS"); + } +} diff --git a/app/src/test/java/sudoku/TestSudokuLettres.java b/app/src/test/java/sudoku/TestSudokuLettres.java new file mode 100644 index 0000000..a44ca8f --- /dev/null +++ b/app/src/test/java/sudoku/TestSudokuLettres.java @@ -0,0 +1,52 @@ +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 : "); + System.out.println(new App().getGreeting()); + // Create a new Sudoku + Sudoku sudoku = new Sudoku(9); + + sudoku.getGrille() + .setSymbolesPossibles(new ArrayList<>(List.of(Symbole.of("L"), Symbole.of("E"), Symbole.of("T"), + Symbole.of("T"), Symbole.of("R"), Symbole.of("E"), Symbole.of("S"), Symbole.of("O"), + Symbole.of("H")))); + + sudoku.ajouterContrainte(new ContrainteLigne()); + sudoku.ajouterContrainte(new ContrainteColonne()); + sudoku.ajouterContrainte(new ContrainteBloc()); + + 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"); + } +} diff --git a/app/src/test/java/sudoku/TestSudokusString.java b/app/src/test/java/sudoku/TestSudokusString.java new file mode 100644 index 0000000..39c176d --- /dev/null +++ b/app/src/test/java/sudoku/TestSudokusString.java @@ -0,0 +1,51 @@ +package sudoku; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.jupiter.api.Test; + +public class TestSudokusString { + @Test + public void sudokuString() { + System.out.println("TEST SUDOKU STRING : "); + System.out.println(new App().getGreeting()); + // Create a new Sudoku + Sudoku sudoku = new Sudoku(9); + + sudoku.getGrille() + .setSymbolesPossibles( + new ArrayList<>(List.of(Symbole.of("Sudoku"), Symbole.of("🗿"), Symbole.of("Test"), + Symbole.of("😂"), Symbole.of("1"), Symbole.of("woW"), Symbole.of("😎"), + Symbole.of("42"), Symbole.of("π")))); + + sudoku.ajouterContrainte(new ContrainteLigne()); + sudoku.ajouterContrainte(new ContrainteColonne()); + sudoku.ajouterContrainte(new ContrainteBloc()); + + sudoku.getGrille().setCase(0, 0, Symbole.of("Sudoku")); + sudoku.getGrille().setCase(6, 1, Symbole.of("String")); + sudoku.getGrille().setCase(2, 2, Symbole.of("Test")); + sudoku.getGrille().setCase(0, 3, Symbole.of("😂")); + sudoku.getGrille().setCase(4, 4, Symbole.of("1")); + sudoku.getGrille().setCase(0, 5, Symbole.of("woW")); + + 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(); + resolveur.resoudre(sudoku, false); + System.out.println("Sudoku résolu :"); + System.out.println(sudoku.getGrille().toString()); + + System.out.println("FIN TEST SUDOKU STRING"); + } +}