player.java

1
package re.forestier.edu.rpg;
2
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
6
public class player {
7
    public String playerName;
8
    public String Avatar_name;
9
    private String AvatarClass;
10
11
    public Integer money;
12
    private Float __real_money__;
13
14
    public int level;
15
    public int healthpoints;
16
    public int currenthealthpoints;
17
    protected int xp;
18
19
    public HashMap<String, Integer> abilities; //Ability = stat
20
    public ArrayList<String> inventory;
21
22
    public player(String playerName, String avatar_name, String avatarClass, int money, ArrayList<String> inventory) {
23 3 1. <init> : negated conditional → KILLED
2. <init> : negated conditional → KILLED
3. <init> : negated conditional → KILLED
        if (!avatarClass.equals("ARCHER") && !avatarClass.equals("ADVENTURER") && !avatarClass.equals("DWARF")) 
24
        {
25
            return;
26
        }
27
28
        this.playerName = playerName;
29
        Avatar_name = avatar_name;
30
        AvatarClass = avatarClass;
31
        this.money = Integer.valueOf(money);
32
        this.inventory = inventory;
33
        this.abilities = UpdatePlayer.abilitiesPerTypeAndLevel().get(AvatarClass).get(1);
34
    }
35
36
    public String getAvatarClass () {
37 1 1. getAvatarClass : replaced return value with "" for re/forestier/edu/rpg/player::getAvatarClass → KILLED
        return AvatarClass;
38
    }
39
40
    public void removeMoney(int amount) throws IllegalArgumentException {
41 3 1. removeMoney : changed conditional boundary → KILLED
2. removeMoney : Replaced integer subtraction with addition → KILLED
3. removeMoney : negated conditional → KILLED
        if (money - amount < 0) {
42
            throw new IllegalArgumentException("Player can't have a negative money!");
43
        }
44
45 1 1. removeMoney : Replaced integer subtraction with addition → KILLED
        money = Integer.parseInt(money.toString()) - amount;
46
    }
47
    public void addMoney(int amount) {
48
        var value = Integer.valueOf(amount);
49 2 1. addMoney : negated conditional → KILLED
2. addMoney : Replaced integer addition with subtraction → KILLED
        money = money + (value != null ? value : 0);
50
    }
51
    public int retrieveLevel() {
52
        // (lvl-1) * 10 + round((lvl * xplvl-1)/4)
53
        HashMap<Integer, Integer> levels = new HashMap<>();
54
        levels.put(2,10); // 1*10 + ((2*0)/4)
55
        levels.put(3,27); // 2*10 + ((3*10)/4)
56
        levels.put(4,57); // 3*10 + ((4*27)/4)
57
        levels.put(5,111); // 4*10 + ((5*57)/4)
58
        //TODO : ajouter les prochains niveaux
59
60 2 1. retrieveLevel : changed conditional boundary → KILLED
2. retrieveLevel : negated conditional → KILLED
        if (xp < levels.get(2)) {
61 1 1. retrieveLevel : replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel → KILLED
            return 1;
62
        }
63 3 1. retrieveLevel : negated conditional → KILLED
2. retrieveLevel : replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel → KILLED
3. retrieveLevel : changed conditional boundary → KILLED
        else if (xp < levels.get(3)) {return 2;
64
        }
65 2 1. retrieveLevel : negated conditional → KILLED
2. retrieveLevel : changed conditional boundary → KILLED
        if (xp < levels.get(4)) {
66 1 1. retrieveLevel : replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel → KILLED
            return 3;
67
        }
68 3 1. retrieveLevel : negated conditional → KILLED
2. retrieveLevel : changed conditional boundary → KILLED
3. retrieveLevel : replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel → KILLED
        if (xp < levels.get(5)) return 4;
69 1 1. retrieveLevel : replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel → KILLED
        return 5;
70
    }
71
72
    public int getXp() {
73 1 1. getXp : replaced int return with 0 for re/forestier/edu/rpg/player::getXp → KILLED
        return this.xp;
74
    }
75
76
    /*
77
    Ингредиенты:
78
        Для теста:
79
80
            250 г муки
81
            125 г сливочного масла (холодное)
82
            70 г сахара
83
            1 яйцо
84
            1 щепотка соли
85
     */
86
87
}

Mutations

23

1.1
Location : <init>
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerName()]
negated conditional → KILLED

2.2
Location : <init>
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerConstructor()]
negated conditional → KILLED

3.3
Location : <init>
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerConstructor()]
negated conditional → KILLED

37

1.1
Location : getAvatarClass
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
replaced return value with "" for re/forestier/edu/rpg/player::getAvatarClass → KILLED

41

1.1
Location : removeMoney
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRemoveMoney()]
changed conditional boundary → KILLED

2.2
Location : removeMoney
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRemoveMoney()]
Replaced integer subtraction with addition → KILLED

3.3
Location : removeMoney
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRemoveMoney()]
negated conditional → KILLED

45

1.1
Location : removeMoney
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRemoveMoney()]
Replaced integer subtraction with addition → KILLED

49

1.1
Location : addMoney
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAddMoney()]
negated conditional → KILLED

2.2
Location : addMoney
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAddMoney()]
Replaced integer addition with subtraction → KILLED

60

1.1
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
changed conditional boundary → KILLED

2.2
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAfficage()]
negated conditional → KILLED

61

1.1
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAfficage()]
replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel → KILLED

63

1.1
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
negated conditional → KILLED

2.2
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel → KILLED

3.3
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
changed conditional boundary → KILLED

65

1.1
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
negated conditional → KILLED

2.2
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
changed conditional boundary → KILLED

66

1.1
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel → KILLED

68

1.1
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
negated conditional → KILLED

2.2
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
changed conditional boundary → KILLED

3.3
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel → KILLED

69

1.1
Location : retrieveLevel
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel → KILLED

73

1.1
Location : getXp
Killed by : re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]
replaced int return with 0 for re/forestier/edu/rpg/player::getXp → KILLED

Active mutators

Tests examined


Report generated by PIT 1.15.0