Null2PlaceholderResolver.java

1
package pro.verron.officestamper.preset.resolvers.nulls;
2
3
import org.docx4j.wml.R;
4
import org.springframework.lang.Nullable;
5
import pro.verron.officestamper.api.DocxPart;
6
import pro.verron.officestamper.api.ObjectResolver;
7
import pro.verron.officestamper.api.OfficeStamperException;
8
import pro.verron.officestamper.api.Placeholder;
9
10
import static pro.verron.officestamper.utils.WmlFactory.newRun;
11
12
/// The [Null2PlaceholderResolver] class is an implementation of the ObjectResolver interface.
13
/// It provides a way to resolve null objects by not replacing their expression.
14
///
15
/// @author Joseph Verron
16
/// @version ${version}
17
/// @since 1.6.7
18
public class Null2PlaceholderResolver
19
        implements ObjectResolver {
20
21
    public Null2PlaceholderResolver() {
22
        //DO NOTHING
23
    }
24
25
    @Override
26
    public R resolve(
27
            DocxPart document,
28
            Placeholder placeholder,
29
            Object object
30
    ) {
31 1 1. resolve : replaced return value with null for pro/verron/officestamper/preset/resolvers/nulls/Null2PlaceholderResolver::resolve → KILLED
        return newRun(placeholder.expression());
32
    }
33
34
    @Override
35
    public boolean canResolve(@Nullable Object object) {
36 2 1. canResolve : replaced boolean return with true for pro/verron/officestamper/preset/resolvers/nulls/Null2PlaceholderResolver::canResolve → SURVIVED
2. canResolve : negated conditional → KILLED
        return object == null;
37
    }
38
39
    @Override
40
    public R resolve(
41
            DocxPart document,
42
            String expression,
43
            Object object
44
    ) {
45
        throw new OfficeStamperException("Should not be called");
46
    }
47
}

Mutations

31

1.1
Location : resolve
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:#3]
replaced return value with null for pro/verron/officestamper/preset/resolvers/nulls/Null2PlaceholderResolver::resolve → KILLED

36

1.1
Location : canResolve
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:#3]
negated conditional → KILLED

2.2
Location : canResolve
Killed by : none
replaced boolean return with true for pro/verron/officestamper/preset/resolvers/nulls/Null2PlaceholderResolver::canResolve → SURVIVED
Covering tests

Active mutators

Tests examined


Report generated by PIT 1.21.0