RankRequirementsFactory.java

1
package sh.okx.rankup.ranks.requirements;
2
3
import java.util.Collection;
4
import java.util.Collections;
5
import java.util.HashMap;
6
import java.util.List;
7
import java.util.Map;
8
import org.bukkit.configuration.ConfigurationSection;
9
import org.bukkit.configuration.MemoryConfiguration;
10
import sh.okx.rankup.RankupPlugin;
11
import sh.okx.rankup.requirements.Requirement;
12
13
public class RankRequirementsFactory {
14
  private static final String REQUIREMENTS = "requirements";
15
16
  public static RankRequirements getRequirements(RankupPlugin plugin, ConfigurationSection section) {
17 1 1. getRequirements : negated conditional → NO_COVERAGE
    if (section.isConfigurationSection(REQUIREMENTS)) {
18 1 1. getRequirements : replaced return value with null for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getRequirements → NO_COVERAGE
      return getPrestigeListRequirements(plugin, section.getConfigurationSection(REQUIREMENTS));
19
    } else {
20 1 1. getRequirements : replaced return value with null for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getRequirements → NO_COVERAGE
      return getListRequirements(plugin, getRequirementStrings(section, REQUIREMENTS));
21
    }
22
  }
23
24
  public static RankRequirements getRequirements(RankupPlugin plugin, List<String> requirements,
25
      Map<String, List<String>> prestigeRequirements) {
26 1 1. getRequirements : negated conditional → KILLED
    if (prestigeRequirements != null) {
27
      ConfigurationSection section = new MemoryConfiguration();
28
      for (Map.Entry<String, List<String>> entry : prestigeRequirements.entrySet()) {
29 1 1. getRequirements : removed call to org/bukkit/configuration/ConfigurationSection::set → KILLED
        section.set(entry.getKey(), entry.getValue());
30
      }
31 1 1. getRequirements : replaced return value with null for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getRequirements → KILLED
      return getPrestigeListRequirements(plugin, section);
32 1 1. getRequirements : negated conditional → KILLED
    } else if (requirements != null) {
33 1 1. getRequirements : replaced return value with null for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getRequirements → KILLED
      return getListRequirements(plugin, requirements);
34
    } else {
35
//      throw new IllegalArgumentException("No requirements set.");
36
      return null;
37
    }
38
  }
39
40
  private static Collection<String> getRequirementStrings(ConfigurationSection section, String key) {
41 1 1. getRequirementStrings : negated conditional → KILLED
    if (section.isList(key)) {
42 1 1. getRequirementStrings : replaced return value with Collections.emptyList for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getRequirementStrings → KILLED
      return section.getStringList(key);
43
    } else {
44
      String string = section.getString(key);
45 1 1. getRequirementStrings : negated conditional → NO_COVERAGE
      if (string == null) {
46 1 1. getRequirementStrings : replaced return value with Collections.emptyList for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getRequirementStrings → NO_COVERAGE
        return null;
47
      } else {
48 1 1. getRequirementStrings : replaced return value with Collections.emptyList for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getRequirementStrings → NO_COVERAGE
        return Collections.singleton(string);
49
      }
50
    }
51
  }
52
53
  private static List<Requirement> stringsToRequirements(RankupPlugin plugin, Iterable<String> strings) {
54 1 1. stringsToRequirements : replaced return value with Collections.emptyList for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::stringsToRequirements → KILLED
    return plugin.getRequirements().getRequirements(strings);
55
  }
56
57
  private static RankRequirements getListRequirements(RankupPlugin plugin, Iterable<String> list) {
58
    List<Requirement> requirements = stringsToRequirements(plugin, list);
59 1 1. getListRequirements : replaced return value with null for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getListRequirements → KILLED
    return new ListRankRequirements(requirements);
60
  }
61
62
  private static RankRequirements getPrestigeListRequirements(RankupPlugin plugin, ConfigurationSection section) {
63 1 1. getPrestigeListRequirements : negated conditional → KILLED
    if (plugin.getPrestiges() == null) {
64
      throw new IllegalArgumentException("Prestige requirements are being used but prestiging is not enabled.");
65
    }
66
67
    RankRequirements defaultRequirements = null;
68
    Map<String, RankRequirements> requirements = new HashMap<>();
69
70
    for (String key : section.getKeys(false)) {
71
      Collection<String> stringRequirements = getRequirementStrings(section, key);
72 1 1. getPrestigeListRequirements : negated conditional → KILLED
      if (stringRequirements != null) {
73
        RankRequirements rankRequirements = getListRequirements(plugin, stringRequirements);
74 1 1. getPrestigeListRequirements : negated conditional → SURVIVED
        if ("default".equalsIgnoreCase(key)) {
75
          defaultRequirements = rankRequirements;
76
        } else {
77
          requirements.put(key.toLowerCase(), rankRequirements);
78
        }
79
      }
80
    }
81
82 1 1. getPrestigeListRequirements : negated conditional → KILLED
    if (defaultRequirements == null) {
83
      throw new IllegalArgumentException("No default requirements set for rank " + section.getParent().getName() + ". See the wiki for info.");
84
    }
85
86 1 1. getPrestigeListRequirements : replaced return value with null for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getPrestigeListRequirements → KILLED
    return new PrestigeListRankRequirements(plugin, defaultRequirements, requirements);
87
  }
88
}

Mutations

17

1.1
Location : getRequirements
Killed by : none
negated conditional → NO_COVERAGE

18

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

20

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

26

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

29

1.1
Location : getRequirements
Killed by : sh.okx.rankup.requirements.PrestigeRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.PrestigeRequirementsTest]/[method:testPrestigeRequirements()]
removed call to org/bukkit/configuration/ConfigurationSection::set → KILLED

31

1.1
Location : getRequirements
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/RankRequirementsFactory::getRequirements → KILLED

32

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

33

1.1
Location : getRequirements
Killed by : sh.okx.rankup.requirements.MobKillsRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.MobKillsRequirementsTest]/[method:testMobKillsRequirements()]
replaced return value with null for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getRequirements → KILLED

41

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

42

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

45

1.1
Location : getRequirementStrings
Killed by : none
negated conditional → NO_COVERAGE

46

1.1
Location : getRequirementStrings
Killed by : none
replaced return value with Collections.emptyList for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getRequirementStrings → NO_COVERAGE

48

1.1
Location : getRequirementStrings
Killed by : none
replaced return value with Collections.emptyList for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getRequirementStrings → NO_COVERAGE

54

1.1
Location : stringsToRequirements
Killed by : sh.okx.rankup.requirements.MobKillsRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.MobKillsRequirementsTest]/[method:testMobKillsRequirements()]
replaced return value with Collections.emptyList for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::stringsToRequirements → KILLED

59

1.1
Location : getListRequirements
Killed by : sh.okx.rankup.requirements.MobKillsRequirementsTest.[engine:junit-jupiter]/[class:sh.okx.rankup.requirements.MobKillsRequirementsTest]/[method:testMobKillsRequirements()]
replaced return value with null for sh/okx/rankup/ranks/requirements/RankRequirementsFactory::getListRequirements → KILLED

63

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

72

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

74

1.1
Location : getPrestigeListRequirements
Killed by : none
negated conditional → SURVIVED

82

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

86

1.1
Location : getPrestigeListRequirements
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/RankRequirementsFactory::getPrestigeListRequirements → KILLED

Active mutators

Tests examined


Report generated by PIT 1.7.0