CommentReferenceRemoverVisitor.java

1
package pro.verron.officestamper.preset.preprocessors.malformedcomments;
2
3
import org.docx4j.utils.TraversalUtilVisitor;
4
import org.docx4j.wml.R;
5
import org.slf4j.Logger;
6
import org.slf4j.LoggerFactory;
7
8
import java.math.BigInteger;
9
import java.util.HashMap;
10
import java.util.List;
11
import java.util.Map;
12
13
class CommentReferenceRemoverVisitor
14
        extends TraversalUtilVisitor<R.CommentReference> {
15
    private static final Logger log = LoggerFactory.getLogger(CommentReferenceRemoverVisitor.class);
16
17
    private final List<BigInteger> ids;
18
    private final Map<Object, List<Object>> toRemove = new HashMap<>();
19
20
    public CommentReferenceRemoverVisitor(List<BigInteger> ids) {
21
        this.ids = ids;
22
    }
23
24
    @Override public void apply(R.CommentReference element, Object parent, List<Object> siblings) {
25 1 1. apply : negated conditional → KILLED
        if (ids.contains(element.getId())) toRemove.put(element, siblings);
26
    }
27
28
    public void run() {
29
        log.debug("Removed Comment References: {}", toRemove);
30 1 1. run : removed call to java/util/Map::forEach → SURVIVED
        toRemove.forEach((object, siblings) -> siblings.remove(object));
31
    }
32
}

Mutations

25

1.1
Location : apply
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(java.lang.String, pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, java.io.InputStream, java.lang.String)]/[test-template-invocation:#30]
negated conditional → KILLED

30

1.1
Location : run
Killed by : none
removed call to java/util/Map::forEach → SURVIVED
Covering tests

Active mutators

Tests examined


Report generated by PIT 1.17.1