1 | package com.takenoko.inventory; | |
2 | ||
3 | import com.takenoko.layers.tile.ImprovementType; | |
4 | import java.util.ArrayList; | |
5 | import java.util.List; | |
6 | ||
7 | /** | |
8 | * InventoryImprovements contains the improvements picked by the player after getting Cloudy weather | |
9 | * InventoryImprovements is an attribute in Inventory | |
10 | */ | |
11 | public class InventoryImprovements extends ArrayList<ImprovementType> { | |
12 | public InventoryImprovements() { | |
13 | super(); | |
14 | } | |
15 | ||
16 | public InventoryImprovements(List<ImprovementType> inventoryImprovements) { | |
17 | this.addAll(inventoryImprovements); | |
18 | } | |
19 | ||
20 | /** | |
21 | * @return copy of the stash of improvement stored by the bot | |
22 | */ | |
23 | public InventoryImprovements copy() { | |
24 |
1
1. copy : replaced return value with null for com/takenoko/inventory/InventoryImprovements::copy → KILLED |
return new InventoryImprovements(this); |
25 | } | |
26 | ||
27 | /** | |
28 | * @param pickedImprovement store the chosen improvement in the inventory | |
29 | */ | |
30 | public void store(ImprovementType pickedImprovement) { | |
31 | super.add(pickedImprovement); | |
32 | } | |
33 | ||
34 | /** | |
35 | * @param toUse remove used improvement from list or throw exception if not possessed | |
36 | */ | |
37 | public void use(ImprovementType toUse) { | |
38 |
1
1. use : negated conditional → KILLED |
if (!contains(toUse)) { |
39 | throw new IllegalArgumentException( | |
40 | "You do not possess any improvements of type: " + toUse); | |
41 | } | |
42 | super.remove(toUse); | |
43 | } | |
44 | ||
45 | public boolean hasImprovement(ImprovementType improvementType) { | |
46 |
2
1. hasImprovement : replaced boolean return with false for com/takenoko/inventory/InventoryImprovements::hasImprovement → KILLED 2. hasImprovement : replaced boolean return with true for com/takenoko/inventory/InventoryImprovements::hasImprovement → KILLED |
return contains(improvementType); |
47 | } | |
48 | ||
49 | public int getImprovementCount(ImprovementType improvementType) { | |
50 |
1
1. getImprovementCount : replaced int return with 0 for com/takenoko/inventory/InventoryImprovements::getImprovementCount → TIMED_OUT |
return Math.toIntExact( |
51 |
2
1. lambda$getImprovementCount$0 : negated conditional → TIMED_OUT 2. lambda$getImprovementCount$0 : replaced boolean return with true for com/takenoko/inventory/InventoryImprovements::lambda$getImprovementCount$0 → TIMED_OUT |
this.stream().filter(improvement -> improvement == improvementType).count()); |
52 | } | |
53 | } | |
Mutations | ||
24 |
1.1 |
|
38 |
1.1 |
|
46 |
1.1 2.2 |
|
50 |
1.1 |
|
51 |
1.1 2.2 |