RankTree.java

1
package sh.okx.rankup.ranks;
2
3
import org.jetbrains.annotations.NotNull;
4
5
import java.util.ArrayList;
6
import java.util.Iterator;
7
import java.util.List;
8
9
public class RankTree<T extends Rank> implements Iterable<T> {
10
  private final RankElement<T> first;
11
12
  public RankTree(RankElement<T> first) {
13
    this.first = first;
14
  }
15
16
  public RankElement<T> getFirst() {
17 1 1. getFirst : replaced return value with null for sh/okx/rankup/ranks/RankTree::getFirst → KILLED
    return first;
18
  }
19
20
  public int length() {
21
    int len = 0;
22
    RankElement<T> elem = first;
23 1 1. length : negated conditional → NO_COVERAGE
    while (elem != null) {
24 1 1. length : Changed increment from 1 to -1 → NO_COVERAGE
      len++;
25
      elem = elem.getNext();
26
    }
27 1 1. length : replaced int return with 0 for sh/okx/rankup/ranks/RankTree::length → NO_COVERAGE
    return len;
28
  }
29
30
  @NotNull
31
  @Override
32
  public Iterator<T> iterator() {
33
    return new Iterator<T>() {
34
      private RankElement<T> element = first;
35
      @Override
36
      public boolean hasNext() {
37 2 1. hasNext : negated conditional → KILLED
2. hasNext : replaced boolean return with true for sh/okx/rankup/ranks/RankTree$1::hasNext → KILLED
        return element != null;
38
      }
39
40
      @Override
41
      public T next() {
42
        T rank = element.getRank();
43
        element = element.getNext();
44 1 1. next : replaced return value with null for sh/okx/rankup/ranks/RankTree$1::next → KILLED
        return rank;
45
      }
46
    };
47
  }
48
49
  public List<RankElement<T>> asList() {
50
    List<RankElement<T>> ranks = new ArrayList<>();
51
    RankElement<T> elem = first;
52 1 1. asList : negated conditional → KILLED
    while (elem != null) {
53
      ranks.add(elem);
54
      elem = elem.getNext();
55
    }
56 1 1. asList : replaced return value with Collections.emptyList for sh/okx/rankup/ranks/RankTree::asList → KILLED
    return ranks;
57
  }
58
59
  public RankElement<T> last() {
60
    RankElement<T> elem = first;
61 1 1. last : negated conditional → KILLED
    while (elem.hasNext()) {
62
      elem = elem.getNext();
63
    }
64 1 1. last : replaced return value with null for sh/okx/rankup/ranks/RankTree::last → KILLED
    return elem;
65
  }
66
}

Mutations

17

1.1
Location : getFirst
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/RankTree::getFirst → KILLED

23

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

24

1.1
Location : length
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

27

1.1
Location : length
Killed by : none
replaced int return with 0 for sh/okx/rankup/ranks/RankTree::length → NO_COVERAGE

37

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

2.2
Location : hasNext
Killed by : sh.okx.rankup.pebble.PebbleTest.[engine:junit-jupiter]/[class:sh.okx.rankup.pebble.PebbleTest]/[method:testRequirementAbsent()]
replaced boolean return with true for sh/okx/rankup/ranks/RankTree$1::hasNext → KILLED

44

1.1
Location : next
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
replaced return value with null for sh/okx/rankup/ranks/RankTree$1::next → KILLED

52

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

56

1.1
Location : asList
Killed by : sh.okx.rankup.RankupPlaceholderTest.[engine:junit-jupiter]/[class:sh.okx.rankup.RankupPlaceholderTest]/[method:testStatusCurrent()]
replaced return value with Collections.emptyList for sh/okx/rankup/ranks/RankTree::asList → KILLED

61

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

64

1.1
Location : last
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/RankTree::last → KILLED

Active mutators

Tests examined


Report generated by PIT 1.7.0