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 0263185..ec78df3 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 @@ -251,6 +251,15 @@ public class User implements Serializable { 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 * 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 eced115..80fcf4f 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 @@ -4,12 +4,46 @@ import java.math.BigDecimal; import java.util.Calendar; import java.util.Date; import java.util.HashMap; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; 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 void test_constructor() { new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date(124, Calendar.FEBRUARY, 2)); @@ -20,9 +54,9 @@ class RecoveryPasswordTokenTest { @Test void test_getId() { HashMap TESTS = new HashMap<>() {{ - put(new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date()), new BigDecimal(1)); - put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User(), new Date()), new BigDecimal(2)); - put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date()), new BigDecimal(3)); + put(fixture[0], new BigDecimal(1)); + put(fixture[1], new BigDecimal(2)); + put(fixture[2], new BigDecimal(3)); }}; for (RecoveryPasswordToken token : TESTS.keySet()) @@ -33,9 +67,9 @@ class RecoveryPasswordTokenTest { void test_getToken() { HashMap TESTS = new HashMap<>() { { - put(new RecoveryPasswordToken(new BigDecimal(1), "token1", new User(), new Date()), "token1"); - put(new RecoveryPasswordToken(new BigDecimal(2), "token2", new User(), new Date()), "token2"); - put(new RecoveryPasswordToken(new BigDecimal(3), "token3", new User(), new Date()), "token3"); + put(fixture[0], "token1"); + put(fixture[1], "token2"); + put(fixture[2], "token3"); }}; for (RecoveryPasswordToken token : TESTS.keySet()) @@ -53,84 +87,32 @@ class RecoveryPasswordTokenTest { @Test void test_getUser() { - final HashMap TESTS = new HashMap<>() {{ - put( - new RecoveryPasswordToken( - new BigDecimal(1), - "token1", - 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) - ); - }}; - + final HashMap TESTS = new HashMap<>() { + { + put(fixture[0], usersFixture[0]); + put(fixture[1], usersFixture[1]); + put(fixture[2], usersFixture[2]); + }}; for (RecoveryPasswordToken token : TESTS.keySet()) assertEquals(TESTS.get(token), token.getUser()); } @Test void set_user() { - 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()); - } + RecoveryPasswordToken token = fixture[0]; + assertEquals(usersFixture[0], token.getUser()); + User newUser = usersFixture[1]; + token.setUser(newUser); + assertEquals(newUser, token.getUser()); } @Test 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)); + put(fixture[0], new Date(124, Calendar.MARCH, 28)); + put(fixture[1], new Date(124, Calendar.JULY, 14)); + put(fixture[2], new Date(124, Calendar.SEPTEMBER, 5)); }}; for (RecoveryPasswordToken token : TESTS.keySet()) assertEquals(TESTS.get(token), token.getExpiresAt()); @@ -139,38 +121,28 @@ class RecoveryPasswordTokenTest { @Test void set_expires_at() { - 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()); - } + RecoveryPasswordToken token = fixture[0]; + assertEquals(new Date(124, Calendar.MARCH, 28), token.getExpiresAt()); + Date newDate = new Date(124, Calendar.FEBRUARY, 3); + token.setExpiresAt(newDate); + assertEquals(newDate, token.getExpiresAt()); } @Test 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)), + put(fixture[0], + "RecoveryPasswordToken{id=1, token=token1, " + + "user=User{id='1', username=username1, email=email1, birth='Tue Feb 20 00:00:00 CET 1996', gender='MALE'}, " + + "expiresAt=Thu Mar 28 00:00:00 CET 2024}"); + put(fixture[1], "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)), + "user=User{id='2', username=username2, email=email2, birth='Sat May 12 00:00:00 CEST 2001', gender='OTHER'}, " + + "expiresAt=Sun Jul 14 00:00:00 CEST 2024}"); + put(fixture[2], "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()) 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 1355184..84fff37 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,14 +2,63 @@ package uppa.project.pojo; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; import java.util.Date; import java.util.HashMap; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; 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 void test_constructor() { new User(); @@ -21,12 +70,9 @@ class UserTest { @Test void test_getId() { 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)); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - 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)); + put(fixture[0], new BigDecimal(1)); + put(fixture[1], new BigDecimal(2)); + put(fixture[2], new BigDecimal(3)); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getId()); @@ -36,12 +82,9 @@ class UserTest { @Test void test_getUsername() { final HashMap TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(1996-1900, 1, 4), User.Gender.MALE,null), "username1"); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - 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"); + put(fixture[0], "username1"); + put(fixture[1], "username2"); + put(fixture[2], "username3"); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getUsername()); @@ -50,30 +93,20 @@ class UserTest { @Test void test_setUsername() { - final HashMap TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE,null), "username"); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(), User.Gender.MALE,null), "username"); - put(new User(new BigDecimal(3), "username3", "email3", "password3", - new Date(), User.Gender.MALE,null), "username"); - }}; - for (User user : TESTS.keySet()) { - String expected = TESTS.get(user); - user.setUsername("username"); - assertEquals(expected, user.getUsername()); - } + User user = fixture[0]; + assertEquals("username1", user.getUsername()); + + // Change the username + user.setUsername("new-username"); + assertEquals("new-username", user.getUsername()); } @Test void test_getEmail() { final HashMap TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE,null), "email1"); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(), User.Gender.MALE,null), "email2"); - put(new User(new BigDecimal(3), "username3", "email3", "password3", - new Date(), User.Gender.MALE,null), "email3"); + put(fixture[0], "email1"); + put(fixture[1], "email2"); + put(fixture[2], "email3"); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getEmail()); @@ -82,30 +115,20 @@ class UserTest { @Test void test_setEmail() { - final HashMap TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE,null), "email"); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(), User.Gender.MALE,null), "email"); - put(new User(new BigDecimal(3), "username3", "email3", "password3", - new Date(), User.Gender.MALE,null), "email"); - }}; - for (User user : TESTS.keySet()) { - String expected = TESTS.get(user); - user.setEmail("email"); - assertEquals(expected, user.getEmail()); - } + User user = fixture[0]; + assertEquals("email1", user.getEmail()); + + // Change the email + user.setEmail("new-email"); + assertEquals("new-email", user.getEmail()); } @Test void test_getPassword() { final HashMap TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE,null), "password1"); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(), User.Gender.MALE,null), "password2"); - put(new User(new BigDecimal(3), "username3", "email3", "password3", - new Date(), User.Gender.MALE,null), "password3"); + put(fixture[0], "password1"); + put(fixture[1], "password2"); + put(fixture[2], "password3"); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getPassword()); @@ -115,65 +138,43 @@ class UserTest { @Test void test_setPassword() { - String newPassword = User.hashPassword("password"); - System.out.println(newPassword); - final HashMap TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE,null), newPassword); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - 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()); - } + User user = fixture[0]; + assertEquals("password1", user.getPassword()); + + // Change the password + user.setPassword("new-password"); + assertEquals(User.hashPassword("new-password"), user.getPassword()); } @Test void test_getBirth() { final HashMap TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(2000-1900, 5,1), User.Gender.MALE,null), new Date(2000-1900, 5,1)); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - 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)); + put(fixture[0], new Date(1996 - 1900, Calendar.FEBRUARY, 20)); + put(fixture[1], new Date(1998 - 1900, Calendar.JUNE, 6)); + put(fixture[2], new Date(1996 - 1900, Calendar.SEPTEMBER, 18)); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getBirth()); } } + @Test void setBirth() { - //TODO: DELETE - final HashMap TESTS = new HashMap<>() {{ - 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)); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(2023-1900, 12,25), User.Gender.MALE,null),new Date(2000-1900, 1,1)); - 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()); - } + User user = fixture[0]; + assertEquals(new Date(1996 - 1900, Calendar.FEBRUARY, 20), user.getBirth()); + + // Change the birth + user.setBirth(new Date(1996 - 1900, Calendar.MARCH, 20)); + assertEquals(new Date(1996 - 1900, Calendar.MARCH, 20), user.getBirth()); } @Test void getGender() { final HashMap TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE,null), User.Gender.MALE); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - 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); + put(fixture[0], User.Gender.MALE); + put(fixture[1], User.Gender.FEMALE); + put(fixture[2], User.Gender.OTHER); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getGender()); @@ -182,19 +183,12 @@ class UserTest { @Test void test_setGender() { - final HashMap TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE,null), User.Gender.OTHER); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(), User.Gender.FEMALE,null), User.Gender.OTHER); - put(new User(new BigDecimal(3), "username3", "email3", "password3", - 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()); - } + User user = fixture[0]; + assertEquals(User.Gender.MALE, user.getGender()); + + // Change the gender + user.setGender(User.Gender.FEMALE); + assertEquals(User.Gender.FEMALE, user.getGender()); } @Test @@ -212,25 +206,10 @@ class UserTest { @Test void test_getPlayedGames() { - // TODO: correct this test - - 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 User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE, players1), players1); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(), User.Gender.FEMALE,players2), players2); - put(new User(new BigDecimal(3), "username3", "email3", "password3", - new Date(), User.Gender.OTHER,players3), players3); + put(fixture[0], new ArrayList<>(Arrays.asList(playersFixture[0]))); + put(fixture[1], new ArrayList<>(Arrays.asList(playersFixture[1]))); + put(fixture[2], new ArrayList<>(Arrays.asList(playersFixture[2]))); }}; for (User user : TESTS.keySet()) { 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 expected = new ArrayList<>(Arrays.asList(playersFixture[0])); + expected.add(player); + assertEquals(expected, user.getPlayedGames()); + } + @Test void test_getNbPlayedGame() { - ArrayList players1 = new ArrayList<>(); - ArrayList players2 = new ArrayList<>(); - ArrayList 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 TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE, players1), 1); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(), User.Gender.FEMALE,players2), 2); - put(new User(new BigDecimal(3), "username3", "email3", "password3", - new Date(), User.Gender.OTHER,players3), 3); + put(fixture[0], 1); + put(fixture[1], 2); + put(fixture[2], 3); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getPlayedGames().size()); @@ -264,25 +243,10 @@ class UserTest { @Test void test_getNbWin() { - // TODO: correct this test - - ArrayList players1 = new ArrayList<>(); - ArrayList players2 = new ArrayList<>(); - ArrayList 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 TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE, players1), 0); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(), User.Gender.FEMALE,players2), 1); - put(new User(new BigDecimal(3), "username3", "email3", "password3", - new Date(), User.Gender.OTHER,players3), 3); + put(fixture[0], 0); + put(fixture[1], 1); + put(fixture[2], 3); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getNbWin()); @@ -291,31 +255,11 @@ class UserTest { @Test void test_getWinRate() { - // TODO: correct this test - - ArrayList players1 = new ArrayList<>(); - ArrayList players2 = new ArrayList<>(); - ArrayList players3 = new ArrayList<>(); - ArrayList 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 TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE, players1), 0.); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - 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); + put(fixture[0], 0.0); + put(fixture[1], 50.); + put(fixture[2], 100.); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getWinRate()); @@ -324,25 +268,10 @@ class UserTest { @Test void test_getNbClicks() { - // TODO: correct this test - - ArrayList players1 = new ArrayList<>(); - ArrayList players2 = new ArrayList<>(); - ArrayList 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 TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE, players1), 5); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - 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); + put(fixture[0], 10); + put(fixture[1], 35); + put(fixture[2], 38); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getNbClicks()); @@ -351,25 +280,10 @@ class UserTest { @Test void test_getNbRightClicks() { - // TODO: correct this test - - ArrayList players1 = new ArrayList<>(); - ArrayList players2 = new ArrayList<>(); - ArrayList 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 TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE, players1), 1); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(), User.Gender.FEMALE,players2), 5); - put(new User(new BigDecimal(3), "username3", "email3", "password3", - new Date(), User.Gender.OTHER,players3), 15); + put(fixture[0], 9); + put(fixture[1], 22); + put(fixture[2], 30); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getNbRightClicks()); @@ -378,25 +292,10 @@ class UserTest { @Test void test_getRightClickPercentRate() { - // TODO: correct this test - - ArrayList players1 = new ArrayList<>(); - ArrayList players2 = new ArrayList<>(); - ArrayList 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 TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE, players1), 20.); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - 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); + put(fixture[0], 90.); + put(fixture[1], 62.85); + put(fixture[2], 78.94); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getRightClickPercentRate()); @@ -405,25 +304,10 @@ class UserTest { @Test void test_getNbRapidClicks() { - // TODO: correct this test - - ArrayList players1 = new ArrayList<>(); - ArrayList players2 = new ArrayList<>(); - ArrayList 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 TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE, players1), 5); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - new Date(), User.Gender.FEMALE,players2), 7); - put(new User(new BigDecimal(3), "username3", "email3", "password3", - new Date(), User.Gender.OTHER,players3), 3); + put(fixture[0], 5); + put(fixture[1], 14); + put(fixture[2], 15); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getNbRapidClicks()); @@ -432,25 +316,10 @@ class UserTest { @Test void test_getRapidClickPercentRate() { - // TODO: correct this test - - ArrayList players1 = new ArrayList<>(); - ArrayList players2 = new ArrayList<>(); - ArrayList 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 TESTS = new HashMap<>() {{ - put(new User(new BigDecimal(1), "username1", "email1", "password1", - new Date(), User.Gender.MALE, players1), 100.); - put(new User(new BigDecimal(2), "username2", "email2", "password2", - 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); + put(fixture[0], 50.); + put(fixture[1], 40.); + put(fixture[2], 39.47); }}; for (User user : TESTS.keySet()) { assertEquals(TESTS.get(user), user.getRapidClickPercentRate());