fix: dev-web - add fixtures on User and RecoveryPasswordToken tests

This commit is contained in:
kmitresse
2024-03-28 07:29:40 +01:00
parent b735bea1aa
commit 97ac164e43
3 changed files with 215 additions and 365 deletions
@@ -251,6 +251,15 @@ public class User implements Serializable {
return playedGames; return playedGames;
} }
/**
* ajoute un partie dans la liste des parties jouées
*
* @param player la nouvelle partie jouée
*/
public void addPlayedGame(Player player){
playedGames.add(player);
}
/** /**
* Récupère le nombre de parties jouées * Récupère le nombre de parties jouées
* *
@@ -4,12 +4,46 @@ import java.math.BigDecimal;
import java.util.Calendar; 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.BeforeAll;
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.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
class RecoveryPasswordTokenTest { class RecoveryPasswordTokenTest {
RecoveryPasswordToken[] fixture;
static User[] usersFixture;
@BeforeAll
static void beforeAll() {
usersFixture = new User[]{
new User(new BigDecimal(1), "username1", "email1", "password1", new Date(96, Calendar.FEBRUARY, 20), User.Gender.MALE, null),
new User(new BigDecimal(2), "username2", "email2", "password2", new Date(101, Calendar.MAY, 12), User.Gender.OTHER, null),
new User(new BigDecimal(3), "username3", "email3", "password3", new Date(100, Calendar.SEPTEMBER, 30), User.Gender.FEMALE, null)
};
}
@BeforeEach
void beforeEach() {
fixture = new RecoveryPasswordToken[]{
new RecoveryPasswordToken(
new BigDecimal(1),
"token1",
usersFixture[0],
new Date(124, Calendar.MARCH,28)),
new RecoveryPasswordToken(
new BigDecimal(2),
"token2", usersFixture[1]
, new Date(124, Calendar.JULY,14)),
new RecoveryPasswordToken(
new BigDecimal(3),
"token3",
usersFixture[2],
new Date(124, Calendar.SEPTEMBER,5))
};
}
@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));
@@ -20,9 +54,9 @@ class RecoveryPasswordTokenTest {
@Test @Test
void test_getId() { void test_getId() {
HashMap<RecoveryPasswordToken, BigDecimal> TESTS = new HashMap<>() {{ HashMap<RecoveryPasswordToken, BigDecimal> TESTS = new HashMap<>() {{
put(new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date()), new BigDecimal(1)); put(fixture[0], new BigDecimal(1));
put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User(), new Date()), new BigDecimal(2)); put(fixture[1], new BigDecimal(2));
put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date()), new BigDecimal(3)); put(fixture[2], new BigDecimal(3));
}}; }};
for (RecoveryPasswordToken token : TESTS.keySet()) for (RecoveryPasswordToken token : TESTS.keySet())
@@ -33,9 +67,9 @@ class RecoveryPasswordTokenTest {
void test_getToken() { void test_getToken() {
HashMap<RecoveryPasswordToken, String> TESTS = new HashMap<>() { HashMap<RecoveryPasswordToken, String> TESTS = new HashMap<>() {
{ {
put(new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date()), "token1"); put(fixture[0], "token1");
put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User(), new Date()), "token2"); put(fixture[1], "token2");
put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date()), "token3"); put(fixture[2], "token3");
}}; }};
for (RecoveryPasswordToken token : TESTS.keySet()) for (RecoveryPasswordToken token : TESTS.keySet())
@@ -53,84 +87,32 @@ class RecoveryPasswordTokenTest {
@Test @Test
void test_getUser() { void test_getUser() {
final HashMap<RecoveryPasswordToken, User> TESTS = new HashMap<>() {{ final HashMap<RecoveryPasswordToken, User> TESTS = new HashMap<>() {
put( {
new RecoveryPasswordToken( put(fixture[0], usersFixture[0]);
new BigDecimal(1), put(fixture[1], usersFixture[1]);
"token1", put(fixture[2], usersFixture[2]);
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", "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)
);
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())
assertEquals(TESTS.get(token), token.getUser()); assertEquals(TESTS.get(token), token.getUser());
} }
@Test @Test
void set_user() { void set_user() {
final HashMap<RecoveryPasswordToken, User> TESTS = new HashMap<>() {{ RecoveryPasswordToken token = fixture[0];
put( assertEquals(usersFixture[0], token.getUser());
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());
}
User newUser = usersFixture[1];
token.setUser(newUser);
assertEquals(newUser, token.getUser());
} }
@Test @Test
void get_expiresAt() { void get_expiresAt() {
final HashMap<RecoveryPasswordToken, Date> TESTS = new HashMap<>() {{ final HashMap<RecoveryPasswordToken, Date> 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(fixture[0], new Date(124, Calendar.MARCH, 28));
put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User(), new Date(124, Calendar.APRIL, 4)), new Date(124, Calendar.APRIL, 4)); put(fixture[1], new Date(124, Calendar.JULY, 14));
put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date(124, Calendar.JUNE, 6)), new Date(124, Calendar.JUNE, 6)); put(fixture[2], new Date(124, Calendar.SEPTEMBER, 5));
}}; }};
for (RecoveryPasswordToken token : TESTS.keySet()) for (RecoveryPasswordToken token : TESTS.keySet())
assertEquals(TESTS.get(token), token.getExpiresAt()); assertEquals(TESTS.get(token), token.getExpiresAt());
@@ -139,38 +121,28 @@ class RecoveryPasswordTokenTest {
@Test @Test
void set_expires_at() { void set_expires_at() {
final HashMap<RecoveryPasswordToken, Date> TESTS = new HashMap<>() {{ RecoveryPasswordToken token = fixture[0];
put(new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date(124, Calendar.FEBRUARY, 2)), new Date(125, Calendar.JANUARY, 2)); assertEquals(new Date(124, Calendar.MARCH, 28), token.getExpiresAt());
put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User(), new Date(124, Calendar.APRIL, 4)), new Date(125, Calendar.JANUARY, 2)); Date newDate = new Date(124, Calendar.FEBRUARY, 3);
put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date(124, Calendar.JUNE, 6)), new Date(125, Calendar.JANUARY, 2)); token.setExpiresAt(newDate);
}}; assertEquals(newDate, token.getExpiresAt());
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 @Test
void test_ToString() { void test_ToString() {
final HashMap<RecoveryPasswordToken, String> TESTS = new HashMap<>() {{ final HashMap<RecoveryPasswordToken, String> TESTS = new HashMap<>() {{
put(new RecoveryPasswordToken(new BigDecimal(1), "token1", null, new Date(124, Calendar.FEBRUARY, 2)), put(fixture[0],
"RecoveryPasswordToken{id=1, token=token1, user=null, expiresAt=Fri Feb 02 00:00:00 CET 2024}"); "RecoveryPasswordToken{id=1, token=token1, " +
put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User( "user=User{id='1', username=username1, email=email1, birth='Tue Feb 20 00:00:00 CET 1996', gender='MALE'}, " +
new BigDecimal(1), "expiresAt=Thu Mar 28 00:00:00 CET 2024}");
"username1", put(fixture[1],
"email1",
"password1",
new Date(96, Calendar.FEBRUARY, 4),
User.Gender.MALE,
null
), new Date(124, Calendar.APRIL, 4)),
"RecoveryPasswordToken{id=2, token=token2, " + "RecoveryPasswordToken{id=2, token=token2, " +
"user=User{id='1', username=username1, email=email1, birth='Sun Feb 04 00:00:00 CET 1996', gender='MALE'}, " + "user=User{id='2', username=username2, email=email2, birth='Sat May 12 00:00:00 CEST 2001', gender='OTHER'}, " +
"expiresAt=Thu Apr 04 00:00:00 CEST 2024}"); "expiresAt=Sun Jul 14 00:00:00 CEST 2024}");
put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date(124, Calendar.JUNE, 6)), put(fixture[2],
"RecoveryPasswordToken{id=3, token=token3, " + "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}"); "user=User{id='3', username=username3, email=email3, birth='Sat Sep 30 00:00:00 CEST 2000', gender='FEMALE'}, " +
"expiresAt=Thu Sep 05 00:00:00 CEST 2024}");
}}; }};
for (RecoveryPasswordToken token : TESTS.keySet()) for (RecoveryPasswordToken token : TESTS.keySet())
assertEquals(TESTS.get(token), token.toString()); assertEquals(TESTS.get(token), token.toString());
@@ -2,14 +2,63 @@ package uppa.project.pojo;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
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.BeforeAll;
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 UserTest { class UserTest {
User[] fixture;
static Player[][] playersFixture;
@BeforeAll
static void beforeAll() {
playersFixture = new Player[][]{
{
new Player(new BigDecimal(1),
new Game(Game.Difficulty.EASY, 20, 4, 13),
new User(), 10, false, 10, 9, 5)
},
{
new Player(new BigDecimal(2),
new Game(Game.Difficulty.EASY, 20, 4, 13),
new User(), 10, true, 20, 17, 12),
new Player(new BigDecimal(3),
new Game(Game.Difficulty.EASY, 20, 4, 13),
new User(), 10, false, 15, 5, 2)
},
{
new Player(new BigDecimal(4),
new Game(Game.Difficulty.EASY, 20, 4, 13),
new User(), 10, true, 5, 3, 1),
new Player(new BigDecimal(5),
new Game(Game.Difficulty.EASY, 20, 4, 13),
new User(), 10, true, 16, 16, 10),
new Player(new BigDecimal(6),
new Game(Game.Difficulty.EASY, 20, 4, 13),
new User(), 10, true, 17, 11, 4)
}
};
}
@BeforeEach
void beforeEach() {
fixture = new User[]{
new User(new BigDecimal(1), "username1", "email1", "password1",
new Date(1996 - 1900, Calendar.FEBRUARY, 20), User.Gender.MALE, new ArrayList<>(Arrays.asList(playersFixture[0]))),
new User(new BigDecimal(2), "username2", "email2", "password2",
new Date(1998 - 1900, Calendar.JUNE, 6), User.Gender.FEMALE, new ArrayList<>(Arrays.asList(playersFixture[1]))),
new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(1996 - 1900, Calendar.SEPTEMBER, 18), User.Gender.OTHER, new ArrayList<>(Arrays.asList(playersFixture[2]))),
};
}
@Test @Test
void test_constructor() { void test_constructor() {
new User(); new User();
@@ -21,12 +70,9 @@ class UserTest {
@Test @Test
void test_getId() { void test_getId() {
final HashMap<User, BigDecimal> TESTS = new HashMap<>() {{ final HashMap<User, BigDecimal> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], new BigDecimal(1));
new Date(1996-1900,2,6), User.Gender.MALE,null), new BigDecimal(1)); put(fixture[1], new BigDecimal(2));
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], new BigDecimal(3));
new Date(1996-1900, 2, 6), User.Gender.MALE,null), new BigDecimal(2));
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(1996-1900, 3, 5), User.Gender.MALE,null), new BigDecimal(3));
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getId()); assertEquals(TESTS.get(user), user.getId());
@@ -36,12 +82,9 @@ class UserTest {
@Test @Test
void test_getUsername() { void test_getUsername() {
final HashMap<User, String> TESTS = new HashMap<>() {{ final HashMap<User, String> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], "username1");
new Date(1996-1900, 1, 4), User.Gender.MALE,null), "username1"); put(fixture[1], "username2");
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], "username3");
new Date(1996-1900, 2, 6), User.Gender.MALE,null), "username2");
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(1996-1900, 3, 5), User.Gender.MALE,null), "username3");
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getUsername()); assertEquals(TESTS.get(user), user.getUsername());
@@ -50,30 +93,20 @@ class UserTest {
@Test @Test
void test_setUsername() { void test_setUsername() {
final HashMap<User, String> TESTS = new HashMap<>() {{ User user = fixture[0];
put(new User(new BigDecimal(1), "username1", "email1", "password1", assertEquals("username1", user.getUsername());
new Date(), User.Gender.MALE,null), "username");
put(new User(new BigDecimal(2), "username2", "email2", "password2", // Change the username
new Date(), User.Gender.MALE,null), "username"); user.setUsername("new-username");
put(new User(new BigDecimal(3), "username3", "email3", "password3", assertEquals("new-username", user.getUsername());
new Date(), User.Gender.MALE,null), "username");
}};
for (User user : TESTS.keySet()) {
String expected = TESTS.get(user);
user.setUsername("username");
assertEquals(expected, user.getUsername());
}
} }
@Test @Test
void test_getEmail() { void test_getEmail() {
final HashMap<User, String> TESTS = new HashMap<>() {{ final HashMap<User, String> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], "email1");
new Date(), User.Gender.MALE,null), "email1"); put(fixture[1], "email2");
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], "email3");
new Date(), User.Gender.MALE,null), "email2");
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.MALE,null), "email3");
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getEmail()); assertEquals(TESTS.get(user), user.getEmail());
@@ -82,30 +115,20 @@ class UserTest {
@Test @Test
void test_setEmail() { void test_setEmail() {
final HashMap<User, String> TESTS = new HashMap<>() {{ User user = fixture[0];
put(new User(new BigDecimal(1), "username1", "email1", "password1", assertEquals("email1", user.getEmail());
new Date(), User.Gender.MALE,null), "email");
put(new User(new BigDecimal(2), "username2", "email2", "password2", // Change the email
new Date(), User.Gender.MALE,null), "email"); user.setEmail("new-email");
put(new User(new BigDecimal(3), "username3", "email3", "password3", assertEquals("new-email", user.getEmail());
new Date(), User.Gender.MALE,null), "email");
}};
for (User user : TESTS.keySet()) {
String expected = TESTS.get(user);
user.setEmail("email");
assertEquals(expected, user.getEmail());
}
} }
@Test @Test
void test_getPassword() { void test_getPassword() {
final HashMap<User, String> TESTS = new HashMap<>() {{ final HashMap<User, String> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], "password1");
new Date(), User.Gender.MALE,null), "password1"); put(fixture[1], "password2");
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], "password3");
new Date(), User.Gender.MALE,null), "password2");
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.MALE,null), "password3");
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getPassword()); assertEquals(TESTS.get(user), user.getPassword());
@@ -115,65 +138,43 @@ class UserTest {
@Test @Test
void test_setPassword() { void test_setPassword() {
String newPassword = User.hashPassword("password"); User user = fixture[0];
System.out.println(newPassword); assertEquals("password1", user.getPassword());
final HashMap<User, String> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", // Change the password
new Date(), User.Gender.MALE,null), newPassword); user.setPassword("new-password");
put(new User(new BigDecimal(2), "username2", "email2", "password2", assertEquals(User.hashPassword("new-password"), user.getPassword());
new Date(), User.Gender.MALE,null), newPassword);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.MALE,null), newPassword);
}};
for (User user : TESTS.keySet()) {
String expected = TESTS.get(user);
user.setPassword("password");
assertEquals(expected, user.getPassword());
}
} }
@Test @Test
void test_getBirth() { void test_getBirth() {
final HashMap<User, Date> TESTS = new HashMap<>() {{ final HashMap<User, Date> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], new Date(1996 - 1900, Calendar.FEBRUARY, 20));
new Date(2000-1900, 5,1), User.Gender.MALE,null), new Date(2000-1900, 5,1)); put(fixture[1], new Date(1998 - 1900, Calendar.JUNE, 6));
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], new Date(1996 - 1900, Calendar.SEPTEMBER, 18));
new Date(2023-1900, 12,25), User.Gender.MALE,null),new Date(2023-1900, 12,25));
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(2000-1900, 3,03), User.Gender.MALE,null), new Date(2000-1900, 3,03));
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getBirth()); assertEquals(TESTS.get(user), user.getBirth());
} }
} }
@Test @Test
void setBirth() { void setBirth() {
//TODO: DELETE User user = fixture[0];
final HashMap<User, Date> TESTS = new HashMap<>() {{ assertEquals(new Date(1996 - 1900, Calendar.FEBRUARY, 20), user.getBirth());
put(new User(new BigDecimal(1), "username1", "email1", "password1",
new Date(2000-1900, 5,1), User.Gender.MALE,null), new Date(2000-1900, 1,1)); // Change the birth
put(new User(new BigDecimal(2), "username2", "email2", "password2", user.setBirth(new Date(1996 - 1900, Calendar.MARCH, 20));
new Date(2023-1900, 12,25), User.Gender.MALE,null),new Date(2000-1900, 1,1)); assertEquals(new Date(1996 - 1900, Calendar.MARCH, 20), user.getBirth());
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(2000-1900, 3,03), User.Gender.MALE,null), new Date(2000-1900, 1,1));
}};
for (User user : TESTS.keySet()) {
Date expected = TESTS.get(user);
user.setBirth(new Date(2000-1900, 1,1));
assertEquals(expected, user.getBirth());
}
} }
@Test @Test
void getGender() { void getGender() {
final HashMap<User, User.Gender> TESTS = new HashMap<>() {{ final HashMap<User, User.Gender> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], User.Gender.MALE);
new Date(), User.Gender.MALE,null), User.Gender.MALE); put(fixture[1], User.Gender.FEMALE);
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], User.Gender.OTHER);
new Date(), User.Gender.FEMALE,null), User.Gender.FEMALE);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.OTHER,null), User.Gender.OTHER);
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getGender()); assertEquals(TESTS.get(user), user.getGender());
@@ -182,19 +183,12 @@ class UserTest {
@Test @Test
void test_setGender() { void test_setGender() {
final HashMap<User, User.Gender> TESTS = new HashMap<>() {{ User user = fixture[0];
put(new User(new BigDecimal(1), "username1", "email1", "password1", assertEquals(User.Gender.MALE, user.getGender());
new Date(), User.Gender.MALE,null), User.Gender.OTHER);
put(new User(new BigDecimal(2), "username2", "email2", "password2", // Change the gender
new Date(), User.Gender.FEMALE,null), User.Gender.OTHER); user.setGender(User.Gender.FEMALE);
put(new User(new BigDecimal(3), "username3", "email3", "password3", assertEquals(User.Gender.FEMALE, user.getGender());
new Date(), User.Gender.OTHER,null), User.Gender.OTHER);
}};
for (User user : TESTS.keySet()) {
User.Gender expected = TESTS.get(user);
user.setGender(User.Gender.OTHER);
assertEquals(expected, user.getGender());
}
} }
@Test @Test
@@ -212,25 +206,10 @@ class UserTest {
@Test @Test
void test_getPlayedGames() { void test_getPlayedGames() {
// TODO: correct this test
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<User, ArrayList<Player>> TESTS = new HashMap<>() {{ final HashMap<User, ArrayList<Player>> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], new ArrayList<>(Arrays.asList(playersFixture[0])));
new Date(), User.Gender.MALE, players1), players1); put(fixture[1], new ArrayList<>(Arrays.asList(playersFixture[1])));
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], new ArrayList<>(Arrays.asList(playersFixture[2])));
new Date(), User.Gender.FEMALE,players2), players2);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.OTHER,players3), players3);
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getPlayedGames()); assertEquals(TESTS.get(user), user.getPlayedGames());
@@ -238,24 +217,24 @@ class UserTest {
} }
@Test
void test_addPlayedGame() {
User user = fixture[0];
Player player = new Player(new BigDecimal(4),
new Game(Game.Difficulty.EASY, 20, 4, 13),
new User(), 10, true, 5, 3, 1);
user.addPlayedGame(player);
ArrayList<Player> expected = new ArrayList<>(Arrays.asList(playersFixture[0]));
expected.add(player);
assertEquals(expected, user.getPlayedGames());
}
@Test @Test
void test_getNbPlayedGame() { void test_getNbPlayedGame() {
ArrayList<Player> players1 = new ArrayList<>();
ArrayList<Player> players2 = new ArrayList<>();
ArrayList<Player> players3 = new ArrayList<>();
players1.add(new Player());
players2.add(new Player());
players2.add(new Player());
players3.add(new Player());
players3.add(new Player());
players3.add(new Player());
final HashMap<User, Integer> TESTS = new HashMap<>() {{ final HashMap<User, Integer> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], 1);
new Date(), User.Gender.MALE, players1), 1); put(fixture[1], 2);
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], 3);
new Date(), User.Gender.FEMALE,players2), 2);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.OTHER,players3), 3);
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getPlayedGames().size()); assertEquals(TESTS.get(user), user.getPlayedGames().size());
@@ -264,25 +243,10 @@ class UserTest {
@Test @Test
void test_getNbWin() { void test_getNbWin() {
// TODO: correct this test
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, false, 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, false, 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<User, Integer> TESTS = new HashMap<>() {{ final HashMap<User, Integer> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], 0);
new Date(), User.Gender.MALE, players1), 0); put(fixture[1], 1);
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], 3);
new Date(), User.Gender.FEMALE,players2), 1);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.OTHER,players3), 3);
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getNbWin()); assertEquals(TESTS.get(user), user.getNbWin());
@@ -291,31 +255,11 @@ class UserTest {
@Test @Test
void test_getWinRate() { void test_getWinRate() {
// TODO: correct this test
ArrayList<Player> players1 = new ArrayList<>();
ArrayList<Player> players2 = new ArrayList<>();
ArrayList<Player> players3 = new ArrayList<>();
ArrayList<Player> players4 = new ArrayList<>();
players1.add(new Player(new BigDecimal(1), new Game(), new User(), 10, false, 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, false, 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));
players4.add(new Player(new BigDecimal(4), new Game(), new User(), 10, true, 5,5,5));
players4.add(new Player(new BigDecimal(5), new Game(), new User(), 10, false, 5,5,5));
players4.add(new Player(new BigDecimal(6), new Game(), new User(), 10, true, 5,5,5));
final HashMap<User, Double> TESTS = new HashMap<>() {{ final HashMap<User, Double> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], 0.0);
new Date(), User.Gender.MALE, players1), 0.); put(fixture[1], 50.);
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], 100.);
new Date(), User.Gender.FEMALE, players2), 50.);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.OTHER, players3), 100.);
put(new User(new BigDecimal(4), "username4", "email4", "password4",
new Date(), User.Gender.OTHER, players4), 66.66);
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getWinRate()); assertEquals(TESTS.get(user), user.getWinRate());
@@ -324,25 +268,10 @@ class UserTest {
@Test @Test
void test_getNbClicks() { void test_getNbClicks() {
// TODO: correct this test
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, false, 5,5,5));
players2.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 6,5,5));
players2.add(new Player(new BigDecimal(3), new Game(), new User(), 10, false, 7,5,5));
players3.add(new Player(new BigDecimal(4), new Game(), new User(), 10, true, 8,5,5));
players3.add(new Player(new BigDecimal(5), new Game(), new User(), 10, true, 9,5,5));
players3.add(new Player(new BigDecimal(6), new Game(), new User(), 10, true, 10,5,5));
final HashMap<User, Integer> TESTS = new HashMap<>() {{ final HashMap<User, Integer> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], 10);
new Date(), User.Gender.MALE, players1), 5); put(fixture[1], 35);
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], 38);
new Date(), User.Gender.FEMALE,players2), 6+7);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.OTHER,players3), 8+9+10);
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getNbClicks()); assertEquals(TESTS.get(user), user.getNbClicks());
@@ -351,25 +280,10 @@ class UserTest {
@Test @Test
void test_getNbRightClicks() { void test_getNbRightClicks() {
// TODO: correct this test
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, false, 5,1,5));
players2.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 6,2,5));
players2.add(new Player(new BigDecimal(3), new Game(), new User(), 10, false, 7,3,5));
players3.add(new Player(new BigDecimal(4), new Game(), new User(), 10, true, 8,4,5));
players3.add(new Player(new BigDecimal(5), new Game(), new User(), 10, true, 9,5,5));
players3.add(new Player(new BigDecimal(6), new Game(), new User(), 10, true, 10,6,5));
final HashMap<User, Integer> TESTS = new HashMap<>() {{ final HashMap<User, Integer> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], 9);
new Date(), User.Gender.MALE, players1), 1); put(fixture[1], 22);
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], 30);
new Date(), User.Gender.FEMALE,players2), 5);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.OTHER,players3), 15);
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getNbRightClicks()); assertEquals(TESTS.get(user), user.getNbRightClicks());
@@ -378,25 +292,10 @@ class UserTest {
@Test @Test
void test_getRightClickPercentRate() { void test_getRightClickPercentRate() {
// TODO: correct this test
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, false, 5,1,5));
players2.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 6,2,5));
players2.add(new Player(new BigDecimal(3), new Game(), new User(), 10, false, 7,3,5));
players3.add(new Player(new BigDecimal(4), new Game(), new User(), 10, true, 8,4,5));
players3.add(new Player(new BigDecimal(5), new Game(), new User(), 10, true, 9,5,5));
players3.add(new Player(new BigDecimal(6), new Game(), new User(), 10, true, 10,6,5));
final HashMap<User, Double> TESTS = new HashMap<>() {{ final HashMap<User, Double> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], 90.);
new Date(), User.Gender.MALE, players1), 20.); put(fixture[1], 62.85);
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], 78.94);
new Date(), User.Gender.FEMALE,players2), 38.46);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.OTHER,players3), 55.55);
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getRightClickPercentRate()); assertEquals(TESTS.get(user), user.getRightClickPercentRate());
@@ -405,25 +304,10 @@ class UserTest {
@Test @Test
void test_getNbRapidClicks() { void test_getNbRapidClicks() {
// TODO: correct this test
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, false, 5,1,5));
players2.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 6,2,4));
players2.add(new Player(new BigDecimal(3), new Game(), new User(), 10, false, 7,3,3));
players3.add(new Player(new BigDecimal(4), new Game(), new User(), 10, true, 8,4,2));
players3.add(new Player(new BigDecimal(5), new Game(), new User(), 10, true, 9,5,1));
players3.add(new Player(new BigDecimal(6), new Game(), new User(), 10, true, 10,6,0));
final HashMap<User, Integer> TESTS = new HashMap<>() {{ final HashMap<User, Integer> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], 5);
new Date(), User.Gender.MALE, players1), 5); put(fixture[1], 14);
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], 15);
new Date(), User.Gender.FEMALE,players2), 7);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.OTHER,players3), 3);
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getNbRapidClicks()); assertEquals(TESTS.get(user), user.getNbRapidClicks());
@@ -432,25 +316,10 @@ class UserTest {
@Test @Test
void test_getRapidClickPercentRate() { void test_getRapidClickPercentRate() {
// TODO: correct this test
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, false, 5,1,5));
players2.add(new Player(new BigDecimal(2), new Game(), new User(), 10, true, 6,2,4));
players2.add(new Player(new BigDecimal(3), new Game(), new User(), 10, false, 7,3,3));
players3.add(new Player(new BigDecimal(4), new Game(), new User(), 10, true, 8,4,2));
players3.add(new Player(new BigDecimal(5), new Game(), new User(), 10, true, 9,5,1));
players3.add(new Player(new BigDecimal(6), new Game(), new User(), 10, true, 10,6,0));
final HashMap<User, Double> TESTS = new HashMap<>() {{ final HashMap<User, Double> TESTS = new HashMap<>() {{
put(new User(new BigDecimal(1), "username1", "email1", "password1", put(fixture[0], 50.);
new Date(), User.Gender.MALE, players1), 100.); put(fixture[1], 40.);
put(new User(new BigDecimal(2), "username2", "email2", "password2", put(fixture[2], 39.47);
new Date(), User.Gender.FEMALE,players2), 53.84);
put(new User(new BigDecimal(3), "username3", "email3", "password3",
new Date(), User.Gender.OTHER,players3), 11.11);
}}; }};
for (User user : TESTS.keySet()) { for (User user : TESTS.keySet()) {
assertEquals(TESTS.get(user), user.getRapidClickPercentRate()); assertEquals(TESTS.get(user), user.getRapidClickPercentRate());