diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Card.java b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Card.java index 09b07b0..4dda872 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Card.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Card.java @@ -44,6 +44,9 @@ public class Card { * @see Value */ public Card(Color color, Value value) { + if (color == null || value == null) { + throw new IllegalArgumentException("Color cannot be null"); + } this.color = color; this.value = value; } diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Game.java b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Game.java index 740ed94..ab816f5 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Game.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Game.java @@ -80,16 +80,10 @@ public class Game implements Serializable { * @param nbValuesPerColor le nombre de valeurs par couleur */ public Game(Difficulty difficulty, int nbRounds, int nbColors, int nbValuesPerColor) { + if (isValidNumberRound(nbRounds, nbColors, nbValuesPerColor)){ + throw new IllegalArgumentException("Le nombre de tours doit être compris entre 1 et " + nbColors * nbValuesPerColor); + } this.difficulty = difficulty; - if (nbRounds < 1 || nbRounds > nbColors * nbValuesPerColor){ - throw new IllegalArgumentException("Le nombre de tours doit être supérieur ou égal à 1"); - } - if (nbColors < 1 || nbColors > Card.Color.values().length) { - throw new IllegalArgumentException("Le nombre de couleurs doit être compris entre 1 et " + Card.Color.values().length); - } - if (nbValuesPerColor < 1 || nbValuesPerColor > Card.Value.values().length) { - throw new IllegalArgumentException("Le nombre de valeurs par couleur doit être compris entre 1 et " + Card.Value.values().length); - } this.nbRounds = nbRounds; this.nbColors = nbColors; this.nbValuesPerColor = nbValuesPerColor; @@ -109,22 +103,17 @@ public class Game implements Serializable { * @param players les joueurs de la partie */ public Game(BigDecimal id, Date createdAt, Difficulty difficulty, int nbRounds, int nbColors, int nbValuesPerColor, ArrayList players) { + if (isValidNumberRound(nbRounds, nbColors, nbValuesPerColor)){ + throw new IllegalArgumentException("Le nombre de tours doit être compris entre 1 et " + nbColors * nbValuesPerColor); + } this.id = id; this.createdAt = createdAt; this.difficulty = difficulty; - if (nbRounds < 1 || nbRounds > nbColors * nbValuesPerColor){ - throw new IllegalArgumentException("Le nombre de tours doit être compris entre 1 et " + nbColors * nbValuesPerColor); - } - if (nbColors < 1 || nbColors > Card.Color.values().length) { - throw new IllegalArgumentException("Le nombre de couleurs doit être compris entre 1 et " + Card.Color.values().length); - } - if (nbValuesPerColor < 1 || nbValuesPerColor > Card.Value.values().length) { - throw new IllegalArgumentException("Le nombre de valeurs par couleur doit être compris entre 1 et " + Card.Value.values().length); - } this.nbRounds = nbRounds; this.nbColors = nbColors; this.nbValuesPerColor = nbValuesPerColor; this.players = players; + this.deck = new Deck(nbColors, nbValuesPerColor); } @Override @@ -269,9 +258,20 @@ public class Game implements Serializable { } } + public boolean isValidNumberRound(int nbRounds, int nbColors, int nbValuesPerColor){ + return nbRounds < 1 || nbRounds > nbColors * nbValuesPerColor; + } + @Override public String toString() { - return String.format("Game{id=%s, createdAt=%s}", id.toString(), createdAt.toString()); + return String.format("Game{id=%s, createdAt=%s, difficulty=%s, nbRounds=%d, nbColors=%d, nbValuesPerColor=%d}", + id != null ? id.toString() : "null", + createdAt != null ? createdAt.toString() : "null", + difficulty != null ? difficulty.toString() : "null", + nbRounds != 0 ? nbRounds : 0, + nbColors != 0 ? nbColors : 0, + nbValuesPerColor != 0 ? nbValuesPerColor : 0 + ); } @Override diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Player.java b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Player.java index 25c38cc..75d01fd 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Player.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Player.java @@ -267,7 +267,15 @@ public class Player implements Serializable { @Override public String toString() { - return String.format("Player{id=%s, game=%s, user=%s, score=%d, winner=%b, clickCount=%d, rightClickCount=%d, rapidClickCount=%d}", id.toString(), game.toString(), user.toString(), score, winner, clickCount, rightClickCount, rapidClickCount); + return String.format("Player{id=%s, game=%s, user=%s, score=%d, winner=%b, clickCount=%d, rightClickCount=%d, rapidClickCount=%d}", + id != null ? id.toString() : "null", + game != null ? game.toString() : "null", + user != null ? user.toString() : "null", + score, + winner, + clickCount, + rightClickCount, + rapidClickCount); } @Override diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/RecoveryPasswordToken.java b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/RecoveryPasswordToken.java index b623e1e..c6c4fd1 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/RecoveryPasswordToken.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/RecoveryPasswordToken.java @@ -133,12 +133,11 @@ public class RecoveryPasswordToken { @Override public String toString() { - return "RecoveryPasswordToken{" + - "id=" + id + - ", token='" + token + '\'' + - ", user=" + user + - ", expiresAt=" + expiresAt + - '}'; + return String.format("RecoveryPasswordToken{id=%s, token=%s, user=%s, expiresAt=%s}", + id != null ? id.toString() : "null", + token != null ? token : "null", + user != null ? user.toString() : "null", + expiresAt != null ? expiresAt.toString() : "null"); } /** diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/User.java b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/User.java index 8564185..0263185 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/User.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/User.java @@ -349,10 +349,10 @@ public class User implements Serializable { return String.format( "User{id='%s', username=%s, email=%s, birth='%s', gender='%s'}", id != null ? id.toString() : "null", - username, - email, - birth.toString(), - gender.toString() + username != null ? username : "null", + email != null ? email : "null", + birth != null ? birth.toString() : "null", + gender != null ? gender.toString() : "null" ); } diff --git a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/DeckTest.java b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/DeckTest.java index adb8758..679b130 100644 --- a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/DeckTest.java +++ b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/DeckTest.java @@ -1,8 +1,6 @@ package uppa.project.pojo; -import java.util.ArrayList; import java.util.HashMap; -import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -10,7 +8,6 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.fail; class DeckTest { @@ -136,4 +133,4 @@ class DeckTest { mockDeck2.shuffle(); assertEquals(mockDeck, mockDeck2); } -} \ No newline at end of file +} diff --git a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/GameTest.java b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/GameTest.java index 9c568e2..5175414 100644 --- a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/GameTest.java +++ b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/GameTest.java @@ -3,311 +3,378 @@ package uppa.project.pojo; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; -import java.util.List; -import org.junit.jupiter.api.BeforeEach; +import java.util.HashMap; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class GameTest { - static Game[] FIXTURE; - @BeforeEach - void setUp() { - FIXTURE = new Game[] { - new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,6, new ArrayList()), - new Game(new BigDecimal(2), new Date(2024,3,26), Game.Difficulty.HARD, 52, 4,13, new ArrayList()), - new Game(new BigDecimal(3), new Date(2023,9,18), Game.Difficulty.EASY, 5, 2,10, new ArrayList()), - }; - Player[] players = new Player[]{ - new Player(new BigDecimal(1), FIXTURE[0], new User("username1", "email1", "password1", new Date(1996, 4, 7), User.Gender.MALE),5, true, 7,7,7), - new Player(new BigDecimal(2), FIXTURE[1], new User("username2", "email2", "password2", new Date(1996, 4, 7), User.Gender.MALE),34, false, 7,7,7), - new Player(new BigDecimal(3), FIXTURE[2], new User("username3", "email3", "password3", new Date(1996, 4, 7), User.Gender.MALE),22, false, 7,7,7), - new Player(new BigDecimal(4), FIXTURE[0], new User("username4", "email4", "password4", new Date(1996, 4, 7), User.Gender.MALE),68, true, 7,7,7), - }; - FIXTURE[0].addPlayer(players[0]); - FIXTURE[0].addPlayer(players[3]); - FIXTURE[1].addPlayer(players[1]); - FIXTURE[2].addPlayer(players[2]); + @Test + void test_constructor() { + new Game(); + new Game(Game.Difficulty.EASY, 17, 3,6); + new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,6, new ArrayList()); + new Game(new BigDecimal(2), new Date(2024,3,26), Game.Difficulty.HARD, 52, 4,13, new ArrayList()); } @Test - void error_if_invalid_nbrounds() { - //In constructor - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 0, 3,6, new ArrayList())); - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, -1, 3,6, new ArrayList())); - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, -5, 3,6, new ArrayList())); - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 19, 3,6, new ArrayList())); - - //In setter - for (int i = 0; i < FIXTURE.length; i++) { - Game game = FIXTURE[i]; - assertThrows(IllegalArgumentException.class, () -> game.setNbRounds(0)); - assertThrows(IllegalArgumentException.class, () -> game.setNbRounds(-1)); - assertThrows(IllegalArgumentException.class, () -> game.setNbRounds(-5)); - assertThrows(IllegalArgumentException.class, () -> game.setNbRounds(19)); + void test_constructor_throwIllegalArgumentExceptionOnInvalidValues(){ + int[] INCORRECT_VALUES = {Integer.MIN_VALUE, -2, 0, 14, Integer.MAX_VALUE}; + for (int incorrect_value : INCORRECT_VALUES) { + assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,4*incorrect_value,4, incorrect_value)); } } @Test - void error_if_invalid_nbColors() { - //In constructor - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 0,6, new ArrayList())); - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, -1,6, new ArrayList())); - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, -5,6, new ArrayList())); - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 5,6, new ArrayList())); - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 17,6, new ArrayList())); - - //In setter - for (int i = 0; i < FIXTURE.length; i++) { - Game game = FIXTURE[i]; - assertThrows(IllegalArgumentException.class, () -> game.setNbColors(0)); - assertThrows(IllegalArgumentException.class, () -> game.setNbColors(-1)); - assertThrows(IllegalArgumentException.class, () -> game.setNbColors(-5)); - assertThrows(IllegalArgumentException.class, () -> game.setNbColors(5)); - assertThrows(IllegalArgumentException.class, () -> game.setNbColors(17)); - } - } - - - @Test - void error_if_invalid_nbValuesPerColor() { - //In constructor - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,0, new ArrayList())); - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,-1, new ArrayList())); - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,-5, new ArrayList())); - assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,14, new ArrayList())); - - //In setter - for (int i = 0; i < FIXTURE.length; i++) { - Game game = FIXTURE[i]; - assertThrows(IllegalArgumentException.class, () -> game.setNbValuesPerColor(0)); - assertThrows(IllegalArgumentException.class, () -> game.setNbValuesPerColor(-1)); - assertThrows(IllegalArgumentException.class, () -> game.setNbValuesPerColor(-5)); - assertThrows(IllegalArgumentException.class, () -> game.setNbValuesPerColor(14)); - } - } - @Test - void test_HashCode() { - // TODO Implement this method - } - - @Test - void get_Id() { - for (int i = 0; i < FIXTURE.length; i++) { - assertEquals(new BigDecimal(i + 1), FIXTURE[i].getId()); + void test_constructor_throwIllegalArgumentExceptionOnInvalidColors(){ + int[] INCORRECT_VALUES = {Integer.MIN_VALUE, -9, -2, 0, 5, 8, Integer.MAX_VALUE}; + for (int incorrect_value : INCORRECT_VALUES) { + assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,4*incorrect_value,incorrect_value, 13)); } } @Test - void get_Created_At() { - Date[] dates = new Date[]{new Date(2023,12,25), - new Date(2024,3,26), - new Date(2023,9,18)}; - for (int i = 0; i < FIXTURE.length; i++) { - assertEquals(dates[i], FIXTURE[i].getCreatedAt()); + void test_constructor_throwIllegalArgumentExceptionOnInvalidNbRounds(){ + assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,0,4, 8)); + assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,33,4, 8)); + assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,-5,4, 8)); + assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,13,2, 6)); + } + + @Test + void test_getId() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2023-1900,12,25), Game.Difficulty.EASY, 17, 3,6, null), new BigDecimal(1)); + put(new Game(new BigDecimal(2), new Date(2023-1900,12,25), Game.Difficulty.EASY, 17, 3,6, null), new BigDecimal(2)); + put(new Game(new BigDecimal(3), new Date(2023-1900,12,25), Game.Difficulty.EASY, 17, 3,6, null), new BigDecimal(3)); + }}; + for (Game game : TESTS.keySet()) { + assertEquals(TESTS.get(game), game.getId()); } } @Test - void get_Difficulty() { - Game.Difficulty[] difficulties = new Game.Difficulty[]{ - Game.Difficulty.EASY, - Game.Difficulty.HARD, - Game.Difficulty.EASY }; - for (int i = 0; i < FIXTURE.length; i++) { - assertEquals(difficulties[i], FIXTURE[i].getDifficulty()); + void test_getCreatedAt() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + new Date(2024-1900,5,6)); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.EASY, 17, 3,6, null), + new Date(2023-1900,7,9)); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 17, 3,6, null), + new Date(2022-1900,11,12)); + }}; + for (Game game : TESTS.keySet()) { + assertEquals(TESTS.get(game), game.getCreatedAt()); } } @Test - void set_difficulty() { - Game.Difficulty[] difficulties = new Game.Difficulty[]{ - Game.Difficulty.EASY, - Game.Difficulty.HARD, - Game.Difficulty.EASY }; - for (int i = 0; i < FIXTURE.length; i++) { - FIXTURE[i].setDifficulty(Game.Difficulty.HARD); - assertEquals(Game.Difficulty.HARD, FIXTURE[i].getDifficulty()); - FIXTURE[i].setDifficulty(difficulties[i]); - assertEquals(difficulties[i], FIXTURE[i].getDifficulty()); + void test_getDifficulty() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + Game.Difficulty.EASY); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 17, 3,6, null), + Game.Difficulty.HARD); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 17, 3,6, null), + Game.Difficulty.EASY); + }}; + for (Game game : TESTS.keySet()) { + assertEquals(TESTS.get(game), game.getDifficulty()); } } @Test - void get_nb_Rounds() { - int[] nbRounds = new int[]{17, 52, 5}; - for (int i = 0; i < FIXTURE.length; i++) { - assertEquals(nbRounds[i], FIXTURE[i].getNbRounds()); + void test_setDifficulty() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + Game.Difficulty.HARD); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 17, 3,6, null), + Game.Difficulty.HARD); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 17, 3,6, null), + Game.Difficulty.HARD); + }}; + for (Game game : TESTS.keySet()) { + Game.Difficulty expected = TESTS.get(game); + game.setDifficulty(Game.Difficulty.HARD); + assertEquals(expected, game.getDifficulty()); } } @Test - void set_nb_Rounds() { - int[] nbRounds = new int[]{17, 52, 5}; - for (int i = 0; i < FIXTURE.length; i++) { - FIXTURE[i].setNbRounds(10); - assertEquals(10, FIXTURE[i].getNbRounds()); - FIXTURE[i].setNbRounds(nbRounds[i]); - assertEquals(nbRounds[i], FIXTURE[i].getNbRounds()); + void test_getNbRounds() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + 17); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null), + 28); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null), + 16); + }}; + for (Game game : TESTS.keySet()) { + assertEquals(TESTS.get(game), game.getNbRounds()); } } @Test - void get_nb_Colors() { - int[] nbColors = new int[]{3, 4, 2}; - for (int i = 0; i < FIXTURE.length; i++) { - assertEquals(nbColors[i], FIXTURE[i].getNbColors()); + void test_setNbRounds() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + 5); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null), + 5); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null), + 5); + }}; + for (Game game : TESTS.keySet()) { + int expected = TESTS.get(game); + game.setNbRounds(5); + assertEquals(expected, game.getNbRounds()); } } @Test - void set_nb_Colors() { - int[] nbColors = new int[]{3, 4, 2}; - for (int i = 0; i < FIXTURE.length; i++) { - FIXTURE[i].setNbColors(1); - assertEquals(1, FIXTURE[i].getNbColors()); - FIXTURE[i].setNbColors(nbColors[i]); - assertEquals(nbColors[i], FIXTURE[i].getNbColors()); + void test_getNbColors() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + 3); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null), + 4); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null), + 2); + }}; + for (Game game : TESTS.keySet()) { + assertEquals(TESTS.get(game), game.getNbColors()); } } @Test - void getnbValuesPerColor() { - int[] nbValuesPerColor = new int[]{6, 13, 10}; - for (int i = 0; i < FIXTURE.length; i++) { - assertEquals(nbValuesPerColor[i], FIXTURE[i].getNbValuesPerColor()); + void test_setNbColors() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + 4); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null), + 4); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null), + 4); + }}; + for (Game game : TESTS.keySet()) { + int expected = TESTS.get(game); + game.setNbColors(4); + assertEquals(expected, game.getNbColors()); } } @Test - void setNbValuesPerColor() { - int[] nbValuesPerColor = new int[]{6, 13, 10}; - for (int i = 0; i < FIXTURE.length; i++) { - FIXTURE[i].setNbValuesPerColor(8); - assertEquals(8,FIXTURE[i].getNbValuesPerColor()); - FIXTURE[i].setNbValuesPerColor(nbValuesPerColor[i]); - assertEquals(nbValuesPerColor[i], FIXTURE[i].getNbValuesPerColor()); + void test_getNbValuesPerColor() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + 6); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null), + 13); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null), + 9); + }}; + for (Game game : TESTS.keySet()) { + assertEquals(TESTS.get(game), game.getNbValuesPerColor()); } } @Test - void get_Players_return_rigth_number_of_players() { - Player[] players = new Player[]{ - new Player(FIXTURE[0], new User("username1", "email1", "password1", new Date(1996, 4, 7), User.Gender.MALE)), - new Player(FIXTURE[1], new User("username2", "email2", "password2", new Date(1996, 4, 7), User.Gender.MALE)), - new Player(FIXTURE[2], new User("username3", "email3", "password3", new Date(1996, 4, 7), User.Gender.MALE)), - new Player(FIXTURE[0], new User("username4", "email4", "password4", new Date(1996, 4, 7), User.Gender.MALE)), - }; - assertEquals(2, FIXTURE[0].getPlayers().size()); - assertEquals(1, FIXTURE[1].getPlayers().size()); - assertEquals(1, FIXTURE[2].getPlayers().size()); - } - - @Test - void get_players_return_the_right_players() { - Player[] players = new Player[]{ - new Player(new BigDecimal(1), FIXTURE[0], new User("username1", "email1", "password1", new Date(1996, 4, 7), User.Gender.MALE),5, true, 7,7,7), - new Player(new BigDecimal(2), FIXTURE[1], new User("username2", "email2", "password2", new Date(1996, 4, 7), User.Gender.MALE),34, false, 7,7,7), - new Player(new BigDecimal(3), FIXTURE[2], new User("username3", "email3", "password3", new Date(1996, 4, 7), User.Gender.MALE),22, false, 7,7,7), - new Player(new BigDecimal(4), FIXTURE[0], new User("username4", "email4", "password4", new Date(1996, 4, 7), User.Gender.MALE),68, true, 7,7,7), - }; - assertEquals(players[0], FIXTURE[0].getPlayers().get(0)); - assertEquals(players[3], FIXTURE[0].getPlayers().get(1)); - assertEquals(players[1], FIXTURE[1].getPlayers().get(0)); - assertEquals(players[2], FIXTURE[2].getPlayers().get(0)); - } - @Test - void setPlayers() { - Player[] players = new Player[]{ - new Player(new BigDecimal(5), FIXTURE[0], new User("username1", "email1", "password1", new Date(1996, 4, 7), User.Gender.MALE),5, true, 7,7,7), - new Player(new BigDecimal(6), FIXTURE[1], new User("username2", "email2", "password2", new Date(1996, 4, 7), User.Gender.MALE),34, false, 7,7,7), - new Player(new BigDecimal(7), FIXTURE[2], new User("username3", "email3", "password3", new Date(1996, 4, 7), User.Gender.MALE),22, false, 7,7,7), - new Player(new BigDecimal(8), FIXTURE[0], new User("username4", "email4", "password4", new Date(1996, 4, 7), User.Gender.MALE),68, true, 7,7,7), - }; - ArrayList newPlayers1 = new ArrayList(); - newPlayers1.add(players[0]); - newPlayers1.add(players[3]); - ArrayList newPlayers2 = new ArrayList(); - newPlayers2.add(players[1]); - ArrayList newPlayers3 = new ArrayList(); - newPlayers3.add(players[2]); - - FIXTURE[0].setPlayers(newPlayers1); - FIXTURE[1].setPlayers(newPlayers2); - FIXTURE[2].setPlayers(newPlayers3); - assertEquals(players[0], FIXTURE[0].getPlayers().get(0)); - assertEquals(players[3], FIXTURE[0].getPlayers().get(1)); - assertEquals(players[1], FIXTURE[1].getPlayers().get(0)); - assertEquals(players[2], FIXTURE[2].getPlayers().get(0)); - } - - @Test - void getNbPlayers() { - int[] nbPlayers = new int[]{2, 1, 1}; - for (int i = 0; i < FIXTURE.length; i++) { - assertEquals(nbPlayers[i], FIXTURE[i].getNbPlayers()); + void test_setNbValuesPerColor() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + 12); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null), + 12); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null), + 12); + }}; + for (Game game : TESTS.keySet()) { + int expected = TESTS.get(game); + game.setNbValuesPerColor(12); + assertEquals(expected, game.getNbValuesPerColor()); } } @Test - void addPlayer() { - Player player1 = new Player(new BigDecimal(5), FIXTURE[0], new User("username5", "email5", "password5", new Date(1996, 4, 7), User.Gender.MALE),41, true, 7,7,7); - Player player2 = new Player(new BigDecimal(6), FIXTURE[0], new User("username6", "email6", "password6", new Date(1996, 4, 7), User.Gender.MALE),41, true, 7,7,7); - FIXTURE[0].addPlayer(player1); - assertEquals(FIXTURE[0].getPlayers().size(), 3); - FIXTURE[0].addPlayer(player2); - assertEquals(FIXTURE[0].getPlayers().size(), 4); - Player[] expected = new Player[]{ - new Player(new BigDecimal(1), FIXTURE[0], new User("username1", "email1", "password1", new Date(1996, 4, 7), User.Gender.MALE),5, true, 7,7,7), - new Player(new BigDecimal(4), FIXTURE[0], new User("username4", "email4", "password4", new Date(1996, 4, 7), User.Gender.MALE),68, true, 7,7,7), - player1, - player2 - }; - assertEquals(expected[0], FIXTURE[0].getPlayers().get(0)); - assertEquals(expected[1], FIXTURE[0].getPlayers().get(1)); - assertEquals(expected[2], FIXTURE[0].getPlayers().get(2)); - assertEquals(expected[3], FIXTURE[0].getPlayers().get(3)); + void test_getPlayers() { + ArrayList players1 = new ArrayList<>(); + ArrayList players2 = new ArrayList<>(); + ArrayList players3 = new ArrayList<>(); + players1.add(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5, 5, 5)); + players2.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 5, 5, 5)); + players2.add(new Player(new BigDecimal(3), new Game(), new User(), 10, true, 5, 5, 5)); + players3.add(new Player(new BigDecimal(4), new Game(), new User(), 10, true, 5, 5, 5)); + players3.add(new Player(new BigDecimal(5), new Game(), new User(), 10, true, 5, 5, 5)); + players3.add(new Player(new BigDecimal(6), new Game(), new User(), 10, true, 5, 5, 5)); + final HashMap> TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024 - 1900, 5, 6), Game.Difficulty.EASY, 17, 3, 6, players1), + players1); + put(new Game(new BigDecimal(2), new Date(2023 - 1900, 7, 9), Game.Difficulty.HARD, 28, 4, 13, players2), + players2); + put(new Game(new BigDecimal(3), new Date(2022 - 1900, 11, 12), Game.Difficulty.EASY, 16, 2, 9, players3), + players3); + }}; + for (Game game : TESTS.keySet()) { + assertEquals(TESTS.get(game), game.getPlayers()); + } + } + + @Test + void test_setPlayers() { + ArrayList players = new ArrayList<>(); + players.add(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5)); + players.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 5,5,5)); + players.add(new Player(new BigDecimal(3), new Game(), new User(), 10, true, 5,5,5)); + players.add(new Player(new BigDecimal(4), new Game(), new User(), 10, true, 5,5,5)); + players.add(new Player(new BigDecimal(5), new Game(), new User(), 10, true, 5,5,5)); + players.add(new Player(new BigDecimal(6), new Game(), new User(), 10, true, 5,5,5)); + final HashMap> TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + players); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null), + players); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null), + players); + }}; + for (Game game : TESTS.keySet()) { + ArrayList expected = TESTS.get(game); + game.setPlayers(players); + assertEquals(expected, game.getPlayers()); + } + } + + @Test + void test_getNbPlayers() { + ArrayList players1 = new ArrayList<>(); + ArrayList players2 = new ArrayList<>(); + ArrayList players3 = new ArrayList<>(); + players1.add(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5)); + players2.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 5,5,5)); + players2.add(new Player(new BigDecimal(3), new Game(), new User(), 10, true, 5,5,5)); + players3.add(new Player(new BigDecimal(4), new Game(), new User(), 10, true, 5,5,5)); + players3.add(new Player(new BigDecimal(5), new Game(), new User(), 10, true, 5,5,5)); + players3.add(new Player(new BigDecimal(6), new Game(), new User(), 10, true, 5,5,5)); + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, players1), + 1); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, players2), + 2); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, players3), + 3); + }}; + for (Game game : TESTS.keySet()) { + assertEquals(TESTS.get(game), game.getPlayers().size()); + } + } + + @Test + void test_addPlayer() { + //Initial arrays + ArrayList players1 = new ArrayList<>(); + ArrayList players2 = new ArrayList<>(); + ArrayList players3 = new ArrayList<>(); + + players1.add(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5)); + players2.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 5,5,5)); + players3.add(new Player(new BigDecimal(3), new Game(), new User(), 10, true, 5,5,5)); + + //New Player + Player player = new Player(new BigDecimal(4), new Game(), new User(), 10, true, 5,5,5); + + //Expected arrays + ArrayList players1Expected = new ArrayList<>(); + ArrayList players2Expected = new ArrayList<>(); + ArrayList players3Expected = new ArrayList<>(); + players1Expected.add(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5)); + players1Expected.add(player); + players2Expected.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 5,5,5)); + players2Expected.add(player); + players3Expected.add(new Player(new BigDecimal(3), new Game(), new User(), 10, true, 5,5,5)); + players3Expected.add(player); + final HashMap> TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, players1), + players1Expected); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, players2), + players2Expected); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, players3), + players3Expected); + }}; + for (Game game : TESTS.keySet()) { + ArrayList expected = TESTS.get(game); + game.addPlayer(player); + assertEquals(expected, game.getPlayers()); + } } @Test void getDeck() { - + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + new Deck(3,6)); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null), + new Deck(4,13)); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null), + new Deck(2,9)); + }}; + for (Game game : TESTS.keySet()) { + assertEquals(TESTS.get(game), game.getDeck()); + } } @Test void sortPlayersByScore() { + ArrayList players1 = new ArrayList<>(); + ArrayList players2 = new ArrayList<>(); + ArrayList players3 = new ArrayList<>(); + players1.add(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5)); + players2.add(new Player(new BigDecimal(2), new Game(), new User(), 15, true, 5,5,5)); + players2.add(new Player(new BigDecimal(3), new Game(), new User(), 20, true, 5,5,5)); + players3.add(new Player(new BigDecimal(4), new Game(), new User(), 6, true, 5,5,5)); + players3.add(new Player(new BigDecimal(6), new Game(), new User(), 13, true, 5,5,5)); + players3.add(new Player(new BigDecimal(5), new Game(), new User(), 9, true, 5,5,5)); - Player[] initial = new Player[]{ - new Player(new BigDecimal(1), FIXTURE[0], new User("username1", "email1", "password1", new Date(1996, 4, 7), User.Gender.MALE),5, true, 7,7,7), - new Player(new BigDecimal(4), FIXTURE[0], new User("username4", "email4", "password4", new Date(1996, 4, 7), User.Gender.MALE),68, true, 7,7,7), - }; - ArrayList players = FIXTURE[0].getPlayers(); - for (int i = 0; i < players.size(); i++) { - assertEquals(initial[i], players.get(i)); - } - Player[] expected = new Player[]{ - new Player(new BigDecimal(4), FIXTURE[0], new User("username4", "email4", "password4", new Date(1996, 4, 7), User.Gender.MALE),68, true, 7,7,7), - new Player(new BigDecimal(1), FIXTURE[0], new User("username1", "email1", "password1", new Date(1996, 4, 7), User.Gender.MALE),5, true, 7,7,7), - }; - FIXTURE[0].sortPlayersByScore(); - players = FIXTURE[0].getPlayers(); - for (int i = 0; i < players.size(); i++) { - System.out.println(i); - assertEquals(expected[i], players.get(i)); + + //Expected arrays + ArrayList players1Expected = new ArrayList<>(); + ArrayList players2Expected = new ArrayList<>(); + ArrayList players3Expected = new ArrayList<>(); + players1Expected.add(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5)); + players2Expected.add(new Player(new BigDecimal(3), new Game(), new User(), 20, true, 5,5,5)); + players2Expected.add(new Player(new BigDecimal(2), new Game(), new User(), 15, true, 5,5,5)); + players3Expected.add(new Player(new BigDecimal(6), new Game(), new User(), 13, true, 5,5,5)); + players3Expected.add(new Player(new BigDecimal(5), new Game(), new User(), 9, true, 5,5,5)); + players3Expected.add(new Player(new BigDecimal(4), new Game(), new User(), 6, true, 5,5,5)); + + final HashMap> TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, players1), + players1Expected); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, players2), + players2Expected); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, players3), + players3Expected); + }}; + for (Game game : TESTS.keySet()) { + ArrayList expected = TESTS.get(game); + game.sortPlayersByScore(); + assertEquals(expected, game.getPlayers()); } } @Test - void to_string_return_the_right_format() { - String[] expected = new String[]{ - "Game{id=1, createdAt=2023-12-25, players=[]}", - "Game{id=2, createdAt=2024-03-26, players=[]}", - "Game{id=3, createdAt=2023-09-18, players=[]}" - }; - for (int i = 0; i < FIXTURE.length; i++) { - assertEquals(FIXTURE[i].toString(), expected[i]); - } + void test_toString() { + final HashMap TESTS = new HashMap<>() {{ + put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null), + "Game{id=1, createdAt=Thu Jun 06 00:00:00 CEST 2024, difficulty=EASY, nbRounds=17, nbColors=3, nbValuesPerColor=6}"); + put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null), + "Game{id=2, createdAt=Wed Aug 09 00:00:00 CEST 2023, difficulty=HARD, nbRounds=28, nbColors=4, nbValuesPerColor=13}"); + put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null), + "Game{id=3, createdAt=Mon Dec 12 00:00:00 CET 2022, difficulty=EASY, nbRounds=16, nbColors=2, nbValuesPerColor=9}"); + }}; + for (Game game : TESTS.keySet()) { + assertEquals(TESTS.get(game), game.toString()); + } } } diff --git a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/PlayerTest.java b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/PlayerTest.java index b15c3e6..ff64799 100644 --- a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/PlayerTest.java +++ b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/PlayerTest.java @@ -1,10 +1,8 @@ package uppa.project.pojo; import java.math.BigDecimal; -import java.util.ArrayList; import java.util.Date; import java.util.HashMap; -import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; @@ -294,7 +292,7 @@ class PlayerTest { for (Player player : TESTS.keySet()) { int expected = TESTS.get(player); player.setRightClickCount(3); - assertEquals(expected, player.getRapidClickCount()); + assertEquals(expected, player.getRightClickCount()); } } @@ -308,7 +306,7 @@ class PlayerTest { }}; for (Player player : TESTS.keySet()) { int expected = TESTS.get(player); - player.incrementRightClickCount(); + player.incrementRapidClickCount(); assertEquals(expected, player.getRapidClickCount()); } } @@ -350,7 +348,24 @@ class PlayerTest { @Test void test_to_string() { - // TODO Implement this method - fail(); + Game game = new Game(new BigDecimal(1), new Date(2024-1900,3,27), Game.Difficulty.EASY,20,4,5,null); + User user = new User("username1", "email1", "password1", new Date(1996-1900,2,20), User.Gender.MALE); + final HashMap TESTS = new HashMap<>() {{ + put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,5,5), + "Player{id=1, game=Game{id=null, createdAt=null, difficulty=null, nbRounds=0, nbColors=0, nbValuesPerColor=0}, " + + "user=User{id='null', username=null, email=null, birth='null', gender='null'}, " + + "score=10, winner=true, clickCount=6, rightClickCount=5, rapidClickCount=5}"); + put(new Player(new BigDecimal(2), game, new User(), 20, false, 4,2,1), + "Player{id=2, game=Game{id=1, createdAt=Sat Apr 27 00:00:00 CEST 2024, difficulty=EASY, nbRounds=20, nbColors=4, nbValuesPerColor=5}, " + + "user=User{id='null', username=null, email=null, birth='null', gender='null'}, " + + "score=20, winner=false, clickCount=4, rightClickCount=2, rapidClickCount=1}"); + put(new Player(new BigDecimal(3), new Game(), user, 15, true, 10,5,5), + "Player{id=3, game=Game{id=null, createdAt=null, difficulty=null, nbRounds=0, nbColors=0, nbValuesPerColor=0}, " + + "user=User{id='null', username=username1, email=email1, birth='Wed Mar 20 00:00:00 CET 1996', gender='MALE'}, " + + "score=15, winner=true, clickCount=10, rightClickCount=5, rapidClickCount=5}"); + }}; + for (Player player : TESTS.keySet()) { + assertEquals(TESTS.get(player), player.toString()); + } } } diff --git a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/RecoveryPasswordTokenTest.java b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/RecoveryPasswordTokenTest.java index 417387f..eced115 100644 --- a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/RecoveryPasswordTokenTest.java +++ b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/RecoveryPasswordTokenTest.java @@ -7,21 +7,9 @@ import java.util.HashMap; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; class RecoveryPasswordTokenTest { -// static RecoveryPasswordToken[] FIXTURE; - -// @BeforeAll -// static void setUp() { -// FIXTURE = new RecoveryPasswordToken[]{new RecoveryPasswordToken(1, "token1", new User(new BigDecimal(1), "username1", "password1", -// "email1", new Date(1996, 1, 4), User.Gender.MALE, new ArrayList()), new Date(2024, 1, 2)), new RecoveryPasswordToken(2, -// "token2", new User(new BigDecimal(2), "username2", "password2", "email2", new Date(1996, 2, 5), User.Gender.FEMALE, -// new ArrayList()), new Date(2024, 3, 4)), new RecoveryPasswordToken(3, "token3", new User(new BigDecimal(3), "username3", -// "password3", "email3", new Date(1996, 3, 6), User.Gender.OTHER, new ArrayList()), new Date(2024, 5, 6))}; -// } - @Test void test_constructor() { new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date(124, Calendar.FEBRUARY, 2)); @@ -70,27 +58,27 @@ class RecoveryPasswordTokenTest { new RecoveryPasswordToken( new BigDecimal(1), "token1", - new User( - new BigDecimal(1), - "username1", - "password1", - "email1", - new Date(196, Calendar.FEBRUARY, 4), - User.Gender.MALE, - null - ), + new User(new BigDecimal(1), "username1", "email1", "password1", new Date(96, Calendar.FEBRUARY, 4), User.Gender.MALE, null), new Date()), - new User( - new BigDecimal(1), - "username1", - "password1", - "email1", - new Date(196, Calendar.FEBRUARY, 4), - User.Gender.MALE, - null - ) + new User(new BigDecimal(1), "username1", "email1", "password1", new Date(96, Calendar.FEBRUARY, 4), User.Gender.MALE, null) + ); + + put( + new RecoveryPasswordToken( + new BigDecimal(2), + "token2", + new User(new BigDecimal(2), "username2", "email2", "password2", new Date(101, Calendar.MAY, 12), User.Gender.OTHER, null), + new Date()), + new User(new BigDecimal(2), "username2", "email2", "password2", new Date(101, Calendar.MAY, 12), User.Gender.OTHER, null) ); - // TODO Add more tests + put( + new RecoveryPasswordToken( + new BigDecimal(1), + "token3", + new User(new BigDecimal(3), "username3", "email3", "password3", new Date(100, Calendar.SEPTEMBER, 12), User.Gender.MALE, null), + new Date()), + new User(new BigDecimal(3), "username3", "email3", "password3", new Date(100, Calendar.SEPTEMBER, 12), User.Gender.MALE, null) + ); }}; for (RecoveryPasswordToken token : TESTS.keySet()) @@ -99,58 +87,92 @@ class RecoveryPasswordTokenTest { @Test void set_user() { -// User[] expected = new User[]{new User(new BigDecimal(4), "username4", "password4", "email4", new Date(1996, 4, 7), User.Gender.MALE, -// new ArrayList()), new User(new BigDecimal(5), "username5", "password5", "email5", new Date(1996, 5, 8), User.Gender.FEMALE, -// new ArrayList()), new User(new BigDecimal(6), "username6", "password6", "email6", new Date(1996, 6, 9), User.Gender.OTHER, -// new ArrayList())}; -// for (int i = 0; i < FIXTURE.length; i++) { -// FIXTURE[i].setUser(expected[i]); -// assertEquals(expected[i].getId(), FIXTURE[i].getUser().getId()); -// assertEquals(expected[i].getUsername(), FIXTURE[i].getUser().getUsername()); -// assertEquals(expected[i].getPassword(), FIXTURE[i].getUser().getPassword()); -// assertEquals(expected[i].getEmail(), FIXTURE[i].getUser().getEmail()); -// assertEquals(expected[i].getBirth(), FIXTURE[i].getUser().getBirth()); -// assertEquals(expected[i].getGender(), FIXTURE[i].getUser().getGender()); -// assertEquals(expected[i].getPlayedGames(), FIXTURE[i].getUser().getPlayedGames()); -// } - // TODO Implement this method - fail(); + final HashMap TESTS = new HashMap<>() {{ + put( + new RecoveryPasswordToken( + new BigDecimal(1), + "token1", + null, + new Date()), + new User(new BigDecimal(1), "username000", "email000", "password000", new Date(9, Calendar.FEBRUARY, 4), User.Gender.MALE, null + ) + ); + put( + new RecoveryPasswordToken( + new BigDecimal(2), + "token2", + new User(new BigDecimal(2), "username2", "email2", "password2", new Date(101, Calendar.MAY, 12), User.Gender.OTHER, null), + new Date()), + new User(new BigDecimal(1), "username000", "email000", "password000", new Date(9, Calendar.FEBRUARY, 4), User.Gender.MALE, null) + ); + put( + new RecoveryPasswordToken( + new BigDecimal(3), + "token3", + new User(new BigDecimal(3), "username3", "email3", "password3", new Date(100, Calendar.SEPTEMBER, 12), User.Gender.MALE, null), + new Date()), + new User(new BigDecimal(1), "username000", "email000", "password000", new Date(9, Calendar.FEBRUARY, 4), User.Gender.MALE, null) + ); + }}; + + for (RecoveryPasswordToken token : TESTS.keySet()){ + User expected = TESTS.get(token); + token.setUser( + new User(new BigDecimal(1), "username000", "email000", "password000", new Date(9, Calendar.FEBRUARY, 4), User.Gender.MALE, null) + ); + assertEquals(TESTS.get(token), token.getUser()); + } + } @Test - void get_expires_at() { -// Date[] expected = new Date[]{new Date(2024, 1, 2), new Date(2024, 3, 4), new Date(2024, 5, 6)}; -// for (int i = 0; i < FIXTURE.length; i++) { -// assertEquals(expected[i], FIXTURE[i].getExpiresAt()); -// } - // TODO Implement this method - fail(); + void get_expiresAt() { + final HashMap TESTS = new HashMap<>() {{ + put(new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date(124, Calendar.FEBRUARY, 2)), new Date(124, Calendar.FEBRUARY, 2)); + put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User(), new Date(124, Calendar.APRIL, 4)), new Date(124, Calendar.APRIL, 4)); + put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date(124, Calendar.JUNE, 6)), new Date(124, Calendar.JUNE, 6)); + }}; + for (RecoveryPasswordToken token : TESTS.keySet()) + assertEquals(TESTS.get(token), token.getExpiresAt()); + } @Test void set_expires_at() { -// Date[] expected = new Date[]{new Date(2024, 2, 3), new Date(2024, 4, 5), new Date(2024, 6, 7)}; -// for (int i = 0; i < FIXTURE.length; i++) { -// FIXTURE[i].setExpiresAt(expected[i]); -// assertEquals(expected[i], FIXTURE[i].getExpiresAt()); -// } - // TODO Implement this method - fail(); + final HashMap TESTS = new HashMap<>() {{ + put(new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date(124, Calendar.FEBRUARY, 2)), new Date(125, Calendar.JANUARY, 2)); + put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User(), new Date(124, Calendar.APRIL, 4)), new Date(125, Calendar.JANUARY, 2)); + put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date(124, Calendar.JUNE, 6)), new Date(125, Calendar.JANUARY, 2)); + }}; + for (RecoveryPasswordToken token : TESTS.keySet()) { + Date expected = TESTS.get(token); + token.setExpiresAt(new Date(125, Calendar.JANUARY, 2)); + assertEquals(TESTS.get(token), token.getExpiresAt()); + } } @Test - void get_expiration_date() { -// Date[] expected = new Date[]{new Date(2024, 1, 2), new Date(2024, 3, 4), new Date(2024, 5, 6)}; -// for (int i = 0; i < FIXTURE.length; i++) { -// assertEquals(expected[i], FIXTURE[i].getExpirationDate()); -// } - // TODO Implement this method - fail(); - } - - @Test - void to_string_return_the_rigth_format() { - // TODO Implement this method - fail(); + void test_ToString() { + final HashMap TESTS = new HashMap<>() {{ + put(new RecoveryPasswordToken(new BigDecimal(1), "token1", null, new Date(124, Calendar.FEBRUARY, 2)), + "RecoveryPasswordToken{id=1, token=token1, user=null, expiresAt=Fri Feb 02 00:00:00 CET 2024}"); + put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User( + new BigDecimal(1), + "username1", + "email1", + "password1", + new Date(96, Calendar.FEBRUARY, 4), + User.Gender.MALE, + null + ), new Date(124, Calendar.APRIL, 4)), + "RecoveryPasswordToken{id=2, token=token2, " + + "user=User{id='1', username=username1, email=email1, birth='Sun Feb 04 00:00:00 CET 1996', gender='MALE'}, " + + "expiresAt=Thu Apr 04 00:00:00 CEST 2024}"); + put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date(124, Calendar.JUNE, 6)), + "RecoveryPasswordToken{id=3, token=token3, " + + "user=User{id='null', username=null, email=null, birth='null', gender='null'}, expiresAt=Thu Jun 06 00:00:00 CEST 2024}"); + }}; + for (RecoveryPasswordToken token : TESTS.keySet()) + assertEquals(TESTS.get(token), token.toString()); } } diff --git a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/UserTest.java b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/UserTest.java index dbb1d7c..7c30dbd 100644 --- a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/UserTest.java +++ b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/UserTest.java @@ -2,7 +2,6 @@ package uppa.project.pojo; import java.math.BigDecimal; import java.util.ArrayList; -import java.util.Calendar; import java.util.Date; import java.util.HashMap; import org.junit.jupiter.api.Test; @@ -11,7 +10,6 @@ import static org.junit.jupiter.api.Assertions.*; class UserTest { - @Test void test_constructor() { new User(); @@ -22,9 +20,6 @@ class UserTest { @Test void test_getId() { - Calendar date = Calendar.getInstance(); - date.set(1996,6,3); - date.getTime(); final HashMap TESTS = new HashMap<>() {{ put(new User(new BigDecimal(1), "username1", "email1", "password1", new Date(1996-1900,2,6), User.Gender.MALE,null), new BigDecimal(1));