feat: dev-web - Pojo's tests completed

This commit is contained in:
kmitresse
2024-03-27 22:23:55 +01:00
parent 4ad14f2eec
commit 7cc68d1092
10 changed files with 460 additions and 354 deletions
@@ -44,6 +44,9 @@ public class Card {
* @see Value * @see Value
*/ */
public Card(Color color, Value value) { public Card(Color color, Value value) {
if (color == null || value == null) {
throw new IllegalArgumentException("Color cannot be null");
}
this.color = color; this.color = color;
this.value = value; this.value = value;
} }
@@ -80,16 +80,10 @@ public class Game implements Serializable {
* @param nbValuesPerColor le nombre de valeurs par couleur * @param nbValuesPerColor le nombre de valeurs par couleur
*/ */
public Game(Difficulty difficulty, int nbRounds, int nbColors, int nbValuesPerColor) { 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; 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.nbRounds = nbRounds;
this.nbColors = nbColors; this.nbColors = nbColors;
this.nbValuesPerColor = nbValuesPerColor; this.nbValuesPerColor = nbValuesPerColor;
@@ -109,22 +103,17 @@ public class Game implements Serializable {
* @param players les joueurs de la partie * @param players les joueurs de la partie
*/ */
public Game(BigDecimal id, Date createdAt, Difficulty difficulty, int nbRounds, int nbColors, int nbValuesPerColor, ArrayList<Player> players) { public Game(BigDecimal id, Date createdAt, Difficulty difficulty, int nbRounds, int nbColors, int nbValuesPerColor, ArrayList<Player> 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.id = id;
this.createdAt = createdAt; this.createdAt = createdAt;
this.difficulty = difficulty; 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.nbRounds = nbRounds;
this.nbColors = nbColors; this.nbColors = nbColors;
this.nbValuesPerColor = nbValuesPerColor; this.nbValuesPerColor = nbValuesPerColor;
this.players = players; this.players = players;
this.deck = new Deck(nbColors, nbValuesPerColor);
} }
@Override @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 @Override
public String toString() { 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 @Override
@@ -267,7 +267,15 @@ public class Player implements Serializable {
@Override @Override
public String toString() { 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 @Override
@@ -133,12 +133,11 @@ public class RecoveryPasswordToken {
@Override @Override
public String toString() { public String toString() {
return "RecoveryPasswordToken{" + return String.format("RecoveryPasswordToken{id=%s, token=%s, user=%s, expiresAt=%s}",
"id=" + id + id != null ? id.toString() : "null",
", token='" + token + '\'' + token != null ? token : "null",
", user=" + user + user != null ? user.toString() : "null",
", expiresAt=" + expiresAt + expiresAt != null ? expiresAt.toString() : "null");
'}';
} }
/** /**
@@ -349,10 +349,10 @@ public class User implements Serializable {
return String.format( return String.format(
"User{id='%s', username=%s, email=%s, birth='%s', gender='%s'}", "User{id='%s', username=%s, email=%s, birth='%s', gender='%s'}",
id != null ? id.toString() : "null", id != null ? id.toString() : "null",
username, username != null ? username : "null",
email, email != null ? email : "null",
birth.toString(), birth != null ? birth.toString() : "null",
gender.toString() gender != null ? gender.toString() : "null"
); );
} }
@@ -1,8 +1,6 @@
package uppa.project.pojo; package uppa.project.pojo;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals; 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.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
class DeckTest { class DeckTest {
@@ -136,4 +133,4 @@ class DeckTest {
mockDeck2.shuffle(); mockDeck2.shuffle();
assertEquals(mockDeck, mockDeck2); assertEquals(mockDeck, mockDeck2);
} }
} }
@@ -3,311 +3,378 @@ package uppa.project.pojo;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.HashMap;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
class GameTest { class GameTest {
static Game[] FIXTURE;
@BeforeEach @Test
void setUp() { void test_constructor() {
FIXTURE = new Game[] { new Game();
new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,6, new ArrayList<Player>()), new Game(Game.Difficulty.EASY, 17, 3,6);
new Game(new BigDecimal(2), new Date(2024,3,26), Game.Difficulty.HARD, 52, 4,13, new ArrayList<Player>()), new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,6, new ArrayList<Player>());
new Game(new BigDecimal(3), new Date(2023,9,18), Game.Difficulty.EASY, 5, 2,10, new ArrayList<Player>()), new Game(new BigDecimal(2), new Date(2024,3,26), Game.Difficulty.HARD, 52, 4,13, new ArrayList<Player>());
};
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 @Test
void error_if_invalid_nbrounds() { void test_constructor_throwIllegalArgumentExceptionOnInvalidValues(){
//In constructor int[] INCORRECT_VALUES = {Integer.MIN_VALUE, -2, 0, 14, Integer.MAX_VALUE};
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 0, 3,6, new ArrayList<Player>())); for (int incorrect_value : INCORRECT_VALUES) {
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, -1, 3,6, new ArrayList<Player>())); assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,4*incorrect_value,4, incorrect_value));
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, -5, 3,6, new ArrayList<Player>()));
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 19, 3,6, new ArrayList<Player>()));
//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));
} }
} }
@Test @Test
void error_if_invalid_nbColors() { void test_constructor_throwIllegalArgumentExceptionOnInvalidColors(){
//In constructor int[] INCORRECT_VALUES = {Integer.MIN_VALUE, -9, -2, 0, 5, 8, Integer.MAX_VALUE};
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 0,6, new ArrayList<Player>())); for (int incorrect_value : INCORRECT_VALUES) {
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, -1,6, new ArrayList<Player>())); assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,4*incorrect_value,incorrect_value, 13));
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, -5,6, new ArrayList<Player>()));
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 5,6, new ArrayList<Player>()));
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 17,6, new ArrayList<Player>()));
//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<Player>()));
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,-1, new ArrayList<Player>()));
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,-5, new ArrayList<Player>()));
assertThrows(IllegalArgumentException.class, () -> new Game(new BigDecimal(1), new Date(2023,12,25), Game.Difficulty.EASY, 17, 3,14, new ArrayList<Player>()));
//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());
} }
} }
@Test @Test
void get_Created_At() { void test_constructor_throwIllegalArgumentExceptionOnInvalidNbRounds(){
Date[] dates = new Date[]{new Date(2023,12,25), assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,0,4, 8));
new Date(2024,3,26), assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,33,4, 8));
new Date(2023,9,18)}; assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,-5,4, 8));
for (int i = 0; i < FIXTURE.length; i++) { assertThrows(IllegalArgumentException.class, () -> new Game(Game.Difficulty.EASY,13,2, 6));
assertEquals(dates[i], FIXTURE[i].getCreatedAt()); }
@Test
void test_getId() {
final HashMap<Game, BigDecimal> 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 @Test
void get_Difficulty() { void test_getCreatedAt() {
Game.Difficulty[] difficulties = new Game.Difficulty[]{ final HashMap<Game, Date> TESTS = new HashMap<>() {{
Game.Difficulty.EASY, put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null),
Game.Difficulty.HARD, new Date(2024-1900,5,6));
Game.Difficulty.EASY }; put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.EASY, 17, 3,6, null),
for (int i = 0; i < FIXTURE.length; i++) { new Date(2023-1900,7,9));
assertEquals(difficulties[i], FIXTURE[i].getDifficulty()); 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 @Test
void set_difficulty() { void test_getDifficulty() {
Game.Difficulty[] difficulties = new Game.Difficulty[]{ final HashMap<Game, Game.Difficulty> TESTS = new HashMap<>() {{
Game.Difficulty.EASY, put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null),
Game.Difficulty.HARD, Game.Difficulty.EASY);
Game.Difficulty.EASY }; put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 17, 3,6, null),
for (int i = 0; i < FIXTURE.length; i++) { Game.Difficulty.HARD);
FIXTURE[i].setDifficulty(Game.Difficulty.HARD); put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 17, 3,6, null),
assertEquals(Game.Difficulty.HARD, FIXTURE[i].getDifficulty()); Game.Difficulty.EASY);
FIXTURE[i].setDifficulty(difficulties[i]); }};
assertEquals(difficulties[i], FIXTURE[i].getDifficulty()); for (Game game : TESTS.keySet()) {
assertEquals(TESTS.get(game), game.getDifficulty());
} }
} }
@Test @Test
void get_nb_Rounds() { void test_setDifficulty() {
int[] nbRounds = new int[]{17, 52, 5}; final HashMap<Game, Game.Difficulty> TESTS = new HashMap<>() {{
for (int i = 0; i < FIXTURE.length; i++) { put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null),
assertEquals(nbRounds[i], FIXTURE[i].getNbRounds()); 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 @Test
void set_nb_Rounds() { void test_getNbRounds() {
int[] nbRounds = new int[]{17, 52, 5}; final HashMap<Game, Integer> TESTS = new HashMap<>() {{
for (int i = 0; i < FIXTURE.length; i++) { put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null),
FIXTURE[i].setNbRounds(10); 17);
assertEquals(10, FIXTURE[i].getNbRounds()); put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null),
FIXTURE[i].setNbRounds(nbRounds[i]); 28);
assertEquals(nbRounds[i], FIXTURE[i].getNbRounds()); 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 @Test
void get_nb_Colors() { void test_setNbRounds() {
int[] nbColors = new int[]{3, 4, 2}; final HashMap<Game, Integer> TESTS = new HashMap<>() {{
for (int i = 0; i < FIXTURE.length; i++) { put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null),
assertEquals(nbColors[i], FIXTURE[i].getNbColors()); 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 @Test
void set_nb_Colors() { void test_getNbColors() {
int[] nbColors = new int[]{3, 4, 2}; final HashMap<Game, Integer> TESTS = new HashMap<>() {{
for (int i = 0; i < FIXTURE.length; i++) { put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null),
FIXTURE[i].setNbColors(1); 3);
assertEquals(1, FIXTURE[i].getNbColors()); put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null),
FIXTURE[i].setNbColors(nbColors[i]); 4);
assertEquals(nbColors[i], FIXTURE[i].getNbColors()); 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 @Test
void getnbValuesPerColor() { void test_setNbColors() {
int[] nbValuesPerColor = new int[]{6, 13, 10}; final HashMap<Game, Integer> TESTS = new HashMap<>() {{
for (int i = 0; i < FIXTURE.length; i++) { put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null),
assertEquals(nbValuesPerColor[i], FIXTURE[i].getNbValuesPerColor()); 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 @Test
void setNbValuesPerColor() { void test_getNbValuesPerColor() {
int[] nbValuesPerColor = new int[]{6, 13, 10}; final HashMap<Game, Integer> TESTS = new HashMap<>() {{
for (int i = 0; i < FIXTURE.length; i++) { put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null),
FIXTURE[i].setNbValuesPerColor(8); 6);
assertEquals(8,FIXTURE[i].getNbValuesPerColor()); put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null),
FIXTURE[i].setNbValuesPerColor(nbValuesPerColor[i]); 13);
assertEquals(nbValuesPerColor[i], FIXTURE[i].getNbValuesPerColor()); 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 @Test
void get_Players_return_rigth_number_of_players() { void test_setNbValuesPerColor() {
Player[] players = new Player[]{ final HashMap<Game, Integer> TESTS = new HashMap<>() {{
new Player(FIXTURE[0], new User("username1", "email1", "password1", new Date(1996, 4, 7), User.Gender.MALE)), put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null),
new Player(FIXTURE[1], new User("username2", "email2", "password2", new Date(1996, 4, 7), User.Gender.MALE)), 12);
new Player(FIXTURE[2], new User("username3", "email3", "password3", new Date(1996, 4, 7), User.Gender.MALE)), put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, null),
new Player(FIXTURE[0], new User("username4", "email4", "password4", new Date(1996, 4, 7), User.Gender.MALE)), 12);
}; put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null),
assertEquals(2, FIXTURE[0].getPlayers().size()); 12);
assertEquals(1, FIXTURE[1].getPlayers().size()); }};
assertEquals(1, FIXTURE[2].getPlayers().size()); for (Game game : TESTS.keySet()) {
} int expected = TESTS.get(game);
game.setNbValuesPerColor(12);
@Test assertEquals(expected, game.getNbValuesPerColor());
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<Player> newPlayers1 = new ArrayList<Player>();
newPlayers1.add(players[0]);
newPlayers1.add(players[3]);
ArrayList<Player> newPlayers2 = new ArrayList<Player>();
newPlayers2.add(players[1]);
ArrayList<Player> newPlayers3 = new ArrayList<Player>();
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());
} }
} }
@Test @Test
void addPlayer() { void test_getPlayers() {
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); ArrayList<Player> players1 = new ArrayList<>();
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); ArrayList<Player> players2 = new ArrayList<>();
FIXTURE[0].addPlayer(player1); ArrayList<Player> players3 = new ArrayList<>();
assertEquals(FIXTURE[0].getPlayers().size(), 3); players1.add(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5, 5, 5));
FIXTURE[0].addPlayer(player2); players2.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 5, 5, 5));
assertEquals(FIXTURE[0].getPlayers().size(), 4); players2.add(new Player(new BigDecimal(3), new Game(), new User(), 10, true, 5, 5, 5));
Player[] expected = new Player[]{ players3.add(new Player(new BigDecimal(4), new Game(), new User(), 10, true, 5, 5, 5));
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), players3.add(new Player(new BigDecimal(5), new Game(), new User(), 10, true, 5, 5, 5));
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), players3.add(new Player(new BigDecimal(6), new Game(), new User(), 10, true, 5, 5, 5));
player1, final HashMap<Game, ArrayList<Player>> TESTS = new HashMap<>() {{
player2 put(new Game(new BigDecimal(1), new Date(2024 - 1900, 5, 6), Game.Difficulty.EASY, 17, 3, 6, players1),
}; players1);
assertEquals(expected[0], FIXTURE[0].getPlayers().get(0)); put(new Game(new BigDecimal(2), new Date(2023 - 1900, 7, 9), Game.Difficulty.HARD, 28, 4, 13, players2),
assertEquals(expected[1], FIXTURE[0].getPlayers().get(1)); players2);
assertEquals(expected[2], FIXTURE[0].getPlayers().get(2)); put(new Game(new BigDecimal(3), new Date(2022 - 1900, 11, 12), Game.Difficulty.EASY, 16, 2, 9, players3),
assertEquals(expected[3], FIXTURE[0].getPlayers().get(3)); players3);
}};
for (Game game : TESTS.keySet()) {
assertEquals(TESTS.get(game), game.getPlayers());
}
}
@Test
void test_setPlayers() {
ArrayList<Player> 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<Game, ArrayList<Player>> 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<Player> expected = TESTS.get(game);
game.setPlayers(players);
assertEquals(expected, game.getPlayers());
}
}
@Test
void test_getNbPlayers() {
ArrayList<Player> players1 = new ArrayList<>();
ArrayList<Player> players2 = new ArrayList<>();
ArrayList<Player> 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<Game, Integer> 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<Player> players1 = new ArrayList<>();
ArrayList<Player> players2 = new ArrayList<>();
ArrayList<Player> 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<Player> players1Expected = new ArrayList<>();
ArrayList<Player> players2Expected = new ArrayList<>();
ArrayList<Player> 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<Game, ArrayList<Player>> 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<Player> expected = TESTS.get(game);
game.addPlayer(player);
assertEquals(expected, game.getPlayers());
}
} }
@Test @Test
void getDeck() { void getDeck() {
final HashMap<Game, Deck> 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 @Test
void sortPlayersByScore() { void sortPlayersByScore() {
ArrayList<Player> players1 = new ArrayList<>();
ArrayList<Player> players2 = new ArrayList<>();
ArrayList<Player> 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), //Expected arrays
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<Player> players1Expected = new ArrayList<>();
}; ArrayList<Player> players2Expected = new ArrayList<>();
ArrayList<Player> players = FIXTURE[0].getPlayers(); ArrayList<Player> players3Expected = new ArrayList<>();
for (int i = 0; i < players.size(); i++) { players1Expected.add(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5));
assertEquals(initial[i], players.get(i)); 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));
Player[] expected = new Player[]{ players3Expected.add(new Player(new BigDecimal(6), new Game(), new User(), 13, true, 5,5,5));
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), players3Expected.add(new Player(new BigDecimal(5), new Game(), new User(), 9, true, 5,5,5));
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), players3Expected.add(new Player(new BigDecimal(4), new Game(), new User(), 6, true, 5,5,5));
};
FIXTURE[0].sortPlayersByScore(); final HashMap<Game, ArrayList<Player>> TESTS = new HashMap<>() {{
players = FIXTURE[0].getPlayers(); put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, players1),
for (int i = 0; i < players.size(); i++) { players1Expected);
System.out.println(i); put(new Game(new BigDecimal(2), new Date(2023-1900,7,9), Game.Difficulty.HARD, 28, 4,13, players2),
assertEquals(expected[i], players.get(i)); 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<Player> expected = TESTS.get(game);
game.sortPlayersByScore();
assertEquals(expected, game.getPlayers());
} }
} }
@Test @Test
void to_string_return_the_right_format() { void test_toString() {
String[] expected = new String[]{ final HashMap<Game, String> TESTS = new HashMap<>() {{
"Game{id=1, createdAt=2023-12-25, players=[]}", put(new Game(new BigDecimal(1), new Date(2024-1900,5,6), Game.Difficulty.EASY, 17, 3,6, null),
"Game{id=2, createdAt=2024-03-26, players=[]}", "Game{id=1, createdAt=Thu Jun 06 00:00:00 CEST 2024, difficulty=EASY, nbRounds=17, nbColors=3, nbValuesPerColor=6}");
"Game{id=3, createdAt=2023-09-18, players=[]}" 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}");
for (int i = 0; i < FIXTURE.length; i++) { put(new Game(new BigDecimal(3), new Date(2022-1900,11,12), Game.Difficulty.EASY, 16, 2,9, null),
assertEquals(FIXTURE[i].toString(), expected[i]); "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());
}
} }
} }
@@ -1,10 +1,8 @@
package uppa.project.pojo; package uppa.project.pojo;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
@@ -294,7 +292,7 @@ class PlayerTest {
for (Player player : TESTS.keySet()) { for (Player player : TESTS.keySet()) {
int expected = TESTS.get(player); int expected = TESTS.get(player);
player.setRightClickCount(3); player.setRightClickCount(3);
assertEquals(expected, player.getRapidClickCount()); assertEquals(expected, player.getRightClickCount());
} }
} }
@@ -308,7 +306,7 @@ class PlayerTest {
}}; }};
for (Player player : TESTS.keySet()) { for (Player player : TESTS.keySet()) {
int expected = TESTS.get(player); int expected = TESTS.get(player);
player.incrementRightClickCount(); player.incrementRapidClickCount();
assertEquals(expected, player.getRapidClickCount()); assertEquals(expected, player.getRapidClickCount());
} }
} }
@@ -350,7 +348,24 @@ class PlayerTest {
@Test @Test
void test_to_string() { void test_to_string() {
// TODO Implement this method Game game = new Game(new BigDecimal(1), new Date(2024-1900,3,27), Game.Difficulty.EASY,20,4,5,null);
fail(); User user = new User("username1", "email1", "password1", new Date(1996-1900,2,20), User.Gender.MALE);
final HashMap<Player, String> 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());
}
} }
} }
@@ -7,21 +7,9 @@ import java.util.HashMap;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;
class RecoveryPasswordTokenTest { 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<Player>()), 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<Player>()), 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<Player>()), new Date(2024, 5, 6))};
// }
@Test @Test
void test_constructor() { void test_constructor() {
new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date(124, Calendar.FEBRUARY, 2)); new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date(124, Calendar.FEBRUARY, 2));
@@ -70,27 +58,27 @@ class RecoveryPasswordTokenTest {
new RecoveryPasswordToken( new RecoveryPasswordToken(
new BigDecimal(1), new BigDecimal(1),
"token1", "token1",
new User( new User(new BigDecimal(1), "username1", "email1", "password1", new Date(96, Calendar.FEBRUARY, 4), User.Gender.MALE, null),
new BigDecimal(1),
"username1",
"password1",
"email1",
new Date(196, Calendar.FEBRUARY, 4),
User.Gender.MALE,
null
),
new Date()), new Date()),
new User( new User(new BigDecimal(1), "username1", "email1", "password1", new Date(96, Calendar.FEBRUARY, 4), User.Gender.MALE, null)
new BigDecimal(1), );
"username1",
"password1", put(
"email1", new RecoveryPasswordToken(
new Date(196, Calendar.FEBRUARY, 4), new BigDecimal(2),
User.Gender.MALE, "token2",
null 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()) for (RecoveryPasswordToken token : TESTS.keySet())
@@ -99,58 +87,92 @@ class RecoveryPasswordTokenTest {
@Test @Test
void set_user() { void set_user() {
// User[] expected = new User[]{new User(new BigDecimal(4), "username4", "password4", "email4", new Date(1996, 4, 7), User.Gender.MALE, final HashMap<RecoveryPasswordToken, User> TESTS = new HashMap<>() {{
// new ArrayList<Player>()), new User(new BigDecimal(5), "username5", "password5", "email5", new Date(1996, 5, 8), User.Gender.FEMALE, put(
// new ArrayList<Player>()), new User(new BigDecimal(6), "username6", "password6", "email6", new Date(1996, 6, 9), User.Gender.OTHER, new RecoveryPasswordToken(
// new ArrayList<Player>())}; new BigDecimal(1),
// for (int i = 0; i < FIXTURE.length; i++) { "token1",
// FIXTURE[i].setUser(expected[i]); null,
// assertEquals(expected[i].getId(), FIXTURE[i].getUser().getId()); new Date()),
// assertEquals(expected[i].getUsername(), FIXTURE[i].getUser().getUsername()); new User(new BigDecimal(1), "username000", "email000", "password000", new Date(9, Calendar.FEBRUARY, 4), User.Gender.MALE, null
// assertEquals(expected[i].getPassword(), FIXTURE[i].getUser().getPassword()); )
// assertEquals(expected[i].getEmail(), FIXTURE[i].getUser().getEmail()); );
// assertEquals(expected[i].getBirth(), FIXTURE[i].getUser().getBirth()); put(
// assertEquals(expected[i].getGender(), FIXTURE[i].getUser().getGender()); new RecoveryPasswordToken(
// assertEquals(expected[i].getPlayedGames(), FIXTURE[i].getUser().getPlayedGames()); new BigDecimal(2),
// } "token2",
// TODO Implement this method new User(new BigDecimal(2), "username2", "email2", "password2", new Date(101, Calendar.MAY, 12), User.Gender.OTHER, null),
fail(); 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 @Test
void get_expires_at() { void get_expiresAt() {
// Date[] expected = new Date[]{new Date(2024, 1, 2), new Date(2024, 3, 4), new Date(2024, 5, 6)}; final HashMap<RecoveryPasswordToken, Date> TESTS = new HashMap<>() {{
// for (int i = 0; i < FIXTURE.length; i++) { put(new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date(124, Calendar.FEBRUARY, 2)), new Date(124, Calendar.FEBRUARY, 2));
// assertEquals(expected[i], FIXTURE[i].getExpiresAt()); 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));
// TODO Implement this method }};
fail(); for (RecoveryPasswordToken token : TESTS.keySet())
assertEquals(TESTS.get(token), token.getExpiresAt());
} }
@Test @Test
void set_expires_at() { void set_expires_at() {
// Date[] expected = new Date[]{new Date(2024, 2, 3), new Date(2024, 4, 5), new Date(2024, 6, 7)}; final HashMap<RecoveryPasswordToken, Date> TESTS = new HashMap<>() {{
// for (int i = 0; i < FIXTURE.length; i++) { put(new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date(124, Calendar.FEBRUARY, 2)), new Date(125, Calendar.JANUARY, 2));
// FIXTURE[i].setExpiresAt(expected[i]); put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User(), new Date(124, Calendar.APRIL, 4)), new Date(125, Calendar.JANUARY, 2));
// assertEquals(expected[i], FIXTURE[i].getExpiresAt()); put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date(124, Calendar.JUNE, 6)), new Date(125, Calendar.JANUARY, 2));
// } }};
// TODO Implement this method for (RecoveryPasswordToken token : TESTS.keySet()) {
fail(); Date expected = TESTS.get(token);
token.setExpiresAt(new Date(125, Calendar.JANUARY, 2));
assertEquals(TESTS.get(token), token.getExpiresAt());
}
} }
@Test @Test
void get_expiration_date() { void test_ToString() {
// Date[] expected = new Date[]{new Date(2024, 1, 2), new Date(2024, 3, 4), new Date(2024, 5, 6)}; final HashMap<RecoveryPasswordToken, String> TESTS = new HashMap<>() {{
// for (int i = 0; i < FIXTURE.length; i++) { put(new RecoveryPasswordToken(new BigDecimal(1), "token1", null, new Date(124, Calendar.FEBRUARY, 2)),
// assertEquals(expected[i], FIXTURE[i].getExpirationDate()); "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(
// TODO Implement this method new BigDecimal(1),
fail(); "username1",
} "email1",
"password1",
@Test new Date(96, Calendar.FEBRUARY, 4),
void to_string_return_the_rigth_format() { User.Gender.MALE,
// TODO Implement this method null
fail(); ), 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());
} }
} }
@@ -2,7 +2,6 @@ package uppa.project.pojo;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@@ -11,7 +10,6 @@ import static org.junit.jupiter.api.Assertions.*;
class UserTest { class UserTest {
@Test @Test
void test_constructor() { void test_constructor() {
new User(); new User();
@@ -22,9 +20,6 @@ class UserTest {
@Test @Test
void test_getId() { void test_getId() {
Calendar date = Calendar.getInstance();
date.set(1996,6,3);
date.getTime();
final HashMap<User, BigDecimal> TESTS = new HashMap<>() {{ final HashMap<User, BigDecimal> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(new User(new BigDecimal(1), "username1", "email1", "password1",
new Date(1996-1900,2,6), User.Gender.MALE,null), new BigDecimal(1)); new Date(1996-1900,2,6), User.Gender.MALE,null), new BigDecimal(1));