SyncCollector.java

1
package com.pivovarit.collectors;
2
3
import java.util.Set;
4
import java.util.function.BiConsumer;
5
import java.util.function.BinaryOperator;
6
import java.util.function.Function;
7
import java.util.function.Supplier;
8
import java.util.stream.Collector;
9
import java.util.stream.Stream;
10
11
record SyncCollector<T, R>(Function<? super T, ? extends R> mapper)
12
  implements Collector<T, Stream.Builder<R>, Stream<R>> {
13
14
    @Override
15
    public Supplier<Stream.Builder<R>> supplier() {
16 1 1. supplier : replaced return value with null for com/pivovarit/collectors/SyncCollector::supplier → KILLED
        return Stream::builder;
17
    }
18
19
    @Override
20
    public BiConsumer<Stream.Builder<R>, T> accumulator() {
21 1 1. accumulator : replaced return value with null for com/pivovarit/collectors/SyncCollector::accumulator → KILLED
        return (rs, t) -> rs.add(mapper.apply(t));
22
    }
23
24
    @Override
25
    public BinaryOperator<Stream.Builder<R>> combiner() {
26 1 1. combiner : replaced return value with null for com/pivovarit/collectors/SyncCollector::combiner → SURVIVED
        return (rs, rs2) -> {
27
            throw new UnsupportedOperationException("Using parallel stream with parallel collectors is a bad idea");
28
        };
29
    }
30
31
    @Override
32
    public Function<Stream.Builder<R>, Stream<R>> finisher() {
33 1 1. finisher : replaced return value with null for com/pivovarit/collectors/SyncCollector::finisher → KILLED
        return Stream.Builder::build;
34
    }
35
36
    @Override
37
    public Set<Characteristics> characteristics() {
38
        return Set.of();
39
    }
40
}

Mutations

16

1.1
Location : supplier
Killed by : com.pivovarit.collectors.test.BasicParallelismTest.[engine:junit-jupiter]/[class:com.pivovarit.collectors.test.BasicParallelismTest]/[test-factory:shouldProcessAllElementsWithMaxParallelism()]/[dynamic-test:#9]
replaced return value with null for com/pivovarit/collectors/SyncCollector::supplier → KILLED

21

1.1
Location : accumulator
Killed by : com.pivovarit.collectors.test.BasicParallelismTest.[engine:junit-jupiter]/[class:com.pivovarit.collectors.test.BasicParallelismTest]/[test-factory:shouldProcessAllElementsWithMaxParallelism()]/[dynamic-test:#9]
replaced return value with null for com/pivovarit/collectors/SyncCollector::accumulator → KILLED

26

1.1
Location : combiner
Killed by : none
replaced return value with null for com/pivovarit/collectors/SyncCollector::combiner → SURVIVED
Covering tests

33

1.1
Location : finisher
Killed by : com.pivovarit.collectors.test.BasicParallelismTest.[engine:junit-jupiter]/[class:com.pivovarit.collectors.test.BasicParallelismTest]/[test-factory:shouldProcessAllElementsWithMaxParallelism()]/[dynamic-test:#9]
replaced return value with null for com/pivovarit/collectors/SyncCollector::finisher → KILLED

Active mutators

Tests examined


Report generated by PIT 1.19.4