From 9613e62a78eff9cd11dda722c75df95c48a25063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=A0s?= Date: Thu, 28 Mar 2024 02:27:11 +0100 Subject: [PATCH] test(DevWeb): Edit tests in PlayerTest --- .../main/java/uppa/project/pojo/Player.java | 5 +- .../java/uppa/project/pojo/PlayerTest.java | 411 ++++++++---------- 2 files changed, 184 insertions(+), 232 deletions(-) diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Player.java b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Player.java index 75d01fd..ff1474f 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Player.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/pojo/Player.java @@ -102,6 +102,9 @@ public class Player implements Serializable { this.clickCount = clickCount; this.rightClickCount = rightClickCount; this.rapidClickCount = rapidClickCount; + + this.deck = new Deck(game.getNbColors(), game.getNbValuesPerColor()); + this.deck.shuffle(); } @Override @@ -162,7 +165,7 @@ public class Player implements Serializable { * * @param points les points à ajouter */ - public void updateScore(int points) { this.score += points; } + public void addToScore(int points) { this.score += points; } /** * @return si le joueur est gagnant diff --git a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/PlayerTest.java b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/PlayerTest.java index ff64799..d6e2bad 100644 --- a/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/PlayerTest.java +++ b/S2/DevWeb/Projet/src/test/java/uppa/project/pojo/PlayerTest.java @@ -3,12 +3,46 @@ package uppa.project.pojo; import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class PlayerTest { + static Player[] fixture; + + @BeforeEach + void beforeEach() { + fixture = new Player[]{ + new Player( + new BigDecimal(1), + new Game(new BigDecimal(1), new Date(101, 2, 4), Game.Difficulty.EASY,18,2,10,null), + new User("username1", "email1", "password1", new Date(), User.Gender.MALE), + 10, true, 6,5,5 + ), + new Player( + new BigDecimal(2), + new Game(new BigDecimal(2), new Date(101, 2, 4), Game.Difficulty.EASY,18,4,13,null), + new User("username2", "email2", "password2", new Date(), User.Gender.FEMALE), + 20, false, 4,2,1 + ), + new Player( + new BigDecimal(3), + new Game(new BigDecimal(3), new Date(101, 2, 4), Game.Difficulty.EASY,18,3,6,null), + new User("username3", "email3", "password3", new Date(), User.Gender.OTHER), + 15, true, 10,5,5 + ), + new Player( + new BigDecimal(4), + new Game(new BigDecimal(4), new Date(101, 2, 4), Game.Difficulty.HARD,18,3,6,null), + new User("username4", "email4", "password4", + new Date(100, 1, 1), User.Gender.OTHER), + 15, true, 10,5,5 + ) + }; + + } @Test void test_constructor() { @@ -16,254 +50,200 @@ class PlayerTest { new Player(new Game(Game.Difficulty.EASY,4,2,3), new User()); new Player(new Game(Game.Difficulty.EASY,4,2,3), new User()); new Player(new Game(Game.Difficulty.EASY,4,2,3), new User()); - new Player(new BigDecimal(1), new Game(), new User(),45, true, 15, 20, 6); } @Test - void get_game() { + void test_getGame() { Game[] games = new Game[]{ - new Game(new BigDecimal(1), new Date(), Game.Difficulty.EASY,20,4,5,null), - new Game(new BigDecimal(2), new Date(), Game.Difficulty.EASY,20,4,5,null), - new Game(new BigDecimal(3), new Date(), Game.Difficulty.EASY,20,4,5,null), + new Game(new BigDecimal(1), new Date(101, 2, 4), Game.Difficulty.EASY,18,2,10,null), + new Game(new BigDecimal(2), new Date(101, 2, 4), Game.Difficulty.EASY,18,4,13,null), + new Game(new BigDecimal(3), new Date(101, 2, 4), Game.Difficulty.EASY,18,3,6,null), }; final HashMap TESTS = new HashMap<>() {{ - put(new Player(games[0], new User()), games[0]); - put(new Player(games[1], new User()), games[1]); - put(new Player(games[2], new User()), games[2]); + put(fixture[0], games[0]); + put(fixture[1], games[1]); + put(fixture[2], games[2]); }}; + for (Player player : TESTS.keySet()) { assertEquals(TESTS.get(player), player.getGame()); } } @Test - void set_game() { - Game[] games = new Game[]{ - new Game(new BigDecimal(1), new Date(), Game.Difficulty.EASY,20,4,5,null), - new Game(new BigDecimal(2), new Date(), Game.Difficulty.EASY,20,4,5,null), - new Game(new BigDecimal(3), new Date(), Game.Difficulty.EASY,20,4,5,null), - }; - Game game = - new Game(new BigDecimal(4), new Date(), Game.Difficulty.HARD,20,4,5,null); + void test_setGame() { + Player player = fixture[0]; + Game game = player.getGame(); - final HashMap TESTS = new HashMap<>() {{ - put(new Player(games[0], new User()), game); - put(new Player(games[1], new User()), game); - put(new Player(games[2], new User()), game); - }}; - for (Player player : TESTS.keySet()) { - Game expected = TESTS.get(player); - player.setGame(game); - assertEquals(expected, player.getGame()); - } + // Set a new game + Game newGame = new Game(new BigDecimal(4), new Date(), Game.Difficulty.HARD,20,4,5,null); + player.setGame(newGame); + + assertNotEquals(game, player.getGame()); + assertEquals(newGame, player.getGame()); } @Test - void get_user() { - Game[] games = new Game[]{ - new Game(new BigDecimal(1), new Date(), Game.Difficulty.EASY,20,4,5,null), - new Game(new BigDecimal(2), new Date(), Game.Difficulty.EASY,20,4,5,null), - new Game(new BigDecimal(3), new Date(), Game.Difficulty.EASY,20,4,5,null), - }; - User[] users = new User[]{ - new User("username1", "email1", "password1", new Date(), User.Gender.MALE), - new User("username2", "email2", "password2", new Date(), User.Gender.FEMALE), - new User("username3", "email3", "password3", new Date(), User.Gender.OTHER), - }; + void test_getUser() { + Player player = fixture[0]; - final HashMap TESTS = new HashMap<>() {{ - put(new Player(games[0], users[0]), users[0]); - put(new Player(games[1], users[1]), users[1]); - put(new Player(games[2], users[2]), users[2]); - }}; - for (Player player : TESTS.keySet()) { - assertEquals(TESTS.get(player), player.getUser()); - } + User expected = new User("username1", "email1", "password1", new Date(), User.Gender.MALE); + assertEquals(expected.getUsername(), player.getUser().getUsername()); + assertEquals(expected.getEmail(), player.getUser().getEmail()); + assertEquals(expected.getPassword(), player.getUser().getPassword()); + assertEquals(expected.getGender(), player.getUser().getGender()); } @Test - void set_user() { - Game[] games = new Game[]{ - new Game(new BigDecimal(1), new Date(), Game.Difficulty.EASY,20,4,5,null), - new Game(new BigDecimal(2), new Date(), Game.Difficulty.EASY,20,4,5,null), - new Game(new BigDecimal(3), new Date(), Game.Difficulty.EASY,20,4,5,null), - }; - User[] users = new User[]{ - new User("username1", "email1", "password1", new Date(), User.Gender.MALE), - new User("username2", "email2", "password2", new Date(), User.Gender.FEMALE), - new User("username3", "email3", "password3", new Date(), User.Gender.OTHER), - }; - User user = new User("username000", "email000", "password000", new Date(), User.Gender.OTHER); + void test_setUser() { + Player player = fixture[0]; + User user = player.getUser(); - final HashMap TESTS = new HashMap<>() {{ - put(new Player(games[0], users[0]), user); - put(new Player(games[1], users[1]), user); - put(new Player(games[2], users[2]), user); - }}; - for (Player player : TESTS.keySet()) { - User expected =TESTS.get(player); - player.setUser(user); - assertEquals(expected, player.getUser()); - } + // Set a new user + User newUser = new User("username2", "email2", "password2", new Date(), User.Gender.FEMALE); + player.setUser(newUser); + + assertNotEquals(user, player.getUser()); + assertEquals(newUser, player.getUser()); } @Test - void get_score() { + void test_getScore() { final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5),10); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, true, 5,5,5),20); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 5,5,5),15);; + put(fixture[0],10); + put(fixture[1],20); + put(fixture[2],15);; }}; + for (Player player : TESTS.keySet()) { assertEquals(TESTS.get(player), player.getScore()); } } @Test - void set_score() { - final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5),50); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, true, 5,5,5),50); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 5,5,5),50); - }}; - for (Player player : TESTS.keySet()) { - int expected = TESTS.get(player); - player.setScore(50); - assertEquals(expected, player.getScore()); - } + void test_setScore() { + Player player = fixture[0]; + int score = player.getScore(); + + // Set a new score + player.setScore(15); + assertEquals(15, player.getScore()); + assertNotEquals(score, player.getScore()); } @Test - void update_score() { - final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5),13); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, true, 5,5,5),23); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 5,5,5),18); - }}; - for (Player player : TESTS.keySet()) { - int expected = TESTS.get(player); - player.updateScore(3); - assertEquals(expected, player.getScore()); - expected -= 5; - player.updateScore(-5); - assertEquals(expected, player.getScore()); - } + void test_addToScore() { + Player player = fixture[0]; + int score = player.getScore(); + + // Update the score + player.addToScore(5); + assertEquals(score + 5, player.getScore()); + assertNotEquals(score, player.getScore()); } @Test - void is_winner() { + void test_isWinner() { final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 5,5,5),true); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false, 5,5,5),false); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 5,5,5),true); + put(fixture[0], true); + put(fixture[1], false); + put(fixture[2], true); }}; + for (Player player : TESTS.keySet()) { assertEquals(TESTS.get(player), player.isWinner()); } } @Test - void set_winner() { - Player[] players = new Player[]{ - new Player(new BigDecimal(1), new Game(), new User(), 10, false, 5,5,5), - new Player(new BigDecimal(2), new Game(), new User(), 20, false, 5,5,5), - new Player(new BigDecimal(3), new Game(), new User(), 15, false, 5,5,5), - }; - for (Player player: players){ - player.setWinner(); - assertTrue(player.isWinner()); - } + void test_setWinner() { + Player player = fixture[1]; + assertFalse(player.isWinner()); + + player.setWinner(); + assertTrue(player.isWinner()); } @Test - void get_click_count() { + void test_getClickCount() { final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,5,5),6); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,4 ,4,1),4); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 2,5,5),2); + put(fixture[0], 6); + put(fixture[1], 4); + put(fixture[2], 10); }}; + for (Player player : TESTS.keySet()) { assertEquals(TESTS.get(player), player.getClickCount()); } } @Test - void set_click_count() { - final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,5,5),3); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,4 ,4,1),3); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 2,5,5),3); - }}; - for (Player player : TESTS.keySet()) { - int expected = TESTS.get(player); - player.setClickCount(3); - assertEquals(expected, player.getClickCount()); - } + void test_setClickCount() { + Player player = fixture[0]; + int clickCount = player.getClickCount(); + + // Set a new click count + player.setClickCount(3); + assertEquals(3, player.getClickCount()); + assertNotEquals(clickCount, player.getClickCount()); } @Test - void increment_click_count() { - final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,5,5),7); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,4 ,4,1),5); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 2,5,5),3); - }}; - for (Player player : TESTS.keySet()) { - int expected = TESTS.get(player); - player.incrementClickCount(); - assertEquals(expected, player.getClickCount()); - } + void test_incrementClickCount() { + Player player = fixture[0]; + int clickCount = player.getClickCount(); + + // Increment the click count + player.incrementClickCount(); + assertEquals(clickCount + 1, player.getClickCount()); + assertNotEquals(clickCount, player.getClickCount()); } @Test - void get_right_click_count() { + void test_getRightClickCount() { final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,5,5),5); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,4 ,4,1),4); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 2,3,5),3); + put(fixture[0], 5); + put(fixture[1], 2); + put(fixture[2], 5); }}; + for (Player player : TESTS.keySet()) { assertEquals(TESTS.get(player), player.getRightClickCount()); } } @Test - void set_right_click_count() { - final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,5,5),3); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,4 ,4,1),3); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 2,5,5),3); - }}; - for (Player player : TESTS.keySet()) { - int expected = TESTS.get(player); - player.setRightClickCount(3); - assertEquals(expected, player.getRightClickCount()); - } + void test_setRightClickCount() { + Player player = fixture[0]; + int rightClickCount = player.getRightClickCount(); + + // Set a new right click count + player.setRightClickCount(3); + assertEquals(3, player.getRightClickCount()); + assertNotEquals(rightClickCount, player.getRightClickCount()); } @Test - void increment_right_click_count() { - final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,5,5),6); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,8 ,4,1),5); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 9,5,5),6); - }}; - for (Player player : TESTS.keySet()) { - int expected = TESTS.get(player); - player.incrementRightClickCount(); - assertEquals(expected, player.getRightClickCount()); - } + void test_incrementRightClickCount() { + Player player = fixture[0]; + int rightClickCount = player.getRightClickCount(); + + // Increment the right click count + player.incrementRightClickCount(); + assertEquals(rightClickCount + 1, player.getRightClickCount()); + assertNotEquals(rightClickCount, player.getRightClickCount()); } @Test - void get_ratio_right_click() { + void test_getRatioRightClick() { final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,3,5),50.); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,4 ,1,1),25.); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 17,5,5),29.41); + put(fixture[0], 83.33); + put(fixture[1], 50.); + put(fixture[2], 50.); }}; + for (Player player : TESTS.keySet()) { assertEquals(TESTS.get(player), player.getRatioRightClick()); } @@ -271,101 +251,70 @@ class PlayerTest { } @Test - void get_rapid_click_count() { + void test_getRapidClickCount() { final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,3,5),5); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,4 ,1,1),1); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 17,3,2),2); + put(fixture[0], 5); + put(fixture[1], 1); + put(fixture[2], 5); }}; + for (Player player : TESTS.keySet()) { assertEquals(TESTS.get(player), player.getRapidClickCount()); } } @Test - void set_rapid_click_count() { - final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,5,5),3); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,4 ,4,1),3); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 2,5,5),3); - }}; - for (Player player : TESTS.keySet()) { - int expected = TESTS.get(player); - player.setRightClickCount(3); - assertEquals(expected, player.getRightClickCount()); - } + void test_setRapidClickCount() { + Player player = fixture[0]; + int rapidClickCount = player.getRapidClickCount(); + // Set a new rapid click count + player.setRapidClickCount(3); + assertEquals(3, player.getRapidClickCount()); + assertNotEquals(rapidClickCount, player.getRapidClickCount()); } @Test - void increment_rapid_click_count() { - final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,3,5),6); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,4 ,1,1),2); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 17,3,2),3); - }}; - for (Player player : TESTS.keySet()) { - int expected = TESTS.get(player); - player.incrementRapidClickCount(); - assertEquals(expected, player.getRapidClickCount()); - } + void test_incrementRapidClickCount() { + Player player = fixture[0]; + int rapidClickCount = player.getRapidClickCount(); + + // Increment the rapid click count + player.incrementRapidClickCount(); + assertEquals(rapidClickCount + 1, player.getRapidClickCount()); + assertNotEquals(rapidClickCount, player.getRapidClickCount()); } @Test - void get_ratio_rapid_click() { + void test_getRatioRapidClick() { final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,3,5),83.33); - put(new Player(new BigDecimal(2), new Game(), new User(), 20, false,4 ,1,1),25.); - put(new Player(new BigDecimal(3), new Game(), new User(), 15, true, 17,3,2),11.76); + put(fixture[0], 83.33); + put(fixture[1], 25.); + put(fixture[2], 50.); }}; + for (Player player : TESTS.keySet()) { assertEquals(TESTS.get(player), player.getRatioRapidClick()); } } @Test - void get_deck() { - Deck[] decks = new Deck[]{ - new Deck(2,10), - new Deck(4,13), - new Deck(3,6), - }; - - Game[] games = new Game[]{ - new Game(new BigDecimal(1), new Date(), Game.Difficulty.EASY,20,2,10,null), - new Game(new BigDecimal(2), new Date(), Game.Difficulty.EASY,52,4,13,null), - new Game(new BigDecimal(3), new Date(), Game.Difficulty.EASY,18,3,6,null), - }; + void test_getDeck() { final HashMap TESTS = new HashMap<>() {{ - put(new Player(games[0], new User()), decks[0]); - put(new Player(games[1], new User()), decks[1]); - put(new Player(games[2], new User()), decks[2]); + put(fixture[0], new Deck(2,10)); + put(fixture[1], new Deck(4,13)); + put(fixture[2], new Deck(3,6)); }}; + for (Player player : TESTS.keySet()) { assertEquals(TESTS.get(player), player.getDeck()); } } @Test - void test_to_string() { - Game game = new Game(new BigDecimal(1), new Date(2024-1900,3,27), Game.Difficulty.EASY,20,4,5,null); - User user = new User("username1", "email1", "password1", new Date(1996-1900,2,20), User.Gender.MALE); - final HashMap TESTS = new HashMap<>() {{ - put(new Player(new BigDecimal(1), new Game(), new User(), 10, true, 6,5,5), - "Player{id=1, game=Game{id=null, createdAt=null, difficulty=null, nbRounds=0, nbColors=0, nbValuesPerColor=0}, " + - "user=User{id='null', username=null, email=null, birth='null', gender='null'}, " + - "score=10, winner=true, clickCount=6, rightClickCount=5, rapidClickCount=5}"); - put(new Player(new BigDecimal(2), game, new User(), 20, false, 4,2,1), - "Player{id=2, game=Game{id=1, createdAt=Sat Apr 27 00:00:00 CEST 2024, difficulty=EASY, nbRounds=20, nbColors=4, nbValuesPerColor=5}, " + - "user=User{id='null', username=null, email=null, birth='null', gender='null'}, " + - "score=20, winner=false, clickCount=4, rightClickCount=2, rapidClickCount=1}"); - put(new Player(new BigDecimal(3), new Game(), user, 15, true, 10,5,5), - "Player{id=3, game=Game{id=null, createdAt=null, difficulty=null, nbRounds=0, nbColors=0, nbValuesPerColor=0}, " + - "user=User{id='null', username=username1, email=email1, birth='Wed Mar 20 00:00:00 CET 1996', gender='MALE'}, " + - "score=15, winner=true, clickCount=10, rightClickCount=5, rapidClickCount=5}"); - }}; - for (Player player : TESTS.keySet()) { - assertEquals(TESTS.get(player), player.toString()); - } + void test_toString() { + String expected = "Player{id=4, game=Game{id=4, createdAt=Sun Mar 04 00:00:00 CET 2001, difficulty=HARD, nbRounds=18, nbColors=3, nbValuesPerColor=6}, user=User{id='null', username=username4, email=email4, birth='Tue Feb 01 00:00:00 CET 2000', gender='OTHER'}, score=15, winner=true, clickCount=10, rightClickCount=5, rapidClickCount=5}"; + + assertEquals(expected, fixture[3].toString()); } }