PrestigeListRankRequirements.java

1
package sh.okx.rankup.ranks.requirements;
2
3
import java.util.Map;
4
import java.util.Objects;
5
import org.bukkit.entity.Player;
6
import sh.okx.rankup.RankupPlugin;
7
import sh.okx.rankup.prestige.Prestige;
8
import sh.okx.rankup.prestige.Prestiges;
9
import sh.okx.rankup.requirements.Requirement;
10
11
public class PrestigeListRankRequirements implements RankRequirements {
12
  private final RankupPlugin plugin;
13
  private final RankRequirements defaultRequirements;
14
  private final Map<String, RankRequirements> requirements;
15
16
  public PrestigeListRankRequirements(RankupPlugin plugin, RankRequirements defaultRequirements, Map<String, RankRequirements> requirements) {
17
    Objects.requireNonNull(plugin);
18
    Objects.requireNonNull(defaultRequirements);
19
20
    this.plugin = plugin;
21
    this.defaultRequirements = defaultRequirements;
22
    this.requirements = requirements;
23
  }
24
25
  @Override
26
  public Iterable<Requirement> getRequirements(Player player) {
27 1 1. getRequirements : replaced return value with null for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::getRequirements → NO_COVERAGE
    return getRankRequirements(player).getRequirements(player);
28
  }
29
30
  @Override
31
  public boolean hasRequirements(Player player) {
32 2 1. hasRequirements : replaced boolean return with true for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::hasRequirements → SURVIVED
2. hasRequirements : replaced boolean return with false for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::hasRequirements → KILLED
    return getRankRequirements(player).hasRequirements(player);
33
  }
34
35
  @Override
36
  public Requirement getRequirement(Player player, String name) {
37 1 1. getRequirement : replaced return value with null for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::getRequirement → NO_COVERAGE
    return getRankRequirements(player).getRequirement(player, name);
38
  }
39
40
  @Override
41
  public void applyRequirements(Player player) {
42 1 1. applyRequirements : removed call to sh/okx/rankup/ranks/requirements/RankRequirements::applyRequirements → KILLED
    getRankRequirements(player).applyRequirements(player);
43
  }
44
45
  private RankRequirements getRankRequirements(Player player) {
46
    Prestiges prestiges = plugin.getPrestiges();
47 2 1. getRankRequirements : negated conditional → KILLED
2. getRankRequirements : negated conditional → KILLED
    if (player == null || prestiges == null) {
48 1 1. getRankRequirements : replaced return value with null for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::getRankRequirements → NO_COVERAGE
      return defaultRequirements;
49
    }
50
51
    for (Prestige prestige : prestiges.getTree()) {
52
      String next = prestige.getNext();
53 2 1. getRankRequirements : negated conditional → KILLED
2. getRankRequirements : negated conditional → KILLED
      if(next != null && plugin.getPermissions().inGroup(player.getUniqueId(), next)) {
54
        RankRequirements rankRequirements = this.requirements.get(next.toLowerCase());
55 1 1. getRankRequirements : negated conditional → KILLED
        if (rankRequirements != null) {
56 1 1. getRankRequirements : replaced return value with null for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::getRankRequirements → KILLED
          return rankRequirements;
57
        }
58
      }
59
    }
60 1 1. getRankRequirements : replaced return value with null for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::getRankRequirements → NO_COVERAGE
    return defaultRequirements;
61
  }
62
}

Mutations

27

1.1
Location : getRequirements
Killed by : none
replaced return value with null for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::getRequirements → NO_COVERAGE

32

1.1
Location : hasRequirements
Killed by : sh.okx.rankup.requirements.PrestigeRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.PrestigeRequirementsTest]/[method:testPrestigeRequirements()]
replaced boolean return with false for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::hasRequirements → KILLED

2.2
Location : hasRequirements
Killed by : none
replaced boolean return with true for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::hasRequirements → SURVIVED

37

1.1
Location : getRequirement
Killed by : none
replaced return value with null for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::getRequirement → NO_COVERAGE

42

1.1
Location : applyRequirements
Killed by : sh.okx.rankup.requirements.PrestigeRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.PrestigeRequirementsTest]/[method:testPrestigeRequirements()]
removed call to sh/okx/rankup/ranks/requirements/RankRequirements::applyRequirements → KILLED

47

1.1
Location : getRankRequirements
Killed by : sh.okx.rankup.requirements.PrestigeRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.PrestigeRequirementsTest]/[method:testPrestigeRequirements()]
negated conditional → KILLED

2.2
Location : getRankRequirements
Killed by : sh.okx.rankup.requirements.PrestigeRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.PrestigeRequirementsTest]/[method:testPrestigeRequirements()]
negated conditional → KILLED

48

1.1
Location : getRankRequirements
Killed by : none
replaced return value with null for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::getRankRequirements → NO_COVERAGE

53

1.1
Location : getRankRequirements
Killed by : sh.okx.rankup.requirements.PrestigeRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.PrestigeRequirementsTest]/[method:testPrestigeRequirements()]
negated conditional → KILLED

2.2
Location : getRankRequirements
Killed by : sh.okx.rankup.requirements.PrestigeRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.PrestigeRequirementsTest]/[method:testPrestigeRequirements()]
negated conditional → KILLED

55

1.1
Location : getRankRequirements
Killed by : sh.okx.rankup.requirements.PrestigeRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.PrestigeRequirementsTest]/[method:testPrestigeRequirements()]
negated conditional → KILLED

56

1.1
Location : getRankRequirements
Killed by : sh.okx.rankup.requirements.PrestigeRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.PrestigeRequirementsTest]/[method:testPrestigeRequirements()]
replaced return value with null for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::getRankRequirements → KILLED

60

1.1
Location : getRankRequirements
Killed by : none
replaced return value with null for sh/okx/rankup/ranks/requirements/PrestigeListRankRequirements::getRankRequirements → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.7.0