BoundingBox.java

1
package g0803.bindingofshiba.math;
2
3
import java.util.Objects;
4
5
public class BoundingBox {
6
7
    private final double x, y;
8
    private final double width, height;
9
10
    public BoundingBox(double width, double height) {
11
        this(0, 0, width, height);
12
    }
13
14
    public BoundingBox(double x, double y, double width, double height) {
15 4 1. <init> : changed conditional boundary → SURVIVED
2. <init> : changed conditional boundary → SURVIVED
3. <init> : negated conditional → KILLED
4. <init> : negated conditional → KILLED
        if (width <= 0 || height <= 0)
16
            throw new IllegalArgumentException(
17
                    "Neither width nor height may not be negative nor zero");
18
19
        this.x = x;
20
        this.y = y;
21
        this.width = width;
22
        this.height = height;
23
    }
24
25
    public BoundingBox(Vec2D topLeftCorner, double width, double height) {
26
        this(topLeftCorner.getX(), topLeftCorner.getY(), width, height);
27
    }
28
29
    public double getX() {
30 1 1. getX : replaced double return with 0.0d for g0803/bindingofshiba/math/BoundingBox::getX → NO_COVERAGE
        return x;
31
    }
32
33
    public double getY() {
34 1 1. getY : replaced double return with 0.0d for g0803/bindingofshiba/math/BoundingBox::getY → NO_COVERAGE
        return y;
35
    }
36
37
    public double getWidth() {
38 1 1. getWidth : replaced double return with 0.0d for g0803/bindingofshiba/math/BoundingBox::getWidth → NO_COVERAGE
        return width;
39
    }
40
41
    public double getHeight() {
42 1 1. getHeight : replaced double return with 0.0d for g0803/bindingofshiba/math/BoundingBox::getHeight → NO_COVERAGE
        return height;
43
    }
44
45
    public Vec2D getTopLeftCorner() {
46 1 1. getTopLeftCorner : replaced return value with null for g0803/bindingofshiba/math/BoundingBox::getTopLeftCorner → KILLED
        return new Vec2D(x, y);
47
    }
48
49
    public Vec2D getTopRightCorner() {
50 2 1. getTopRightCorner : Replaced double addition with subtraction → KILLED
2. getTopRightCorner : replaced return value with null for g0803/bindingofshiba/math/BoundingBox::getTopRightCorner → KILLED
        return new Vec2D(x + width, y);
51
    }
52
53
    public Vec2D getBottomLeftCorner() {
54 2 1. getBottomLeftCorner : Replaced double addition with subtraction → KILLED
2. getBottomLeftCorner : replaced return value with null for g0803/bindingofshiba/math/BoundingBox::getBottomLeftCorner → KILLED
        return new Vec2D(x, y + height);
55
    }
56
57
    public Vec2D getBottomRightCorner() {
58 3 1. getBottomRightCorner : Replaced double addition with subtraction → KILLED
2. getBottomRightCorner : Replaced double addition with subtraction → KILLED
3. getBottomRightCorner : replaced return value with null for g0803/bindingofshiba/math/BoundingBox::getBottomRightCorner → KILLED
        return new Vec2D(x + width, y + height);
59
    }
60
61
    public Vec2D getDimensions() {
62 1 1. getDimensions : replaced return value with null for g0803/bindingofshiba/math/BoundingBox::getDimensions → KILLED
        return new Vec2D(width, height);
63
    }
64
65
    public BoundingBox translate(Vec2D vec) {
66 1 1. translate : replaced return value with null for g0803/bindingofshiba/math/BoundingBox::translate → KILLED
        return new BoundingBox(this.getTopLeftCorner().add(vec), this.width, this.height);
67
    }
68
69
    public BoundingBox translate(double x, double y) {
70 1 1. translate : replaced return value with null for g0803/bindingofshiba/math/BoundingBox::translate → KILLED
        return this.translate(new Vec2D(x, y));
71
    }
72
73
    public boolean collides(BoundingBox other) {
74
        Vec2D topLeft = this.getTopLeftCorner();
75
        Vec2D otherTopLeft = other.getTopLeftCorner();
76
        Vec2D bottomRight = this.getBottomRightCorner();
77
        Vec2D otherBottomRight = other.getBottomRightCorner();
78
79
        // Although the if statements are repetitive,
80
        // short-circuiting the method execution like this gives a good
81
        // performance increase when these operations are executed many times per second
82
        boolean isOnTheLeft =
83 4 1. collides : changed conditional boundary → SURVIVED
2. collides : changed conditional boundary → KILLED
3. collides : negated conditional → KILLED
4. collides : negated conditional → KILLED
                otherTopLeft.getX() < topLeft.getX() && otherBottomRight.getX() < topLeft.getX();
84 2 1. collides : negated conditional → KILLED
2. collides : replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::collides → KILLED
        if (isOnTheLeft) return false;
85
86
        boolean isOnTheRight =
87 2 1. collides : changed conditional boundary → KILLED
2. collides : negated conditional → KILLED
                otherTopLeft.getX() > bottomRight.getX()
88 2 1. collides : changed conditional boundary → SURVIVED
2. collides : negated conditional → KILLED
                        && otherBottomRight.getX() > bottomRight.getX();
89 2 1. collides : negated conditional → KILLED
2. collides : replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::collides → KILLED
        if (isOnTheRight) return false;
90
91
        boolean isOnTheTop =
92 4 1. collides : changed conditional boundary → SURVIVED
2. collides : changed conditional boundary → KILLED
3. collides : negated conditional → KILLED
4. collides : negated conditional → KILLED
                otherTopLeft.getY() < topLeft.getY() && otherBottomRight.getY() < topLeft.getY();
93 2 1. collides : negated conditional → KILLED
2. collides : replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::collides → KILLED
        if (isOnTheTop) return false;
94
95
        boolean isOnTheBottom =
96 2 1. collides : changed conditional boundary → KILLED
2. collides : negated conditional → KILLED
                otherTopLeft.getY() > bottomRight.getY()
97 2 1. collides : changed conditional boundary → SURVIVED
2. collides : negated conditional → KILLED
                        && otherBottomRight.getY() > bottomRight.getY();
98 2 1. collides : negated conditional → KILLED
2. collides : replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::collides → KILLED
        return !isOnTheBottom;
99
    }
100
101
    public boolean contains(BoundingBox other) {
102
        Vec2D topLeft = this.getTopLeftCorner();
103
        Vec2D otherTopLeft = other.getTopLeftCorner();
104
        Vec2D bottomRight = this.getBottomRightCorner();
105
        Vec2D otherBottomRight = other.getBottomRightCorner();
106
107
        boolean isTopLeftInside =
108 2 1. contains : changed conditional boundary → KILLED
2. contains : negated conditional → KILLED
                otherTopLeft.getX() >= topLeft.getX()
109 2 1. contains : changed conditional boundary → SURVIVED
2. contains : negated conditional → KILLED
                        && otherTopLeft.getY() >= topLeft.getY()
110 2 1. contains : changed conditional boundary → SURVIVED
2. contains : negated conditional → KILLED
                        && otherTopLeft.getX() <= bottomRight.getX()
111 2 1. contains : changed conditional boundary → SURVIVED
2. contains : negated conditional → KILLED
                        && otherTopLeft.getY() <= bottomRight.getY();
112
113 2 1. contains : negated conditional → KILLED
2. contains : replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::contains → KILLED
        if (!isTopLeftInside) return false;
114
115
        boolean isBottomRightInside =
116 2 1. contains : changed conditional boundary → SURVIVED
2. contains : negated conditional → KILLED
                otherBottomRight.getX() >= topLeft.getX()
117 2 1. contains : changed conditional boundary → SURVIVED
2. contains : negated conditional → KILLED
                        && otherBottomRight.getY() >= topLeft.getY()
118 2 1. contains : changed conditional boundary → SURVIVED
2. contains : negated conditional → KILLED
                        && otherBottomRight.getX() <= bottomRight.getX()
119 2 1. contains : changed conditional boundary → SURVIVED
2. contains : negated conditional → KILLED
                        && otherBottomRight.getY() <= bottomRight.getY();
120
121 2 1. contains : replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::contains → SURVIVED
2. contains : replaced boolean return with false for g0803/bindingofshiba/math/BoundingBox::contains → KILLED
        return isBottomRightInside;
122
    }
123
124
    @Override
125
    public boolean equals(Object o) {
126 2 1. equals : negated conditional → SURVIVED
2. equals : replaced boolean return with false for g0803/bindingofshiba/math/BoundingBox::equals → NO_COVERAGE
        if (this == o) return true;
127 2 1. equals : replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::equals → NO_COVERAGE
2. equals : negated conditional → KILLED
        if (!(o instanceof BoundingBox that)) return false;
128
129 2 1. equals : replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::equals → SURVIVED
2. equals : negated conditional → KILLED
        return Double.compare(that.x, x) == 0
130 1 1. equals : negated conditional → KILLED
                && Double.compare(that.y, y) == 0
131 1 1. equals : negated conditional → KILLED
                && Double.compare(that.width, width) == 0
132 1 1. equals : negated conditional → KILLED
                && Double.compare(that.height, height) == 0;
133
    }
134
135
    @Override
136
    public int hashCode() {
137 1 1. hashCode : replaced int return with 0 for g0803/bindingofshiba/math/BoundingBox::hashCode → NO_COVERAGE
        return Objects.hash(x, y, width, height);
138
    }
139
140
    @Override
141
    public String toString() {
142 1 1. toString : replaced return value with "" for g0803/bindingofshiba/math/BoundingBox::toString → NO_COVERAGE
        return "BoundingBox{"
143
                + "x="
144
                + x
145
                + ", y="
146
                + y
147
                + ", width="
148
                + width
149
                + ", height="
150
                + height
151
                + '}';
152
    }
153
154
    public boolean isSimilar(Object o) {
155 2 1. isSimilar : negated conditional → NO_COVERAGE
2. isSimilar : replaced boolean return with false for g0803/bindingofshiba/math/BoundingBox::isSimilar → NO_COVERAGE
        if (this == o) return true;
156 2 1. isSimilar : negated conditional → NO_COVERAGE
2. isSimilar : replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::isSimilar → NO_COVERAGE
        if (!(o instanceof BoundingBox that)) return false;
157
158
        Vec2D pos1 = this.getTopLeftCorner();
159
        Vec2D pos2 = that.getTopLeftCorner();
160
        Vec2D dim1 = this.getDimensions();
161
        Vec2D dim2 = that.getDimensions();
162
163 3 1. isSimilar : negated conditional → NO_COVERAGE
2. isSimilar : negated conditional → NO_COVERAGE
3. isSimilar : replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::isSimilar → NO_COVERAGE
        return pos1.isSimilar(pos2) && dim1.isSimilar(dim2);
164
    }
165
}

Mutations

15

1.1
Location : <init>
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : <init>
Killed by : none
changed conditional boundary → SURVIVED

3.3
Location : <init>
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:getTopRightCorner()]
negated conditional → KILLED

4.4
Location : <init>
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:getTopRightCorner()]
negated conditional → KILLED

30

1.1
Location : getX
Killed by : none
replaced double return with 0.0d for g0803/bindingofshiba/math/BoundingBox::getX → NO_COVERAGE

34

1.1
Location : getY
Killed by : none
replaced double return with 0.0d for g0803/bindingofshiba/math/BoundingBox::getY → NO_COVERAGE

38

1.1
Location : getWidth
Killed by : none
replaced double return with 0.0d for g0803/bindingofshiba/math/BoundingBox::getWidth → NO_COVERAGE

42

1.1
Location : getHeight
Killed by : none
replaced double return with 0.0d for g0803/bindingofshiba/math/BoundingBox::getHeight → NO_COVERAGE

46

1.1
Location : getTopLeftCorner
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
replaced return value with null for g0803/bindingofshiba/math/BoundingBox::getTopLeftCorner → KILLED

50

1.1
Location : getTopRightCorner
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:getTopRightCorner()]
Replaced double addition with subtraction → KILLED

2.2
Location : getTopRightCorner
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:getTopRightCorner()]
replaced return value with null for g0803/bindingofshiba/math/BoundingBox::getTopRightCorner → KILLED

54

1.1
Location : getBottomLeftCorner
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:getBottomLeftCorner()]
Replaced double addition with subtraction → KILLED

2.2
Location : getBottomLeftCorner
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:getBottomLeftCorner()]
replaced return value with null for g0803/bindingofshiba/math/BoundingBox::getBottomLeftCorner → KILLED

58

1.1
Location : getBottomRightCorner
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
Replaced double addition with subtraction → KILLED

2.2
Location : getBottomRightCorner
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
Replaced double addition with subtraction → KILLED

3.3
Location : getBottomRightCorner
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
replaced return value with null for g0803/bindingofshiba/math/BoundingBox::getBottomRightCorner → KILLED

62

1.1
Location : getDimensions
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:getDimensions()]
replaced return value with null for g0803/bindingofshiba/math/BoundingBox::getDimensions → KILLED

66

1.1
Location : translate
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:translate()]
replaced return value with null for g0803/bindingofshiba/math/BoundingBox::translate → KILLED

70

1.1
Location : translate
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:translate()]
replaced return value with null for g0803/bindingofshiba/math/BoundingBox::translate → KILLED

83

1.1
Location : collides
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:touch()]
changed conditional boundary → KILLED

3.3
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:doesNotCollide()]
negated conditional → KILLED

4.4
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
negated conditional → KILLED

84

1.1
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
negated conditional → KILLED

2.2
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:doesNotCollide()]
replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::collides → KILLED

87

1.1
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:touch()]
changed conditional boundary → KILLED

2.2
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
negated conditional → KILLED

88

1.1
Location : collides
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:doesNotCollide()]
negated conditional → KILLED

89

1.1
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
negated conditional → KILLED

2.2
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:doesNotCollide()]
replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::collides → KILLED

92

1.1
Location : collides
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:touch()]
changed conditional boundary → KILLED

3.3
Location : collides
Killed by : g0803.bindingofshiba.controller.game.events.MonsterToObstacleCollisionEventsControllerTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.controller.game.events.MonsterToObstacleCollisionEventsControllerTest]/[method:monsterNotCollidingWithObstacle()]
negated conditional → KILLED

4.4
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collisionBottom()]
negated conditional → KILLED

93

1.1
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
negated conditional → KILLED

2.2
Location : collides
Killed by : g0803.bindingofshiba.controller.game.events.MonsterToObstacleCollisionEventsControllerTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.controller.game.events.MonsterToObstacleCollisionEventsControllerTest]/[method:monsterNotCollidingWithObstacle()]
replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::collides → KILLED

96

1.1
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:touch()]
changed conditional boundary → KILLED

2.2
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
negated conditional → KILLED

97

1.1
Location : collides
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : collides
Killed by : g0803.bindingofshiba.controller.game.events.PlayerToMonsterCollisionEventsControllerTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.controller.game.events.PlayerToMonsterCollisionEventsControllerTest]/[method:playerNotCollidingWithMonster()]
negated conditional → KILLED

98

1.1
Location : collides
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:collidesLeft()]
negated conditional → KILLED

2.2
Location : collides
Killed by : g0803.bindingofshiba.controller.game.events.PlayerToMonsterCollisionEventsControllerTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.controller.game.events.PlayerToMonsterCollisionEventsControllerTest]/[method:playerNotCollidingWithMonster()]
replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::collides → KILLED

108

1.1
Location : contains
Killed by : g0803.bindingofshiba.controller.game.events.PlayerToWallCollisionEventsControllerTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.controller.game.events.PlayerToWallCollisionEventsControllerTest]/[method:playerNotCollidingWithWall()]
changed conditional boundary → KILLED

2.2
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
negated conditional → KILLED

109

1.1
Location : contains
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
negated conditional → KILLED

110

1.1
Location : contains
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
negated conditional → KILLED

111

1.1
Location : contains
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
negated conditional → KILLED

113

1.1
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
negated conditional → KILLED

2.2
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::contains → KILLED

116

1.1
Location : contains
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
negated conditional → KILLED

117

1.1
Location : contains
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
negated conditional → KILLED

118

1.1
Location : contains
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
negated conditional → KILLED

119

1.1
Location : contains
Killed by : none
changed conditional boundary → SURVIVED

2.2
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
negated conditional → KILLED

121

1.1
Location : contains
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:contains()]
replaced boolean return with false for g0803/bindingofshiba/math/BoundingBox::contains → KILLED

2.2
Location : contains
Killed by : none
replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::contains → SURVIVED

126

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

2.2
Location : equals
Killed by : none
replaced boolean return with false for g0803/bindingofshiba/math/BoundingBox::equals → NO_COVERAGE

127

1.1
Location : equals
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:translate()]
negated conditional → KILLED

2.2
Location : equals
Killed by : none
replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::equals → NO_COVERAGE

129

1.1
Location : equals
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:translate()]
negated conditional → KILLED

2.2
Location : equals
Killed by : none
replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::equals → SURVIVED

130

1.1
Location : equals
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:translate()]
negated conditional → KILLED

131

1.1
Location : equals
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:translate()]
negated conditional → KILLED

132

1.1
Location : equals
Killed by : g0803.bindingofshiba.math.BoundingBoxTest.[engine:junit-jupiter]/[class:g0803.bindingofshiba.math.BoundingBoxTest]/[method:translate()]
negated conditional → KILLED

137

1.1
Location : hashCode
Killed by : none
replaced int return with 0 for g0803/bindingofshiba/math/BoundingBox::hashCode → NO_COVERAGE

142

1.1
Location : toString
Killed by : none
replaced return value with "" for g0803/bindingofshiba/math/BoundingBox::toString → NO_COVERAGE

155

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

2.2
Location : isSimilar
Killed by : none
replaced boolean return with false for g0803/bindingofshiba/math/BoundingBox::isSimilar → NO_COVERAGE

156

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

2.2
Location : isSimilar
Killed by : none
replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::isSimilar → NO_COVERAGE

163

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

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

3.3
Location : isSimilar
Killed by : none
replaced boolean return with true for g0803/bindingofshiba/math/BoundingBox::isSimilar → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.7.0