Test unitaire player
Clement COLMERAUER

Clement COLMERAUER commited on 2024-09-20 17:33:20
Showing 3 changed files, with 51 additions and 11 deletions.

... ...
@@ -17,11 +16,12 @@ public class player {
17 16
     public int currenthealthpoints;
18 17
     protected int xp;
19 18
 
20
-
21
-    public HashMap<String, Integer> abilities;
19
+    public HashMap<String, Integer> abilities; //Ability = stat
22 20
     public ArrayList<String> inventory;
21
+
23 22
     public player(String playerName, String avatar_name, String avatarClass, int money, ArrayList<String> inventory) {
24
-        if (!avatarClass.equals("ARCHER") && !avatarClass.equals("ADVENTURER") && !avatarClass.equals("DWARF") ) {
23
+        if (!avatarClass.equals("ARCHER") && !avatarClass.equals("ADVENTURER") && !avatarClass.equals("DWARF")) 
24
+        {
25 25
             return;
26 26
         }
27 27
 
... ...
@@ -1,10 +1,11 @@
1 1
 package re.forestier.edu;
2 2
 
3 3
 import org.junit.jupiter.api.*;
4
-import re.forestier.edu.rpg.player;
4
+import re.forestier.edu.rpg.*;
5 5
 import static org.hamcrest.MatcherAssert.assertThat;
6 6
 import static org.hamcrest.Matchers.*;
7 7
 import static org.junit.jupiter.api.Assertions.fail;
8
+import static org.junit.jupiter.api.Assertions.assertThrows;
8 9
 
9 10
 import java.util.ArrayList;
10 11
 
... ...
@@ -15,19 +16,57 @@ public class UnitTests {
15 16
     void testPlayerName() {
16 17
         player player = new player("Florian", "Grognak le barbare", "ADVENTURER", 100, new ArrayList<>());
17 18
         assertThat(player.playerName, is("Florian"));
19
+        
20
+    }
21
+
22
+    @Test
23
+    @DisplayName("Constructor player")
24
+    void testPlayerConstructor()
25
+    {
26
+        player p = new player("Florian", "Grognak le barbare", "jgn", 100, new ArrayList<>());
27
+        assertThat(p.playerName, not("Florian"));
28
+        p = new player("Florian", "Grognak le barbare", "ADVENTURER", 100, new ArrayList<>());
29
+        assertThat(p.playerName, is("Florian"));
30
+        p = new player("Florian", "Grognak le barbare", "DWARF", 100, new ArrayList<>());
31
+        assertThat(p.playerName, is("Florian"));
32
+        p = new player("Florian", "Grognak le barbare", "ARCHER", 100, new ArrayList<>());
33
+        assertThat(p.playerName, is("Florian"));
18 34
     }
19 35
 
20 36
     @Test
21
-    @DisplayName("Impossible to have negative money")
22
-    void testNegativeMoney() {
37
+    @DisplayName("removeMoney")
38
+    void testRemoveMoney() {
23 39
         player p = new player("Florian", "Grognak le barbare", "ADVENTURER", 100, new ArrayList<>());
24 40
 
25
-        try {
26
-            p.removeMoney(200);
27
-        } catch (IllegalArgumentException e) {
28
-            return;
41
+        assertThrows(IllegalArgumentException.class, () -> p.removeMoney(200));
42
+        p.removeMoney(50);
43
+        assertThat(p.money, is(50));
29 44
     }
30
-        fail();
45
+
46
+    @Test
47
+    @DisplayName("addMoney")
48
+    void testAddMoney() {
49
+        player p = new player("Florian", "Grognak le barbare", "ADVENTURER", 100, new ArrayList<>());
50
+        p.addMoney(50);
51
+        assertThat(p.money, is(150));
52
+    }
53
+
54
+    @Test
55
+    @DisplayName("ex & lvl")
56
+    void testRetrieveLevel() {
57
+        player p = new player("Florian", "Grognak le barbare", "ADVENTURER", 100, new ArrayList<>());
58
+        boolean b;
59
+        b = UpdatePlayer.addXp(p,5);
60
+        assertThat(p.getXp(),is(5));
61
+        assertThat(p.retrieveLevel(),is(1));
62
+        b = UpdatePlayer.addXp(p,6);
63
+        assertThat(p.retrieveLevel(),is(2));
64
+        b = UpdatePlayer.addXp(p,22);
65
+        assertThat(p.retrieveLevel(),is(3));
66
+        b = UpdatePlayer.addXp(p,30);
67
+        assertThat(p.retrieveLevel(),is(4));
68
+        b = UpdatePlayer.addXp(p,100);
69
+        assertThat(p.retrieveLevel(),is(5));
31 70
     }
32 71
 
33 72
 }
34 73