SMap.java

1
/*
2
 * Copyright 2017 Federico Fissore <federico@fissore.org>
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 * http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16
package org.fissore.steroids;
17
18
import java.util.Collection;
19
import java.util.HashMap;
20
import java.util.Map;
21
import java.util.Set;
22
import java.util.function.BiConsumer;
23
import java.util.function.BiFunction;
24
import java.util.function.Function;
25
import java.util.stream.Stream;
26
27
/**
28
 * SMap is the default implementation of {@link SteroidMap}. By default it's backed by a {@link HashMap}.
29
 * It provides some useful constructors as well as implementations to {@link #map(String)}, {@link #subMap(Stream)} and {@link #subMap(Map, Stream)} methods
30
 */
31
public class SMap implements SteroidMap<String> {
32
33
  private final Map<String, Object> map;
34
35
  /**
36
   * Creates a new SMap, using {@link HashMap} as backing map
37
   */
38
  public SMap() {
39
    this(new HashMap<>());
40
  }
41
42
  /**
43
   * Creates a new SMap, using given map as backing map
44
   *
45
   * @param map the map to use as backing map
46
   */
47
  public SMap(Map<String, Object> map) {
48 1 1. : negated conditional → KILLED
    if (map == null) {
49
      throw new NullPointerException();
50
    }
51
    this.map = map;
52
  }
53
54
  /**
55
   * Creates a new SMap with one initial key/value mapping
56
   *
57
   * @param key   the first key
58
   * @param value the first value
59
   * @see #SMap()
60
   */
61
  public SMap(String key, Object value) {
62
    this();
63
    add(key, value);
64
  }
65
66
  /**
67
   * Creates a new SMap with two initial key/value mappings
68
   *
69
   * @param key1   the first key
70
   * @param value1 the first value
71
   * @param key2   the second key
72
   * @param value2 the second value
73
   * @see #SMap()
74
   */
75
  public SMap(String key1, Object value1, String key2, Object value2) {
76
    this();
77
    add(key1, value1);
78
    add(key2, value2);
79
  }
80
81
  /**
82
   * Creates a new SMap with three initial key/value mappings
83
   *
84
   * @param key1   the first key
85
   * @param value1 the first value
86
   * @param key2   the second key
87
   * @param value2 the second value
88
   * @param key3   the third key
89
   * @param value3 the third value
90
   * @see #SMap()
91
   */
92
  public SMap(String key1, Object value1, String key2, Object value2, String key3, Object value3) {
93
    this();
94
    add(key1, value1);
95
    add(key2, value2);
96
    add(key3, value3);
97
  }
98
99
  @SuppressWarnings("unchecked")
100
  @Override
101
  public SMap subMap(Stream<String> keys) {
102
    Map<String, Object> map = newInnerMapInstance();
103 1 1. subMap : mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return subMap(map, keys);
104
  }
105
106
  private Map newInnerMapInstance() {
107
    try {
108 1 1. newInnerMapInstance : mutated return of Object value for org/fissore/steroids/SMap::newInnerMapInstance to ( if (x != null) null else throw new RuntimeException ) → KILLED
      return this.map.getClass().newInstance();
109
    } catch (Exception e) {
110
      String error = "Error while using reflection to create a new instance of " + this.map.getClass() + ". Consider using a backing map with a public default constructor or providing backing map on your own and calling subMap(Map, keys...)";
111
      throw new RuntimeException(error, e);
112
    }
113
  }
114
115
  @Override
116
  public SMap subMap(Map<String, Object> backingMap, Stream<String> keys) {
117
    SMap subMap = new SMap(backingMap);
118 1 1. subMap : removed call to java/util/stream/Stream::forEach → KILLED
    keys.forEach(key -> subMap.add(key, get(key)));
119 1 1. subMap : mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return subMap;
120
  }
121
122
  @Override
123
  public SMap map(String key) {
124 1 1. map : mutated return of Object value for org/fissore/steroids/SMap::map to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return ensureMapIsOnSteroid(get(key));
125
  }
126
127
  @SuppressWarnings("unchecked")
128
  @Override
129
  public SMap ensureMapIsOnSteroid(Object value) {
130 1 1. ensureMapIsOnSteroid : negated conditional → KILLED
    if (value == null) {
131 1 1. ensureMapIsOnSteroid : mutated return of Object value for org/fissore/steroids/SMap::ensureMapIsOnSteroid to ( if (x != null) null else throw new RuntimeException ) → KILLED
      return null;
132
    }
133 1 1. ensureMapIsOnSteroid : negated conditional → KILLED
    if (value instanceof SMap) {
134 1 1. ensureMapIsOnSteroid : mutated return of Object value for org/fissore/steroids/SMap::ensureMapIsOnSteroid to ( if (x != null) null else throw new RuntimeException ) → KILLED
      return (SMap) value;
135
    }
136 1 1. ensureMapIsOnSteroid : negated conditional → KILLED
    if (value instanceof Map) {
137 1 1. ensureMapIsOnSteroid : mutated return of Object value for org/fissore/steroids/SMap::ensureMapIsOnSteroid to ( if (x != null) null else throw new RuntimeException ) → KILLED
      return new SMap((Map<String, Object>) value);
138
    }
139
    throw new IllegalArgumentException(value + " is neither a Map or a SteroidMap");
140
  }
141
142
  @Override
143
  public SMap add(String key, Object value) {
144 1 1. add : mutated return of Object value for org/fissore/steroids/SMap::add to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.add(key, value);
145
  }
146
147
  @Override
148
  public SMap addAll(Map<String, Object>... sources) {
149 1 1. addAll : mutated return of Object value for org/fissore/steroids/SMap::addAll to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.addAll(sources);
150
  }
151
152
  @Override
153
  public SMap addAll(Collection<Map<String, Object>> sources) {
154 1 1. addAll : mutated return of Object value for org/fissore/steroids/SMap::addAll to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.addAll(sources);
155
  }
156
157
  @Override
158
  public SMap addAll(Stream<Map<String, Object>> sources) {
159 1 1. addAll : mutated return of Object value for org/fissore/steroids/SMap::addAll to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.addAll(sources);
160
  }
161
162
  @Override
163
  public SMap addFrom(Map<String, Object> source, String... keys) {
164 1 1. addFrom : mutated return of Object value for org/fissore/steroids/SMap::addFrom to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.addFrom(source, keys);
165
  }
166
167
  @Override
168
  public SMap addFrom(Map<String, Object> source, Collection<String> keys) {
169 1 1. addFrom : mutated return of Object value for org/fissore/steroids/SMap::addFrom to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.addFrom(source, keys);
170
  }
171
172
  @Override
173
  public SMap renameKey(String oldKey, String newKey) {
174 1 1. renameKey : mutated return of Object value for org/fissore/steroids/SMap::renameKey to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.renameKey(oldKey, newKey);
175
  }
176
177
  @Override
178
  public SMap del(String... keys) {
179 1 1. del : mutated return of Object value for org/fissore/steroids/SMap::del to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.del(keys);
180
  }
181
182
  @Override
183
  public SMap del(Collection<String> keys) {
184 1 1. del : mutated return of Object value for org/fissore/steroids/SMap::del to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.del(keys);
185
  }
186
187
  @Override
188
  public SMap del(Stream<String> keys) {
189 1 1. del : mutated return of Object value for org/fissore/steroids/SMap::del to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.del(keys);
190
  }
191
192
  @Override
193
  public SMap subMap(String... keys) {
194 1 1. subMap : mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.subMap(keys);
195
  }
196
197
  @Override
198
  public SMap subMap(Collection<String> keys) {
199 1 1. subMap : mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.subMap(keys);
200
  }
201
202
  @Override
203
  public SMap subMap(Map<String, Object> backingMap, String... keys) {
204 1 1. subMap : mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.subMap(backingMap, keys);
205
  }
206
207
  @Override
208
  public SMap subMap(Map<String, Object> backingMap, Collection<String> keys) {
209 1 1. subMap : mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.subMap(backingMap, keys);
210
  }
211
212
  @Override
213
  public SMap map(String key, SteroidMap<String> defaultValue) {
214 1 1. map : mutated return of Object value for org/fissore/steroids/SMap::map to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return (SMap) SteroidMap.super.map(key, defaultValue);
215
  }
216
217
  @Override
218
  public Stream<SMap> maps(String key) {
219 2 1. lambda$maps$1 : mutated return of Object value for org/fissore/steroids/SMap::lambda$maps$1 to ( if (x != null) null else throw new RuntimeException ) → KILLED
2. maps : mutated return of Object value for org/fissore/steroids/SMap::maps to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return SteroidMap.super.maps(key).map(s -> (SMap) s);
220
  }
221
222
  @Override
223
  public Stream<SMap> maps(String key, Stream<? extends SteroidMap<String>> defaultValue) {
224 2 1. lambda$maps$2 : mutated return of Object value for org/fissore/steroids/SMap::lambda$maps$2 to ( if (x != null) null else throw new RuntimeException ) → KILLED
2. maps : mutated return of Object value for org/fissore/steroids/SMap::maps to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return SteroidMap.super.maps(key, defaultValue).map(s -> (SMap) s);
225
  }
226
227
  @Override
228
  public SMap copy() {
229 1 1. copy : mutated return of Object value for org/fissore/steroids/SMap::copy to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return new SMap().addAll(this);
230
  }
231
232
  /* GENERATED DELEGATE METHODS */
233
234
  @Override
235
  public void clear() {
236 1 1. clear : removed call to java/util/Map::clear → NO_COVERAGE
    map.clear();
237
  }
238
239
  @Override
240
  public Object compute(String key, BiFunction<? super String, ? super Object, ?> remappingFunction) {
241 1 1. compute : mutated return of Object value for org/fissore/steroids/SMap::compute to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
    return map.compute(key, remappingFunction);
242
  }
243
244
  @Override
245
  public Object computeIfAbsent(String key, Function<? super String, ?> mappingFunction) {
246 1 1. computeIfAbsent : mutated return of Object value for org/fissore/steroids/SMap::computeIfAbsent to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
    return map.computeIfAbsent(key, mappingFunction);
247
  }
248
249
  @Override
250
  public Object computeIfPresent(String key, BiFunction<? super String, ? super Object, ?> remappingFunction) {
251 1 1. computeIfPresent : mutated return of Object value for org/fissore/steroids/SMap::computeIfPresent to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
    return map.computeIfPresent(key, remappingFunction);
252
  }
253
254
  @Override
255
  public boolean containsKey(Object key) {
256 1 1. containsKey : replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED
    return map.containsKey(key);
257
  }
258
259
  @Override
260
  public boolean containsValue(Object value) {
261 1 1. containsValue : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
    return map.containsValue(value);
262
  }
263
264
  @Override
265
  public Set<Entry<String, Object>> entrySet() {
266 1 1. entrySet : mutated return of Object value for org/fissore/steroids/SMap::entrySet to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
    return map.entrySet();
267
  }
268
269
  @Override
270
  public boolean equals(Object o) {
271 1 1. equals : replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED
    return map.equals(o);
272
  }
273
274
  @Override
275
  public void forEach(BiConsumer<? super String, ? super Object> action) {
276 1 1. forEach : removed call to java/util/Map::forEach → KILLED
    map.forEach(action);
277
  }
278
279
  @Override
280
  public Object get(Object key) {
281 1 1. get : mutated return of Object value for org/fissore/steroids/SMap::get to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return map.get(key);
282
  }
283
284
  @Override
285
  public Object getOrDefault(Object key, Object defaultValue) {
286 1 1. getOrDefault : mutated return of Object value for org/fissore/steroids/SMap::getOrDefault to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
    return map.getOrDefault(key, defaultValue);
287
  }
288
289
  @Override
290
  public int hashCode() {
291 1 1. hashCode : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
    return map.hashCode();
292
  }
293
294
  @Override
295
  public boolean isEmpty() {
296 1 1. isEmpty : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
    return map.isEmpty();
297
  }
298
299
  @Override
300
  public Set<String> keySet() {
301 1 1. keySet : mutated return of Object value for org/fissore/steroids/SMap::keySet to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return map.keySet();
302
  }
303
304
  @Override
305
  public Object merge(String key, Object value, BiFunction<? super Object, ? super Object, ?> remappingFunction) {
306 1 1. merge : mutated return of Object value for org/fissore/steroids/SMap::merge to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
    return map.merge(key, value, remappingFunction);
307
  }
308
309
  @Override
310
  public Object put(String key, Object value) {
311 1 1. put : mutated return of Object value for org/fissore/steroids/SMap::put to ( if (x != null) null else throw new RuntimeException ) → KILLED
    return map.put(key, value);
312
  }
313
314
  @Override
315
  public void putAll(Map<? extends String, ?> m) {
316 1 1. putAll : removed call to java/util/Map::putAll → NO_COVERAGE
    map.putAll(m);
317
  }
318
319
  @Override
320
  public Object putIfAbsent(String key, Object value) {
321 1 1. putIfAbsent : mutated return of Object value for org/fissore/steroids/SMap::putIfAbsent to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
    return map.putIfAbsent(key, value);
322
  }
323
324
  @Override
325
  public Object remove(Object key) {
326 1 1. remove : mutated return of Object value for org/fissore/steroids/SMap::remove to ( if (x != null) null else throw new RuntimeException ) → SURVIVED
    return map.remove(key);
327
  }
328
329
  @Override
330
  public boolean remove(Object key, Object value) {
331 1 1. remove : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
    return map.remove(key, value);
332
  }
333
334
  @Override
335
  public boolean replace(String key, Object oldValue, Object newValue) {
336 1 1. replace : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE
    return map.replace(key, oldValue, newValue);
337
  }
338
339
  @Override
340
  public Object replace(String key, Object value) {
341 1 1. replace : mutated return of Object value for org/fissore/steroids/SMap::replace to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
    return map.replace(key, value);
342
  }
343
344
  @Override
345
  public void replaceAll(BiFunction<? super String, ? super Object, ?> function) {
346 1 1. replaceAll : removed call to java/util/Map::replaceAll → NO_COVERAGE
    map.replaceAll(function);
347
  }
348
349
  @Override
350
  public int size() {
351 1 1. size : replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED
    return map.size();
352
  }
353
354
  @Override
355
  public Collection<Object> values() {
356 1 1. values : mutated return of Object value for org/fissore/steroids/SMap::values to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
    return map.values();
357
  }
358
359
  @Override
360
  public String toString() {
361 1 1. toString : mutated return of Object value for org/fissore/steroids/SMap::toString to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
    return map.toString();
362
  }
363
364
}

Mutations

48

1.1
Location :
Killed by : org.fissore.steroids.ExamplesTest.getName(org.fissore.steroids.ExamplesTest)
negated conditional → KILLED

103

1.1
Location : subMap
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnASubMapOfCollectionOfKeys(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED

108

1.1
Location : newInnerMapInstance
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnASubMapOfCollectionOfKeys(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::newInnerMapInstance to ( if (x != null) null else throw new RuntimeException ) → KILLED

118

1.1
Location : subMap
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnASubMapOfCollectionOfKeys(org.fissore.steroids.SteroidMapTest)
removed call to java/util/stream/Stream::forEach → KILLED

119

1.1
Location : subMap
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnASubMapOfCollectionOfKeys(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED

124

1.1
Location : map
Killed by : org.fissore.steroids.ExamplesTest.getStreetName(org.fissore.steroids.ExamplesTest)
mutated return of Object value for org/fissore/steroids/SMap::map to ( if (x != null) null else throw new RuntimeException ) → KILLED

130

1.1
Location : ensureMapIsOnSteroid
Killed by : org.fissore.steroids.ExamplesTest.getStreetName(org.fissore.steroids.ExamplesTest)
negated conditional → KILLED

131

1.1
Location : ensureMapIsOnSteroid
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnAMap(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::ensureMapIsOnSteroid to ( if (x != null) null else throw new RuntimeException ) → KILLED

133

1.1
Location : ensureMapIsOnSteroid
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnAMap(org.fissore.steroids.SteroidMapTest)
negated conditional → KILLED

134

1.1
Location : ensureMapIsOnSteroid
Killed by : org.fissore.steroids.ExamplesTest.getStreetName(org.fissore.steroids.ExamplesTest)
mutated return of Object value for org/fissore/steroids/SMap::ensureMapIsOnSteroid to ( if (x != null) null else throw new RuntimeException ) → KILLED

136

1.1
Location : ensureMapIsOnSteroid
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnAMap(org.fissore.steroids.SteroidMapTest)
negated conditional → KILLED

137

1.1
Location : ensureMapIsOnSteroid
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnAMap(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::ensureMapIsOnSteroid to ( if (x != null) null else throw new RuntimeException ) → KILLED

144

1.1
Location : add
Killed by : org.fissore.steroids.ExamplesTest.getName(org.fissore.steroids.ExamplesTest)
mutated return of Object value for org/fissore/steroids/SMap::add to ( if (x != null) null else throw new RuntimeException ) → KILLED

149

1.1
Location : addAll
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnACopy(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::addAll to ( if (x != null) null else throw new RuntimeException ) → KILLED

154

1.1
Location : addAll
Killed by : org.fissore.steroids.SteroidMapTest.shouldAllAllElementsFromCollectionOfOtherMaps(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::addAll to ( if (x != null) null else throw new RuntimeException ) → KILLED

159

1.1
Location : addAll
Killed by : org.fissore.steroids.SteroidMapTest.shouldAllAllElementsFromCollectionOfOtherMaps(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::addAll to ( if (x != null) null else throw new RuntimeException ) → KILLED

164

1.1
Location : addFrom
Killed by : org.fissore.steroids.SteroidMapTest.shouldNotMergeNullMaps(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::addFrom to ( if (x != null) null else throw new RuntimeException ) → KILLED

169

1.1
Location : addFrom
Killed by : org.fissore.steroids.SteroidMapTest.shouldNotMergeNullMaps(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::addFrom to ( if (x != null) null else throw new RuntimeException ) → KILLED

174

1.1
Location : renameKey
Killed by : org.fissore.steroids.SteroidMapTest.shouldRenameAKey(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::renameKey to ( if (x != null) null else throw new RuntimeException ) → KILLED

179

1.1
Location : del
Killed by : org.fissore.steroids.SteroidMapTest.shouldDeleteAKey(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::del to ( if (x != null) null else throw new RuntimeException ) → KILLED

184

1.1
Location : del
Killed by : org.fissore.steroids.SteroidMapTest.shouldDeleteCollectionOfKeys(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::del to ( if (x != null) null else throw new RuntimeException ) → KILLED

189

1.1
Location : del
Killed by : org.fissore.steroids.SteroidMapTest.shouldDeleteAKey(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::del to ( if (x != null) null else throw new RuntimeException ) → KILLED

194

1.1
Location : subMap
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnASubMapOfKeys(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED

199

1.1
Location : subMap
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnASubMapOfCollectionOfKeys(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED

204

1.1
Location : subMap
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnASubMapOfKeysWithSpecialMapImpl(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED

209

1.1
Location : subMap
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnASubMapOfCollectionOfKeysWithSpecialMapImpl(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::subMap to ( if (x != null) null else throw new RuntimeException ) → KILLED

214

1.1
Location : map
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnAMap(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::map to ( if (x != null) null else throw new RuntimeException ) → KILLED

219

1.1
Location : lambda$maps$1
Killed by : org.fissore.steroids.ExamplesTest.socialFriends(org.fissore.steroids.ExamplesTest)
mutated return of Object value for org/fissore/steroids/SMap::lambda$maps$1 to ( if (x != null) null else throw new RuntimeException ) → KILLED

2.2
Location : maps
Killed by : org.fissore.steroids.ExamplesTest.socialFriends(org.fissore.steroids.ExamplesTest)
mutated return of Object value for org/fissore/steroids/SMap::maps to ( if (x != null) null else throw new RuntimeException ) → KILLED

224

1.1
Location : lambda$maps$2
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnMaps(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::lambda$maps$2 to ( if (x != null) null else throw new RuntimeException ) → KILLED

2.2
Location : maps
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnMaps(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::maps to ( if (x != null) null else throw new RuntimeException ) → KILLED

229

1.1
Location : copy
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnACopy(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::copy to ( if (x != null) null else throw new RuntimeException ) → KILLED

236

1.1
Location : clear
Killed by : none
removed call to java/util/Map::clear → NO_COVERAGE

241

1.1
Location : compute
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::compute to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

246

1.1
Location : computeIfAbsent
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::computeIfAbsent to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

251

1.1
Location : computeIfPresent
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::computeIfPresent to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

256

1.1
Location : containsKey
Killed by : org.fissore.steroids.ExamplesTest.renameKey(org.fissore.steroids.ExamplesTest)
replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED

261

1.1
Location : containsValue
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

266

1.1
Location : entrySet
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::entrySet to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

271

1.1
Location : equals
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnAMap(org.fissore.steroids.SteroidMapTest)
replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED

276

1.1
Location : forEach
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnACopy(org.fissore.steroids.SteroidMapTest)
removed call to java/util/Map::forEach → KILLED

281

1.1
Location : get
Killed by : org.fissore.steroids.ExamplesTest.getName(org.fissore.steroids.ExamplesTest)
mutated return of Object value for org/fissore/steroids/SMap::get to ( if (x != null) null else throw new RuntimeException ) → KILLED

286

1.1
Location : getOrDefault
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::getOrDefault to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

291

1.1
Location : hashCode
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

296

1.1
Location : isEmpty
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

301

1.1
Location : keySet
Killed by : org.fissore.steroids.SteroidMapTest.shouldReturnACopy(org.fissore.steroids.SteroidMapTest)
mutated return of Object value for org/fissore/steroids/SMap::keySet to ( if (x != null) null else throw new RuntimeException ) → KILLED

306

1.1
Location : merge
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::merge to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

311

1.1
Location : put
Killed by : org.fissore.steroids.ExamplesTest.getName(org.fissore.steroids.ExamplesTest)
mutated return of Object value for org/fissore/steroids/SMap::put to ( if (x != null) null else throw new RuntimeException ) → KILLED

316

1.1
Location : putAll
Killed by : none
removed call to java/util/Map::putAll → NO_COVERAGE

321

1.1
Location : putIfAbsent
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::putIfAbsent to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

326

1.1
Location : remove
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::remove to ( if (x != null) null else throw new RuntimeException ) → SURVIVED

331

1.1
Location : remove
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

336

1.1
Location : replace
Killed by : none
replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE

341

1.1
Location : replace
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::replace to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

346

1.1
Location : replaceAll
Killed by : none
removed call to java/util/Map::replaceAll → NO_COVERAGE

351

1.1
Location : size
Killed by : org.fissore.steroids.SteroidMapTest.shouldNotMergeNullMaps(org.fissore.steroids.SteroidMapTest)
replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED

356

1.1
Location : values
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::values to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

361

1.1
Location : toString
Killed by : none
mutated return of Object value for org/fissore/steroids/SMap::toString to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.4.6