DocxStamperConfiguration.java

1
package pro.verron.officestamper.core;
2
3
4
import org.springframework.expression.EvaluationContext;
5
import org.springframework.expression.spel.SpelParserConfiguration;
6
import pro.verron.officestamper.api.*;
7
import pro.verron.officestamper.api.CustomFunction.NeedsBiFunctionImpl;
8
import pro.verron.officestamper.api.CustomFunction.NeedsFunctionImpl;
9
import pro.verron.officestamper.api.CustomFunction.NeedsTriFunctionImpl;
10
import pro.verron.officestamper.core.functions.BiFunctionBuilder;
11
import pro.verron.officestamper.core.functions.FunctionBuilder;
12
import pro.verron.officestamper.core.functions.TriFunctionBuilder;
13
14
import java.util.ArrayList;
15
import java.util.HashMap;
16
import java.util.List;
17
import java.util.Map;
18
import java.util.function.Supplier;
19
20
/// The [DocxStamperConfiguration] class represents the configuration for the [DocxStamper] class.
21
///
22
/// It provides methods to customize the behavior of the stamper.
23
///
24
/// @author Joseph Verron
25
/// @author Tom Hombergs
26
/// @version ${version}
27
/// @since 1.0.3
28
public class DocxStamperConfiguration
29
        implements OfficeStamperConfiguration {
30
    private final Map<Class<?>, CommentProcessorFactory> commentProcessors;
31
    private final List<ObjectResolver> resolvers;
32
    private final Map<Class<?>, Object> expressionFunctions;
33
    private final List<PreProcessor> preprocessors;
34
    private final List<PostProcessor> postprocessors;
35
    private final List<CustomFunction> functions;
36
    private EvaluationContextFactory evaluationContextFactory;
37
    private SpelParserConfiguration parserConfiguration;
38
    private ExceptionResolver exceptionResolver;
39
40
    /// Constructs a new instance of the [DocxStamperConfiguration] class and initializes its default configuration
41
    /// settings.
42
    ///
43
    /// This constructor sets up internal structures and default behaviors for managing document stamping
44
    /// configurations, including:
45
    /// - Initializing collections for processors, resolvers, and functions.
46
    /// - Setting default values for expression handling and evaluation.
47
    /// - Creating and configuring a default `SpelParserConfiguration`.
48
    /// - Establishing resolvers and exception handling strategies.
49
    ///
50
    /// @param evaluationContextFactory the factory used to create [EvaluationContext] instances.
51
    /// @param exceptionResolver the exception resolver to use for handling exceptions during stamping.
52
    public DocxStamperConfiguration(
53
            EvaluationContextFactory evaluationContextFactory,
54
            ExceptionResolver exceptionResolver
55
    ) {
56
        this.commentProcessors = new HashMap<>();
57
        this.resolvers = new ArrayList<>();
58
        this.expressionFunctions = new HashMap<>();
59
        this.preprocessors = new ArrayList<>();
60
        this.postprocessors = new ArrayList<>();
61
        this.functions = new ArrayList<>();
62
        this.evaluationContextFactory = evaluationContextFactory;
63
        this.parserConfiguration = new SpelParserConfiguration();
64
        this.exceptionResolver = exceptionResolver;
65
    }
66
67
    /// Exposes all methods of a given interface to the expression language.
68
    ///
69
    /// @param interfaceClass the interface holding methods to expose in the expression language.
70
    /// @param implementation the implementation to call to evaluate invocations of those methods, it must
71
    ///         implement the mentioned interface.
72
    ///
73
    /// @return a [DocxStamperConfiguration] object
74
    @Override
75
    public DocxStamperConfiguration exposeInterfaceToExpressionLanguage(
76
            Class<?> interfaceClass,
77
            Object implementation
78
    ) {
79
        this.expressionFunctions.put(interfaceClass, implementation);
80 1 1. exposeInterfaceToExpressionLanguage : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::exposeInterfaceToExpressionLanguage → KILLED
        return this;
81
    }
82
83
    /// Registers the specified [CommentProcessor] as an implementation of the specified interface.
84
    ///
85
    /// @param interfaceClass the interface, implemented by the commentProcessor.
86
    /// @param commentProcessorFactory the commentProcessor factory generating instances of the specified
87
    ///         interface.
88
    ///
89
    /// @return a [DocxStamperConfiguration] object
90
    @Override
91
    public DocxStamperConfiguration addCommentProcessor(
92
            Class<?> interfaceClass,
93
            CommentProcessorFactory commentProcessorFactory
94
    ) {
95
        this.commentProcessors.put(interfaceClass, commentProcessorFactory);
96 1 1. addCommentProcessor : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::addCommentProcessor → KILLED
        return this;
97
    }
98
99
    /// Adds a preprocessor to the configuration.
100
    ///
101
    /// @param preprocessor the preprocessor to add.
102
    @Override
103
    public void addPreprocessor(PreProcessor preprocessor) {
104
        preprocessors.add(preprocessor);
105
    }
106
107
    /// Retrieves the configured [EvaluationContextFactory] instance.
108
    ///
109
    /// @return an instance of [EvaluationContextFactory] used for creating evaluation contexts
110
    @Override
111
    public EvaluationContextFactory getEvaluationContextFactory() {
112 1 1. getEvaluationContextFactory : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::getEvaluationContextFactory → KILLED
        return evaluationContextFactory;
113
    }
114
115
    /// Sets the [EvaluationContextFactory] which creates Spring [EvaluationContext] instances used for evaluating
116
    /// expressions in comments and text.
117
    ///
118
    /// @param evaluationContextFactory the factory to use.
119
    ///
120
    /// @return the configuration object for chaining.
121
    @Override
122
    public DocxStamperConfiguration setEvaluationContextFactory(EvaluationContextFactory evaluationContextFactory) {
123
        this.evaluationContextFactory = evaluationContextFactory;
124 1 1. setEvaluationContextFactory : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::setEvaluationContextFactory → KILLED
        return this;
125
    }
126
127
    /// Retrieves the mapping of expression function classes to their corresponding function instances.
128
    ///
129
    /// @return a map where the keys are classes representing the function types, and the values are the function
130
    ///         instances.
131
    @Override
132
    public Map<Class<?>, Object> getExpressionFunctions() {
133 1 1. getExpressionFunctions : replaced return value with Collections.emptyMap for pro/verron/officestamper/core/DocxStamperConfiguration::getExpressionFunctions → KILLED
        return expressionFunctions;
134
    }
135
136
    /// Retrieves the map of comment processors associated with specific classes.
137
    ///
138
    /// @return a map where the key is the class associated with a specific type of placeholder, and the value is a
139
    ///         function that creates a [CommentProcessor] for that placeholder.
140
    @Override
141
    public Map<Class<?>, CommentProcessorFactory> getCommentProcessors() {
142 1 1. getCommentProcessors : replaced return value with Collections.emptyMap for pro/verron/officestamper/core/DocxStamperConfiguration::getCommentProcessors → KILLED
        return commentProcessors;
143
    }
144
145
    /// Retrieves the list of preprocessors.
146
    ///
147
    /// @return a list of [PreProcessor] objects.
148
    @Override
149
    public List<PreProcessor> getPreprocessors() {
150 1 1. getPreprocessors : replaced return value with Collections.emptyList for pro/verron/officestamper/core/DocxStamperConfiguration::getPreprocessors → KILLED
        return preprocessors;
151
    }
152
153
    /// Retrieves the list of object resolvers.
154
    ///
155
    /// @return a list of [ObjectResolver] instances.
156
    @Override
157
    public List<ObjectResolver> getResolvers() {
158 1 1. getResolvers : replaced return value with Collections.emptyList for pro/verron/officestamper/core/DocxStamperConfiguration::getResolvers → KILLED
        return resolvers;
159
    }
160
161
    /// Sets resolvers for resolving objects in the [DocxStamperConfiguration].
162
    ///
163
    /// This method is the evolution of the method [#addResolver(ObjectResolver)], and the order in which the resolvers
164
    /// are ordered is determinant; the first resolvers in the list will be tried first.
165
    ///
166
    ///  If a fallback resolver is desired, it should be placed last in the list.
167
    ///
168
    /// @param resolvers The list of [ObjectResolver] to be set.
169
    ///
170
    /// @return the configuration object for chaining.
171
    @Override
172
    public DocxStamperConfiguration setResolvers(List<ObjectResolver> resolvers) {
173 1 1. setResolvers : removed call to java/util/List::clear → KILLED
        this.resolvers.clear();
174
        this.resolvers.addAll(resolvers);
175 1 1. setResolvers : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::setResolvers → SURVIVED
        return this;
176
    }
177
178
    /// Adds a resolver to the list of resolvers in the [DocxStamperConfiguration] object.
179
    ///
180
    ///  Resolvers are used to resolve objects during the stamping process.
181
    ///
182
    /// @param resolver The resolver to be added.
183
    ///
184
    /// @return The modified [DocxStamperConfiguration] object, with the resolver added to the beginning of the resolver
185
    ///         list.
186
    @Override
187
    public DocxStamperConfiguration addResolver(ObjectResolver resolver) {
188 1 1. addResolver : removed call to java/util/List::addFirst → KILLED
        resolvers.addFirst(resolver);
189 1 1. addResolver : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::addResolver → KILLED
        return this;
190
    }
191
192
    /// Retrieves the exception resolver.
193
    ///
194
    /// @return the current instance of [ExceptionResolver].
195
    @Override
196
    public ExceptionResolver getExceptionResolver() {
197 1 1. getExceptionResolver : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::getExceptionResolver → KILLED
        return exceptionResolver;
198
    }
199
200
    /// Configures the exception resolver for the [DocxStamperConfiguration].
201
    ///
202
    /// @param exceptionResolver the [ExceptionResolver] to handle exceptions during processing
203
    ///
204
    /// @return the current instance of [DocxStamperConfiguration]
205
    @Override
206
    public DocxStamperConfiguration setExceptionResolver(ExceptionResolver exceptionResolver) {
207
        this.exceptionResolver = exceptionResolver;
208 1 1. setExceptionResolver : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::setExceptionResolver → KILLED
        return this;
209
    }
210
211
    /// Retrieves a list of custom functions.
212
    ///
213
    /// @return a List containing [CustomFunction] objects.
214
    @Override
215
    public List<CustomFunction> customFunctions() {
216 1 1. customFunctions : replaced return value with Collections.emptyList for pro/verron/officestamper/core/DocxStamperConfiguration::customFunctions → KILLED
        return functions;
217
    }
218
219
    /// Adds a custom function to the system, allowing integration of user-defined functionality.
220
    ///
221
    /// @param name The name of the custom function being added. This is used as the identifier for the function
222
    ///         and must be unique across all defined functions.
223
    /// @param implementation A [Supplier] functional interface that provides the implementation of the custom
224
    ///         function. When the function is called, the supplier's get method will be executed to return the result
225
    ///         of the function.
226
    @Override
227
    public void addCustomFunction(String name, Supplier<?> implementation) {
228 2 1. lambda$addCustomFunction$0 : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::lambda$addCustomFunction$0 → KILLED
2. addCustomFunction : removed call to pro/verron/officestamper/core/DocxStamperConfiguration::addCustomFunction → KILLED
        this.addCustomFunction(new CustomFunction(name, List.of(), args -> implementation.get()));
229
    }
230
231
    /// Adds a custom function to the list of functions.
232
    ///
233
    /// @param function the [CustomFunction] object to be added
234
    public void addCustomFunction(CustomFunction function) {
235
        this.functions.add(function);
236
    }
237
238
    /// Adds a custom function to the context with the specified name and type.
239
    ///
240
    /// @param name the name of the custom function
241
    /// @param class0 the class type of the custom function
242
    /// @param <T> the type of the input parameter
243
    ///
244
    /// @return an instance of [NeedsFunctionImpl] configured with the custom function
245
    @Override
246
    public <T> NeedsFunctionImpl<T> addCustomFunction(String name, Class<T> class0) {
247 1 1. addCustomFunction : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::addCustomFunction → KILLED
        return new FunctionBuilder<>(this, name, class0);
248
    }
249
250
    /// Adds a custom function with the specified name and input types.
251
    ///
252
    /// @param name the name of the custom function to be added
253
    /// @param class0 the class type of the first input parameter of the custom function.
254
    /// @param class1 the class type of the second input parameter of the custom function.
255
    /// @param <T> the type of the first input parameter
256
    /// @param <U> the type of the second input parameter
257
    ///
258
    /// @return an instance of [NeedsBiFunctionImpl] for further configuration or usage of the custom function.
259
    @Override
260
    public <T, U> NeedsBiFunctionImpl<T, U> addCustomFunction(String name, Class<T> class0, Class<U> class1) {
261 1 1. addCustomFunction : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::addCustomFunction → KILLED
        return new BiFunctionBuilder<>(this, name, class0, class1);
262
    }
263
264
    /// Adds a custom function to the current context by defining its name, and the classes associated with its argument
265
    /// types.
266
    ///
267
    /// @param name the name to assign to the custom function
268
    /// @param class0 the class of the first argument type
269
    /// @param class1 the class of the second argument type
270
    /// @param class2 the class of the third argument type
271
    /// @param <T> the type of the first argument
272
    /// @param <U> the type of the second argument
273
    /// @param <V> the type of the third argument
274
    ///
275
    /// @return an instance of [NeedsTriFunctionImpl] indicating the custom function implementation and usage context.
276
    @Override
277
    public <T, U, V> NeedsTriFunctionImpl<T, U, V> addCustomFunction(
278
            String name,
279
            Class<T> class0,
280
            Class<U> class1,
281
            Class<V> class2
282
    ) {
283 1 1. addCustomFunction : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::addCustomFunction → KILLED
        return new TriFunctionBuilder<>(this, name, class0, class1, class2);
284
    }
285
286
    /// Retrieves the list of postprocessors.
287
    ///
288
    /// @return a List of [PostProcessor] objects.
289
    @Override
290
    public List<PostProcessor> getPostprocessors() {
291 1 1. getPostprocessors : replaced return value with Collections.emptyList for pro/verron/officestamper/core/DocxStamperConfiguration::getPostprocessors → KILLED
        return postprocessors;
292
    }
293
294
    /// Adds a given postprocessor to the list of postprocessors.
295
    ///
296
    /// @param postprocessor the [PostProcessor] instance to be added
297
    @Override
298
    public void addPostprocessor(PostProcessor postprocessor) {
299
        postprocessors.add(postprocessor);
300
    }
301
302
    @Override
303
    public SpelParserConfiguration getParserConfiguration() {
304 1 1. getParserConfiguration : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::getParserConfiguration → KILLED
        return parserConfiguration;
305
    }
306
307
    /// Sets the parser configuration used for expression evaluation.
308
    ///
309
    /// Note that the provided parser configuration will be used for all expressions in the document, including
310
    /// expressions in comments. If you use SpEL, construct a `SpelExpressionParser` (optionally with a `
311
    /// SpelParserConfiguration`) and
312
    /// pass it here.
313
    ///
314
    /// @param parserConfiguration the parser to use.
315
    ///
316
    /// @return the configuration object for chaining.
317
    @Override
318
    public DocxStamperConfiguration setParserConfiguration(SpelParserConfiguration parserConfiguration) {
319
        this.parserConfiguration = parserConfiguration;
320 1 1. setParserConfiguration : replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::setParserConfiguration → KILLED
        return this;
321
    }
322
323
    /// Resets all processors in the configuration.
324
    public void resetCommentProcessors() {
325 1 1. resetCommentProcessors : removed call to java/util/Map::clear → NO_COVERAGE
        this.commentProcessors.clear();
326
    }
327
328
    /// Resets all resolvers in the configuration.
329
    public void resetResolvers() {
330 1 1. resetResolvers : removed call to java/util/List::clear → NO_COVERAGE
        this.resolvers.clear();
331
    }
332
}

Mutations

80

1.1
Location : exposeInterfaceToExpressionLanguage
Killed by : pro.verron.officestamper.test.CustomFunctionTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.CustomFunctionTests]/[test-template:interfaces(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::exposeInterfaceToExpressionLanguage → KILLED

96

1.1
Location : addCommentProcessor
Killed by : pro.verron.officestamper.test.CustomProcessorTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.CustomProcessorTests]/[test-template:should_allow_custom_processors_injection(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::addCommentProcessor → KILLED

112

1.1
Location : getEvaluationContextFactory
Killed by : pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest]/[test-template:fails(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::getEvaluationContextFactory → KILLED

124

1.1
Location : setEvaluationContextFactory
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, org.docx4j.openpackaging.packages.WordprocessingMLPackage, java.lang.String)]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::setEvaluationContextFactory → KILLED

133

1.1
Location : getExpressionFunctions
Killed by : pro.verron.officestamper.test.RegressionTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.RegressionTests]/[method:test64()]
replaced return value with Collections.emptyMap for pro/verron/officestamper/core/DocxStamperConfiguration::getExpressionFunctions → KILLED

142

1.1
Location : getCommentProcessors
Killed by : pro.verron.officestamper.test.CustomProcessorTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.CustomProcessorTests]/[test-template:should_allow_custom_processors_injection(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with Collections.emptyMap for pro/verron/officestamper/core/DocxStamperConfiguration::getCommentProcessors → KILLED

150

1.1
Location : getPreprocessors
Killed by : pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest]/[test-template:fails(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with Collections.emptyList for pro/verron/officestamper/core/DocxStamperConfiguration::getPreprocessors → KILLED

158

1.1
Location : getResolvers
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, org.docx4j.openpackaging.packages.WordprocessingMLPackage, java.lang.String)]/[test-template-invocation:#35]
replaced return value with Collections.emptyList for pro/verron/officestamper/core/DocxStamperConfiguration::getResolvers → KILLED

173

1.1
Location : setResolvers
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, org.docx4j.openpackaging.packages.WordprocessingMLPackage, java.lang.String)]/[test-template-invocation:#31]
removed call to java/util/List::clear → KILLED

175

1.1
Location : setResolvers
Killed by : none
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::setResolvers → SURVIVED
Covering tests

188

1.1
Location : addResolver
Killed by : pro.verron.officestamper.test.CustomFunctionTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.CustomFunctionTests]/[test-template:trifunctions(pro.verron.officestamper.test.utils.ContextFactory, java.lang.String, java.lang.String)]/[test-template-invocation:#9]
removed call to java/util/List::addFirst → KILLED

189

1.1
Location : addResolver
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, org.docx4j.openpackaging.packages.WordprocessingMLPackage, java.lang.String)]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::addResolver → KILLED

197

1.1
Location : getExceptionResolver
Killed by : pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest]/[test-template:fails(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::getExceptionResolver → KILLED

208

1.1
Location : setExceptionResolver
Killed by : pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest]/[test-template:fails(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::setExceptionResolver → KILLED

216

1.1
Location : customFunctions
Killed by : pro.verron.officestamper.test.CustomFunctionTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.CustomFunctionTests]/[test-template:trifunctions(pro.verron.officestamper.test.utils.ContextFactory, java.lang.String, java.lang.String)]/[test-template-invocation:#9]
replaced return value with Collections.emptyList for pro/verron/officestamper/core/DocxStamperConfiguration::customFunctions → KILLED

228

1.1
Location : lambda$addCustomFunction$0
Killed by : pro.verron.officestamper.test.CustomFunctionTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.CustomFunctionTests]/[test-template:suppliers(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#1]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::lambda$addCustomFunction$0 → KILLED

2.2
Location : addCustomFunction
Killed by : pro.verron.officestamper.test.CustomFunctionTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.CustomFunctionTests]/[test-template:suppliers(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#1]
removed call to pro/verron/officestamper/core/DocxStamperConfiguration::addCustomFunction → KILLED

247

1.1
Location : addCustomFunction
Killed by : pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest]/[test-template:fails(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::addCustomFunction → KILLED

261

1.1
Location : addCustomFunction
Killed by : pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest]/[test-template:fails(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::addCustomFunction → KILLED

283

1.1
Location : addCustomFunction
Killed by : pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest]/[test-template:fails(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::addCustomFunction → KILLED

291

1.1
Location : getPostprocessors
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, org.docx4j.openpackaging.packages.WordprocessingMLPackage, java.lang.String)]/[test-template-invocation:#35]
replaced return value with Collections.emptyList for pro/verron/officestamper/core/DocxStamperConfiguration::getPostprocessors → KILLED

304

1.1
Location : getParserConfiguration
Killed by : pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.FailOnUnresolvedPlaceholderTest]/[test-template:fails(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#2]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::getParserConfiguration → KILLED

320

1.1
Location : setParserConfiguration
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, org.docx4j.openpackaging.packages.WordprocessingMLPackage, java.lang.String)]
replaced return value with null for pro/verron/officestamper/core/DocxStamperConfiguration::setParserConfiguration → KILLED

325

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

330

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

Active mutators

Tests examined


Report generated by PIT 1.22.1