RankupExpansion.java

1
package sh.okx.rankup.placeholders;
2
3
import lombok.RequiredArgsConstructor;
4
import org.bukkit.entity.Player;
5
import sh.okx.rankup.RankupPlugin;
6
import sh.okx.rankup.prestige.Prestige;
7
import sh.okx.rankup.prestige.Prestiges;
8
import sh.okx.rankup.ranks.Rank;
9
import sh.okx.rankup.ranks.RankElement;
10
import sh.okx.rankup.ranks.Rankups;
11
import sh.okx.rankup.requirements.Requirement;
12
13
import java.util.Objects;
14
import java.util.function.Function;
15
import java.util.regex.Matcher;
16
import java.util.regex.Pattern;
17
18
@RequiredArgsConstructor
19
public class RankupExpansion implements Expansion {
20
    private static final Pattern PATTERN = Pattern.compile("(.*)#(.*)");
21
22
    private final RankupPlugin plugin;
23
    private final Placeholders placeholders;
24
25
    @Override
26
    public String placeholder(Player player, String params) {
27 1 1. placeholder : negated conditional → KILLED
        if (player == null) {
28
            return "";
29
        }
30
        params = params.toLowerCase();
31
32
        Rankups rankups = plugin.getRankups();
33
        RankElement<Rank> rankElement = rankups.getByPlayer(player);
34 1 1. placeholder : negated conditional → KILLED
        Rank rank = rankElement == null ? null : rankElement.getRank();
35
36
        Prestiges prestiges = plugin.getPrestiges();
37
        RankElement<Prestige> prestigeElement = null;
38
        Prestige prestige = null;
39 1 1. placeholder : negated conditional → KILLED
        if (prestiges != null) {
40
            prestigeElement = prestiges.getByPlayer(player);
41 1 1. placeholder : negated conditional → NO_COVERAGE
            prestige = prestigeElement == null ? null : prestigeElement.getRank();
42
        }
43
44 1 1. placeholder : negated conditional → KILLED
        if (params.startsWith("requirement_")) {
45
            String[] parts = params.split("_", 3);
46 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
            return getPlaceholderRequirement(player, rank,
47 2 1. placeholder : changed conditional boundary → NO_COVERAGE
2. placeholder : negated conditional → NO_COVERAGE
                    replacePattern(parts[1]), parts.length > 2 ? parts[2] : "");
48 1 1. placeholder : negated conditional → KILLED
        } else if (params.startsWith("rank_requirement_")) {
49
            String[] parts = params.split("_", 5);
50 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
            return getPlaceholderRequirement(player, rankups.getRankByName(parts[2]),
51 2 1. placeholder : changed conditional boundary → NO_COVERAGE
2. placeholder : negated conditional → NO_COVERAGE
                    replacePattern(parts[3]), parts.length > 4 ? parts[4] : "");
52 1 1. placeholder : negated conditional → KILLED
        } else if (params.startsWith("rank_money_")) {
53
            String[] parts = params.split("_", 4);
54
            double amount = Objects.requireNonNull(rankups.getRankByName(parts[2]), "Rankup " + parts[2] + " does not exist").getRequirement(player, "money").getValueDouble();
55 3 1. placeholder : changed conditional boundary → NO_COVERAGE
2. placeholder : negated conditional → NO_COVERAGE
3. placeholder : negated conditional → NO_COVERAGE
            if (parts.length > 3 && parts[3].equalsIgnoreCase("left")) {
56 1 1. placeholder : Replaced double subtraction with addition → NO_COVERAGE
                amount = amount - plugin.getEconomy().getBalance(player);
57
            }
58 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
            return plugin.getPlaceholders().formatMoney(Math.max(0, amount));
59 1 1. placeholder : negated conditional → KILLED
        } else if (params.startsWith("status_")) {
60
            String[] parts = params.split("_",  2);
61
            Rank statusRank = rankups.getRankByName(parts[1]);
62
63 1 1. placeholder : negated conditional → KILLED
            if (statusRank == null) {
64 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                return null;
65
            }
66 1 1. placeholder : negated conditional → KILLED
            if (rank == null) {
67 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                return getPlaceholder("status.incomplete");
68
            }
69 1 1. placeholder : negated conditional → KILLED
            if (statusRank.equals(rank)) {
70 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED
                return getPlaceholder("status.current");
71
            }
72
73
            // is playerRank before or after statusRank?
74
            for (RankElement<Rank> element : rankups.getTree().asList()) {
75 1 1. placeholder : negated conditional → KILLED
                if (element.getRank().equals(statusRank)) {
76 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED
                    return getPlaceholder("status.complete");
77 1 1. placeholder : negated conditional → KILLED
                } else if (element.getRank().equals(rank)) {
78 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED
                    return getPlaceholder("status.incomplete");
79
                }
80
            }
81
82
            // this should not happen
83 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
            return null;
84
        }
85
86
        switch (params) {
87
            case "current_prestige":
88 1 1. placeholder : removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → SURVIVED
                requirePrestiging(prestiges, params);
89 2 1. placeholder : negated conditional → NO_COVERAGE
2. placeholder : negated conditional → NO_COVERAGE
                if (prestige == null || prestige.getRank() == null) {
90 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                    return getPlaceholder("no-prestige");
91
                } else {
92 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                    return prestige.getRank();
93
                }
94
            case "current_prestige_name":
95 1 1. placeholder : removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → NO_COVERAGE
                requirePrestiging(prestiges, params);
96 2 1. placeholder : negated conditional → NO_COVERAGE
2. placeholder : negated conditional → NO_COVERAGE
                if (prestige == null || prestige.getRank() == null) {
97 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                    return getPlaceholder("no-prestige");
98
                } else {
99 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                    return prestige.getDisplayName();
100
                }
101
            case "next_prestige":
102 1 1. placeholder : removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → SURVIVED
                requirePrestiging(prestiges, params);
103 2 1. placeholder : negated conditional → NO_COVERAGE
2. placeholder : negated conditional → NO_COVERAGE
                if (prestigeElement != null && !prestigeElement.hasNext()) {
104 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                    return getPlaceholder("highest-rank");
105
                }
106 2 1. lambda$placeholder$0 : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$0 → NO_COVERAGE
2. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                return orElse(prestigeElement, e -> e.getNext().getRank().getRank(), prestiges.getTree().getFirst().getNext().getRank().getRank());
107
            case "next_prestige_name":
108 1 1. placeholder : removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → NO_COVERAGE
                requirePrestiging(prestiges, params);
109 2 1. placeholder : negated conditional → NO_COVERAGE
2. placeholder : negated conditional → NO_COVERAGE
                if (prestigeElement != null && !prestigeElement.hasNext()) {
110 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                    return getPlaceholder("highest-rank");
111
                } else {
112 2 1. lambda$placeholder$1 : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$1 → NO_COVERAGE
2. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                    return orElse(prestigeElement, e -> e.getNext().getRank().getDisplayName(), prestiges.getTree().getFirst().getNext().getRank().getDisplayName());
113
                }
114
            case "prestige_money":
115 1 1. placeholder : removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → NO_COVERAGE
                requirePrestiging(prestiges, params);
116 3 1. lambda$placeholder$2 : negated conditional → NO_COVERAGE
2. lambda$placeholder$2 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$2 → NO_COVERAGE
3. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                return String.valueOf(simplify(orElse(prestige, r -> r.isIn(player) ? r.getRequirement(player, "money").getValueDouble() : 0, 0)));
117
            case "prestige_money_formatted":
118 1 1. placeholder : removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → SURVIVED
                requirePrestiging(prestiges, params);
119 3 1. lambda$placeholder$3 : negated conditional → NO_COVERAGE
2. lambda$placeholder$3 : replaced Double return value with 0 for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$3 → NO_COVERAGE
3. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                return plugin.getPlaceholders().formatMoney(orElse(prestige, r -> r.isIn(player) ? r.getRequirement(player, "money").getValueDouble() : 0, 0D));
120
            case "current_rank":
121 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED
                return orElse(rank, Rank::getRank, getPlaceholder("not-in-ladder"));
122
            case "current_rank_name":
123 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                return orElse(rank, Rank::getDisplayName, getPlaceholder("not-in-ladder"));
124
            case "next_rank":
125 2 1. placeholder : negated conditional → SURVIVED
2. placeholder : negated conditional → KILLED
                if (rankElement != null && !rankElement.hasNext()) {
126 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                    return getPlaceholder("highest-rank");
127
                } else {
128 2 1. lambda$placeholder$4 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$4 → KILLED
2. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED
                    return orElsePlaceholder(rankElement, e -> e.getNext().getRank().getRank(), "not-in-ladder");
129
                }
130
            case "next_rank_name":
131 2 1. placeholder : negated conditional → NO_COVERAGE
2. placeholder : negated conditional → NO_COVERAGE
                if (rankElement != null && !rankElement.hasNext()) {
132 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                    return getPlaceholder("highest-rank");
133
                } else {
134 2 1. lambda$placeholder$5 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$5 → NO_COVERAGE
2. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                    return orElsePlaceholder(rankElement, e -> e.getNext().getRank().getDisplayName(), "not-in-ladder");
135
                }
136
            case "money":
137 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED
                return String.valueOf(getMoney(player, rank));
138
            case "money_formatted":
139 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED
                return placeholders.formatMoney(getMoney(player, rank).doubleValue());
140
            case "money_left":
141 3 1. lambda$placeholder$6 : Replaced double subtraction with addition → KILLED
2. lambda$placeholder$6 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$6 → KILLED
3. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED
                return String.valueOf(Math.max(0, orElse(rank, r -> simplify(r.getRequirement(player, "money").getValueDouble() - plugin.getEconomy().getBalance(player)), 0).doubleValue()));
142
            case "money_left_formatted":
143 3 1. lambda$placeholder$7 : Replaced double subtraction with addition → NO_COVERAGE
2. lambda$placeholder$7 : replaced Double return value with 0 for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$7 → NO_COVERAGE
3. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED
                return placeholders.formatMoney(Math.max(0D, orElse(rank, r -> r.getRequirement(player, "money").getValueDouble() - plugin.getEconomy().getBalance(player), 0D)));
144
            case "percent_left":
145 5 1. lambda$placeholder$8 : Replaced double division with multiplication → NO_COVERAGE
2. lambda$placeholder$8 : Replaced double subtraction with addition → NO_COVERAGE
3. lambda$placeholder$8 : Replaced double multiplication with division → NO_COVERAGE
4. lambda$placeholder$8 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$8 → NO_COVERAGE
5. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                return String.valueOf(Math.max(0D, orElse(rank, r -> (1 - (plugin.getEconomy().getBalance(player) / r.getRequirement(player, "money").getValueDouble())) * 100, 0).doubleValue()));
146
            case "percent_left_formatted":
147 5 1. lambda$placeholder$9 : Replaced double division with multiplication → NO_COVERAGE
2. lambda$placeholder$9 : Replaced double subtraction with addition → NO_COVERAGE
3. lambda$placeholder$9 : Replaced double multiplication with division → NO_COVERAGE
4. lambda$placeholder$9 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$9 → NO_COVERAGE
5. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED
                return placeholders.getPercentFormat().format(Math.max(0D, orElse(rank, r -> (1 - (plugin.getEconomy().getBalance(player) / r.getRequirement(player, "money").getValueDouble())) * 100, 0).doubleValue()));
148
            case "percent_done":
149 4 1. lambda$placeholder$10 : Replaced double division with multiplication → NO_COVERAGE
2. lambda$placeholder$10 : Replaced double multiplication with division → NO_COVERAGE
3. lambda$placeholder$10 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$10 → NO_COVERAGE
4. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                return String.valueOf(Math.min(100D, orElse(rank, r -> (plugin.getEconomy().getBalance(player) / r.getRequirement(player, "money").getValueDouble()) * 100, 0).doubleValue()));
150
            case "percent_done_formatted":
151 4 1. lambda$placeholder$11 : Replaced double division with multiplication → NO_COVERAGE
2. lambda$placeholder$11 : Replaced double multiplication with division → NO_COVERAGE
3. lambda$placeholder$11 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$11 → NO_COVERAGE
4. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED
                return placeholders.getPercentFormat().format(Math.min(100D, orElse(rank, r -> (plugin.getEconomy().getBalance(player) / r.getRequirement(player, "money").getValueDouble()) * 100, 0).doubleValue()));
152
            case "prestige_percent_left_formatted":
153 5 1. lambda$placeholder$12 : Replaced double division with multiplication → NO_COVERAGE
2. lambda$placeholder$12 : Replaced double subtraction with addition → NO_COVERAGE
3. lambda$placeholder$12 : Replaced double multiplication with division → NO_COVERAGE
4. lambda$placeholder$12 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$12 → NO_COVERAGE
5. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED
                return placeholders.getPercentFormat().format(Math.max(0D, orElse(prestige, r -> (1 - (plugin.getEconomy().getBalance(player) / r.getRequirement(player, "money").getValueDouble())) * 100, 0).doubleValue()));
154
            case "prestige_percent_done_formatted":
155 4 1. lambda$placeholder$13 : Replaced double division with multiplication → NO_COVERAGE
2. lambda$placeholder$13 : Replaced double multiplication with division → NO_COVERAGE
3. lambda$placeholder$13 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$13 → NO_COVERAGE
4. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED
                return placeholders.getPercentFormat().format(Math.min(100D, orElse(prestige, r -> (plugin.getEconomy().getBalance(player) / r.getRequirement(player, "money").getValueDouble()) * 100, 0).doubleValue()));
156
            default:
157 1 1. placeholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE
                return null;
158
        }
159
    }
160
161
    private Number getMoney(Player player, Rank rank) {
162 2 1. getMoney : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::getMoney → KILLED
2. lambda$getMoney$14 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$getMoney$14 → KILLED
        return orElse(rank, r -> simplify(r.getRequirement(player, "money").getValueDouble()), 0);
163
    }
164
165
    private void requirePrestiging(Prestiges prestiges, String params) {
166
        Objects.requireNonNull(prestiges, "Using %rankup_" + params + "% prestige placeholder but prestiging is disabled.");
167
    }
168
169
    private String getPlaceholderRequirement(Player player, Rank rank, String requirementName, String params) {
170 1 1. getPlaceholderRequirement : negated conditional → NO_COVERAGE
        if (rank == null) {
171
            return "";
172
        }
173
        Requirement requirement = rank.getRequirement(player, requirementName);
174
        switch (params) {
175
            case "":
176 1 1. getPlaceholderRequirement : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE
                return orElse(requirement, Requirement::getValueString, "0");
177
            case "left":
178 2 1. getPlaceholderRequirement : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE
2. lambda$getPlaceholderRequirement$15 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$getPlaceholderRequirement$15 → NO_COVERAGE
                return placeholders.getSimpleFormat().format(orElse(requirement, r -> r.getRemaining(player), 0));
179
            case "done":
180 3 1. getPlaceholderRequirement : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE
2. lambda$getPlaceholderRequirement$16 : Replaced double subtraction with addition → NO_COVERAGE
3. lambda$getPlaceholderRequirement$16 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$getPlaceholderRequirement$16 → NO_COVERAGE
                return placeholders.getSimpleFormat().format(orElse(requirement, r -> r.getValueDouble() - r.getRemaining(player), 0));
181
            case "percent_left":
182 4 1. getPlaceholderRequirement : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE
2. lambda$getPlaceholderRequirement$17 : Replaced double division with multiplication → NO_COVERAGE
3. lambda$getPlaceholderRequirement$17 : Replaced double multiplication with division → NO_COVERAGE
4. lambda$getPlaceholderRequirement$17 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$getPlaceholderRequirement$17 → NO_COVERAGE
                return placeholders.getPercentFormat().format(orElse(requirement, r -> (r.getRemaining(player) / r.getValueDouble()) * 100, 0));
183
            case "percent_done":
184 5 1. getPlaceholderRequirement : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE
2. lambda$getPlaceholderRequirement$18 : Replaced double division with multiplication → NO_COVERAGE
3. lambda$getPlaceholderRequirement$18 : Replaced double subtraction with addition → NO_COVERAGE
4. lambda$getPlaceholderRequirement$18 : Replaced double multiplication with division → NO_COVERAGE
5. lambda$getPlaceholderRequirement$18 : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$getPlaceholderRequirement$18 → NO_COVERAGE
                return placeholders.getPercentFormat().format(orElse(requirement, r -> (1 - (r.getRemaining(player) / r.getValueDouble())) * 100, 100));
185
            default:
186 1 1. getPlaceholderRequirement : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE
                return null;
187
        }
188
    }
189
190
    private Number simplify(Number number) {
191 1 1. simplify : negated conditional → KILLED
        if (number instanceof Float) {
192 3 1. simplify : Replaced float modulus with multiplication → NO_COVERAGE
2. simplify : negated conditional → NO_COVERAGE
3. simplify : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::simplify → NO_COVERAGE
            return (float) number % 1 == 0 ? number.intValue() : number;
193 1 1. simplify : negated conditional → KILLED
        } else if (number instanceof Double) {
194 3 1. simplify : Replaced double modulus with multiplication → KILLED
2. simplify : negated conditional → KILLED
3. simplify : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::simplify → KILLED
            return (double) number % 1 == 0 ? number.longValue() : number;
195
        } else {
196 1 1. simplify : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::simplify → NO_COVERAGE
            return number;
197
        }
198
    }
199
200
    private <T> String orElsePlaceholder(T t, Function<T, Object> value, Object fallback) {
201 1 1. orElsePlaceholder : negated conditional → KILLED
        if (t == null) {
202 1 1. orElsePlaceholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::orElsePlaceholder → SURVIVED
            return getPlaceholder(String.valueOf(fallback));
203
        }
204
205
        try {
206 1 1. orElsePlaceholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::orElsePlaceholder → KILLED
            return String.valueOf(value.apply(t));
207
        } catch (NullPointerException ex) {
208 1 1. orElsePlaceholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::orElsePlaceholder → NO_COVERAGE
            return getPlaceholder(String.valueOf(fallback));
209
        }
210
    }
211
212
    private <T, R> R orElse(T t, Function<T, R> value, R fallback) {
213 1 1. orElse : negated conditional → KILLED
        if (t == null) {
214 1 1. orElse : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::orElse → SURVIVED
            return fallback;
215
        }
216
217
        try {
218 1 1. orElse : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::orElse → KILLED
            return value.apply(t);
219
        } catch (NullPointerException ex) {
220 1 1. orElse : replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::orElse → NO_COVERAGE
            return fallback;
221
        }
222
    }
223
224
    private String replacePattern(String string) {
225
        Matcher matcher = PATTERN.matcher(string);
226 1 1. replacePattern : negated conditional → NO_COVERAGE
        if (matcher.matches()) {
227 1 1. replacePattern : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::replacePattern → NO_COVERAGE
            return matcher.group(1) + "#" + matcher.group(2).replace("-", "_");
228
        } else {
229 1 1. replacePattern : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::replacePattern → NO_COVERAGE
            return string;
230
        }
231
    }
232
233
    private String getPlaceholder(String name) {
234 1 1. getPlaceholder : replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholder → KILLED
        return plugin.getConfig().getString("placeholders." + name);
235
    }
236
}

Mutations

27

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
negated conditional → KILLED

34

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
negated conditional → KILLED

39

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
negated conditional → KILLED

41

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

44

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
negated conditional → KILLED

46

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

47

1.1
Location : placeholder
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : placeholder
Killed by : none
negated conditional → NO_COVERAGE

48

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
negated conditional → KILLED

50

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

51

1.1
Location : placeholder
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : placeholder
Killed by : none
negated conditional → NO_COVERAGE

52

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
negated conditional → KILLED

55

1.1
Location : placeholder
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : placeholder
Killed by : none
negated conditional → NO_COVERAGE

3.3
Location : placeholder
Killed by : none
negated conditional → NO_COVERAGE

56

1.1
Location : placeholder
Killed by : none
Replaced double subtraction with addition → NO_COVERAGE

58

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

59

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
negated conditional → KILLED

63

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
negated conditional → KILLED

64

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

66

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
negated conditional → KILLED

67

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

69

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
negated conditional → KILLED

70

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED

75

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusIncomplete()]
negated conditional → KILLED

76

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusComplete()]
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED

77

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusComplete()]
negated conditional → KILLED

78

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusIncomplete()]
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED

83

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

88

1.1
Location : placeholder
Killed by : none
removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → SURVIVED

89

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

2.2
Location : placeholder
Killed by : none
negated conditional → NO_COVERAGE

90

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

92

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

95

1.1
Location : placeholder
Killed by : none
removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → NO_COVERAGE

96

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

2.2
Location : placeholder
Killed by : none
negated conditional → NO_COVERAGE

97

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

99

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

102

1.1
Location : placeholder
Killed by : none
removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → SURVIVED

103

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

2.2
Location : placeholder
Killed by : none
negated conditional → NO_COVERAGE

104

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

106

1.1
Location : lambda$placeholder$0
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$0 → NO_COVERAGE

2.2
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

108

1.1
Location : placeholder
Killed by : none
removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → NO_COVERAGE

109

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

2.2
Location : placeholder
Killed by : none
negated conditional → NO_COVERAGE

110

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

112

1.1
Location : lambda$placeholder$1
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$1 → NO_COVERAGE

2.2
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

115

1.1
Location : placeholder
Killed by : none
removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → NO_COVERAGE

116

1.1
Location : lambda$placeholder$2
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : lambda$placeholder$2
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$2 → NO_COVERAGE

3.3
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

118

1.1
Location : placeholder
Killed by : none
removed call to sh/okx/rankup/placeholders/RankupExpansion::requirePrestiging → SURVIVED

119

1.1
Location : lambda$placeholder$3
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : lambda$placeholder$3
Killed by : none
replaced Double return value with 0 for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$3 → NO_COVERAGE

3.3
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

121

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testCurrentRank()]
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED

123

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

125

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

2.2
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testNextRank()]
negated conditional → KILLED

126

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

128

1.1
Location : lambda$placeholder$4
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testNextRank()]
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$4 → KILLED

2.2
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testNextRank()]
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED

131

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

2.2
Location : placeholder
Killed by : none
negated conditional → NO_COVERAGE

132

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

134

1.1
Location : lambda$placeholder$5
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$5 → NO_COVERAGE

2.2
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

137

1.1
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoney()]
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED

139

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED

141

1.1
Location : lambda$placeholder$6
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoneyLeft()]
Replaced double subtraction with addition → KILLED

2.2
Location : lambda$placeholder$6
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoneyLeft()]
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$6 → KILLED

3.3
Location : placeholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoneyLeft()]
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → KILLED

143

1.1
Location : lambda$placeholder$7
Killed by : none
Replaced double subtraction with addition → NO_COVERAGE

2.2
Location : lambda$placeholder$7
Killed by : none
replaced Double return value with 0 for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$7 → NO_COVERAGE

3.3
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED

145

1.1
Location : lambda$placeholder$8
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

2.2
Location : lambda$placeholder$8
Killed by : none
Replaced double subtraction with addition → NO_COVERAGE

3.3
Location : lambda$placeholder$8
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

4.4
Location : lambda$placeholder$8
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$8 → NO_COVERAGE

5.5
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

147

1.1
Location : lambda$placeholder$9
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

2.2
Location : lambda$placeholder$9
Killed by : none
Replaced double subtraction with addition → NO_COVERAGE

3.3
Location : lambda$placeholder$9
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

4.4
Location : lambda$placeholder$9
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$9 → NO_COVERAGE

5.5
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED

149

1.1
Location : lambda$placeholder$10
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

2.2
Location : lambda$placeholder$10
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

3.3
Location : lambda$placeholder$10
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$10 → NO_COVERAGE

4.4
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

151

1.1
Location : lambda$placeholder$11
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

2.2
Location : lambda$placeholder$11
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

3.3
Location : lambda$placeholder$11
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$11 → NO_COVERAGE

4.4
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED

153

1.1
Location : lambda$placeholder$12
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

2.2
Location : lambda$placeholder$12
Killed by : none
Replaced double subtraction with addition → NO_COVERAGE

3.3
Location : lambda$placeholder$12
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

4.4
Location : lambda$placeholder$12
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$12 → NO_COVERAGE

5.5
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED

155

1.1
Location : lambda$placeholder$13
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

2.2
Location : lambda$placeholder$13
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

3.3
Location : lambda$placeholder$13
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$placeholder$13 → NO_COVERAGE

4.4
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → SURVIVED

157

1.1
Location : placeholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::placeholder → NO_COVERAGE

162

1.1
Location : getMoney
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoney()]
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::getMoney → KILLED

2.2
Location : lambda$getMoney$14
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoney()]
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$getMoney$14 → KILLED

170

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

176

1.1
Location : getPlaceholderRequirement
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE

178

1.1
Location : getPlaceholderRequirement
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE

2.2
Location : lambda$getPlaceholderRequirement$15
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$getPlaceholderRequirement$15 → NO_COVERAGE

180

1.1
Location : getPlaceholderRequirement
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE

2.2
Location : lambda$getPlaceholderRequirement$16
Killed by : none
Replaced double subtraction with addition → NO_COVERAGE

3.3
Location : lambda$getPlaceholderRequirement$16
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$getPlaceholderRequirement$16 → NO_COVERAGE

182

1.1
Location : getPlaceholderRequirement
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE

2.2
Location : lambda$getPlaceholderRequirement$17
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

3.3
Location : lambda$getPlaceholderRequirement$17
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

4.4
Location : lambda$getPlaceholderRequirement$17
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$getPlaceholderRequirement$17 → NO_COVERAGE

184

1.1
Location : getPlaceholderRequirement
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE

2.2
Location : lambda$getPlaceholderRequirement$18
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

3.3
Location : lambda$getPlaceholderRequirement$18
Killed by : none
Replaced double subtraction with addition → NO_COVERAGE

4.4
Location : lambda$getPlaceholderRequirement$18
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

5.5
Location : lambda$getPlaceholderRequirement$18
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::lambda$getPlaceholderRequirement$18 → NO_COVERAGE

186

1.1
Location : getPlaceholderRequirement
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholderRequirement → NO_COVERAGE

191

1.1
Location : simplify
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoney()]
negated conditional → KILLED

192

1.1
Location : simplify
Killed by : none
Replaced float modulus with multiplication → NO_COVERAGE

2.2
Location : simplify
Killed by : none
negated conditional → NO_COVERAGE

3.3
Location : simplify
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::simplify → NO_COVERAGE

193

1.1
Location : simplify
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoney()]
negated conditional → KILLED

194

1.1
Location : simplify
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoney()]
Replaced double modulus with multiplication → KILLED

2.2
Location : simplify
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoney()]
negated conditional → KILLED

3.3
Location : simplify
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoney()]
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::simplify → KILLED

196

1.1
Location : simplify
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::simplify → NO_COVERAGE

201

1.1
Location : orElsePlaceholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testNextRank()]
negated conditional → KILLED

202

1.1
Location : orElsePlaceholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::orElsePlaceholder → SURVIVED

206

1.1
Location : orElsePlaceholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testNextRank()]
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::orElsePlaceholder → KILLED

208

1.1
Location : orElsePlaceholder
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::orElsePlaceholder → NO_COVERAGE

213

1.1
Location : orElse
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoney()]
negated conditional → KILLED

214

1.1
Location : orElse
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::orElse → SURVIVED

218

1.1
Location : orElse
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testMoney()]
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::orElse → KILLED

220

1.1
Location : orElse
Killed by : none
replaced return value with null for sh/okx/rankup/placeholders/RankupExpansion::orElse → NO_COVERAGE

226

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

227

1.1
Location : replacePattern
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::replacePattern → NO_COVERAGE

229

1.1
Location : replacePattern
Killed by : none
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::replacePattern → NO_COVERAGE

234

1.1
Location : getPlaceholder
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
replaced return value with "" for sh/okx/rankup/placeholders/RankupExpansion::getPlaceholder → KILLED

Active mutators

Tests examined


Report generated by PIT 1.7.0