ImportControlLoader.java

1
////////////////////////////////////////////////////////////////////////////////
2
// checkstyle: Checks Java source code for adherence to a set of rules.
3
// Copyright (C) 2001-2021 the original author or authors.
4
//
5
// This library is free software; you can redistribute it and/or
6
// modify it under the terms of the GNU Lesser General Public
7
// License as published by the Free Software Foundation; either
8
// version 2.1 of the License, or (at your option) any later version.
9
//
10
// This library is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
// Lesser General Public License for more details.
14
//
15
// You should have received a copy of the GNU Lesser General Public
16
// License along with this library; if not, write to the Free Software
17
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
////////////////////////////////////////////////////////////////////////////////
19
20
package com.puppycrawl.tools.checkstyle.checks.imports;
21
22
import java.io.IOException;
23
import java.io.InputStream;
24
import java.net.MalformedURLException;
25
import java.net.URI;
26
import java.util.ArrayDeque;
27
import java.util.Deque;
28
import java.util.HashMap;
29
import java.util.Map;
30
31
import javax.xml.parsers.ParserConfigurationException;
32
33
import org.xml.sax.Attributes;
34
import org.xml.sax.InputSource;
35
import org.xml.sax.SAXException;
36
37
import com.puppycrawl.tools.checkstyle.XmlLoader;
38
import com.puppycrawl.tools.checkstyle.api.CheckstyleException;
39
40
/**
41
 * Responsible for loading the contents of an import control configuration file.
42
 */
43
public final class ImportControlLoader extends XmlLoader {
44
45
    /** The public ID for the configuration dtd. */
46
    private static final String DTD_PUBLIC_ID_1_0 =
47
        "-//Puppy Crawl//DTD Import Control 1.0//EN";
48
49
    /** The new public ID for version 1_0 of the configuration dtd. */
50
    private static final String DTD_PUBLIC_CS_ID_1_0 =
51
        "-//Checkstyle//DTD ImportControl Configuration 1.0//EN";
52
53
    /** The public ID for the configuration dtd. */
54
    private static final String DTD_PUBLIC_ID_1_1 =
55
        "-//Puppy Crawl//DTD Import Control 1.1//EN";
56
57
    /** The new public ID for version 1_1 of the configuration dtd. */
58
    private static final String DTD_PUBLIC_CS_ID_1_1 =
59
        "-//Checkstyle//DTD ImportControl Configuration 1.1//EN";
60
61
    /** The public ID for the configuration dtd. */
62
    private static final String DTD_PUBLIC_ID_1_2 =
63
        "-//Puppy Crawl//DTD Import Control 1.2//EN";
64
65
    /** The new public ID for version 1_2 of the configuration dtd. */
66
    private static final String DTD_PUBLIC_CS_ID_1_2 =
67
        "-//Checkstyle//DTD ImportControl Configuration 1.2//EN";
68
69
    /** The public ID for the configuration dtd. */
70
    private static final String DTD_PUBLIC_ID_1_3 =
71
        "-//Puppy Crawl//DTD Import Control 1.3//EN";
72
73
    /** The new public ID for version 1_3 of the configuration dtd. */
74
    private static final String DTD_PUBLIC_CS_ID_1_3 =
75
        "-//Checkstyle//DTD ImportControl Configuration 1.3//EN";
76
77
    /** The public ID for the configuration dtd. */
78
    private static final String DTD_PUBLIC_ID_1_4 =
79
        "-//Puppy Crawl//DTD Import Control 1.4//EN";
80
81
    /** The new public ID for version 1_4 of the configuration dtd. */
82
    private static final String DTD_PUBLIC_CS_ID_1_4 =
83
        "-//Checkstyle//DTD ImportControl Configuration 1.4//EN";
84
85
    /** The resource for the configuration dtd. */
86
    private static final String DTD_RESOURCE_NAME_1_0 =
87
        "com/puppycrawl/tools/checkstyle/checks/imports/import_control_1_0.dtd";
88
89
    /** The resource for the configuration dtd. */
90
    private static final String DTD_RESOURCE_NAME_1_1 =
91
        "com/puppycrawl/tools/checkstyle/checks/imports/import_control_1_1.dtd";
92
93
    /** The resource for the configuration dtd. */
94
    private static final String DTD_RESOURCE_NAME_1_2 =
95
        "com/puppycrawl/tools/checkstyle/checks/imports/import_control_1_2.dtd";
96
97
    /** The resource for the configuration dtd. */
98
    private static final String DTD_RESOURCE_NAME_1_3 =
99
        "com/puppycrawl/tools/checkstyle/checks/imports/import_control_1_3.dtd";
100
101
    /** The resource for the configuration dtd. */
102
    private static final String DTD_RESOURCE_NAME_1_4 =
103
        "com/puppycrawl/tools/checkstyle/checks/imports/import_control_1_4.dtd";
104
105
    /** The map to lookup the resource name by the id. */
106
    private static final Map<String, String> DTD_RESOURCE_BY_ID = new HashMap<>();
107
108
    /** Name for attribute 'pkg'. */
109
    private static final String PKG_ATTRIBUTE_NAME = "pkg";
110
111
    /** Name for attribute 'name'. */
112
    private static final String NAME_ATTRIBUTE_NAME = "name";
113
114
    /** Name for attribute 'strategyOnMismatch'. */
115
    private static final String STRATEGY_ON_MISMATCH_ATTRIBUTE_NAME = "strategyOnMismatch";
116
117
    /** Value "allowed" for attribute 'strategyOnMismatch'. */
118
    private static final String STRATEGY_ON_MISMATCH_ALLOWED_VALUE = "allowed";
119
120
    /** Value "disallowed" for attribute 'strategyOnMismatch'. */
121
    private static final String STRATEGY_ON_MISMATCH_DISALLOWED_VALUE = "disallowed";
122
123
    /** Qualified name for element 'subpackage'. */
124
    private static final String SUBPACKAGE_ELEMENT_NAME = "subpackage";
125
126
    /** Qualified name for element 'file'. */
127
    private static final String FILE_ELEMENT_NAME = "file";
128
129
    /** Qualified name for element 'allow'. */
130
    private static final String ALLOW_ELEMENT_NAME = "allow";
131
132
    /** Used to hold the {@link AbstractImportControl} objects. */
133 1 1. <init> : removed call to java/util/ArrayDeque::<init> → KILLED
    private final Deque<AbstractImportControl> stack = new ArrayDeque<>();
134
135
    static {
136
        DTD_RESOURCE_BY_ID.put(DTD_PUBLIC_ID_1_0, DTD_RESOURCE_NAME_1_0);
137
        DTD_RESOURCE_BY_ID.put(DTD_PUBLIC_ID_1_1, DTD_RESOURCE_NAME_1_1);
138
        DTD_RESOURCE_BY_ID.put(DTD_PUBLIC_ID_1_2, DTD_RESOURCE_NAME_1_2);
139
        DTD_RESOURCE_BY_ID.put(DTD_PUBLIC_ID_1_3, DTD_RESOURCE_NAME_1_3);
140
        DTD_RESOURCE_BY_ID.put(DTD_PUBLIC_ID_1_4, DTD_RESOURCE_NAME_1_4);
141
        DTD_RESOURCE_BY_ID.put(DTD_PUBLIC_CS_ID_1_0, DTD_RESOURCE_NAME_1_0);
142
        DTD_RESOURCE_BY_ID.put(DTD_PUBLIC_CS_ID_1_1, DTD_RESOURCE_NAME_1_1);
143
        DTD_RESOURCE_BY_ID.put(DTD_PUBLIC_CS_ID_1_2, DTD_RESOURCE_NAME_1_2);
144
        DTD_RESOURCE_BY_ID.put(DTD_PUBLIC_CS_ID_1_3, DTD_RESOURCE_NAME_1_3);
145
        DTD_RESOURCE_BY_ID.put(DTD_PUBLIC_CS_ID_1_4, DTD_RESOURCE_NAME_1_4);
146
    }
147
148
    /**
149
     * Constructs an instance.
150
     *
151
     * @throws ParserConfigurationException if an error occurs.
152
     * @throws SAXException if an error occurs.
153
     */
154
    private ImportControlLoader() throws ParserConfigurationException,
155
            SAXException {
156
        super(DTD_RESOURCE_BY_ID);
157
    }
158
159
    @Override
160
    public void startElement(String namespaceUri,
161
                             String localName,
162
                             String qName,
163
                             Attributes attributes)
164
            throws SAXException {
165 3 1. startElement : negated conditional → KILLED
2. startElement : removed conditional - replaced equality check with false → KILLED
3. startElement : removed conditional - replaced equality check with true → KILLED
        if ("import-control".equals(qName)) {
166
            final String pkg = safeGet(attributes, PKG_ATTRIBUTE_NAME);
167
            final MismatchStrategy strategyOnMismatch = getStrategyForImportControl(attributes);
168
            final boolean regex = containsRegexAttribute(attributes);
169 2 1. startElement : removed call to com/puppycrawl/tools/checkstyle/checks/imports/PkgImportControl::<init> → KILLED
2. startElement : removed call to java/util/Deque::push → KILLED
            stack.push(new PkgImportControl(pkg, regex, strategyOnMismatch));
170
        }
171 3 1. startElement : negated conditional → KILLED
2. startElement : removed conditional - replaced equality check with false → KILLED
3. startElement : removed conditional - replaced equality check with true → KILLED
        else if (SUBPACKAGE_ELEMENT_NAME.equals(qName)) {
172
            final String name = safeGet(attributes, NAME_ATTRIBUTE_NAME);
173
            final MismatchStrategy strategyOnMismatch = getStrategyForSubpackage(attributes);
174
            final boolean regex = containsRegexAttribute(attributes);
175
            final PkgImportControl parentImportControl = (PkgImportControl) stack.peek();
176 1 1. startElement : removed call to com/puppycrawl/tools/checkstyle/checks/imports/PkgImportControl::<init> → KILLED
            final AbstractImportControl importControl = new PkgImportControl(parentImportControl,
177
                    name, regex, strategyOnMismatch);
178 1 1. startElement : removed call to com/puppycrawl/tools/checkstyle/checks/imports/PkgImportControl::addChild → KILLED
            parentImportControl.addChild(importControl);
179 1 1. startElement : removed call to java/util/Deque::push → KILLED
            stack.push(importControl);
180
        }
181 3 1. startElement : negated conditional → KILLED
2. startElement : removed conditional - replaced equality check with false → KILLED
3. startElement : removed conditional - replaced equality check with true → KILLED
        else if (FILE_ELEMENT_NAME.equals(qName)) {
182
            final String name = safeGet(attributes, NAME_ATTRIBUTE_NAME);
183
            final boolean regex = containsRegexAttribute(attributes);
184
            final PkgImportControl parentImportControl = (PkgImportControl) stack.peek();
185 1 1. startElement : removed call to com/puppycrawl/tools/checkstyle/checks/imports/FileImportControl::<init> → KILLED
            final AbstractImportControl importControl = new FileImportControl(parentImportControl,
186
                    name, regex);
187 1 1. startElement : removed call to com/puppycrawl/tools/checkstyle/checks/imports/PkgImportControl::addChild → KILLED
            parentImportControl.addChild(importControl);
188 1 1. startElement : removed call to java/util/Deque::push → KILLED
            stack.push(importControl);
189
        }
190 6 1. startElement : removed conditional - replaced equality check with false → SURVIVED
2. startElement : removed conditional - replaced equality check with true → SURVIVED
3. startElement : negated conditional → KILLED
4. startElement : negated conditional → KILLED
5. startElement : removed conditional - replaced equality check with false → KILLED
6. startElement : removed conditional - replaced equality check with true → KILLED
        else if (ALLOW_ELEMENT_NAME.equals(qName) || "disallow".equals(qName)) {
191
            final AbstractImportRule rule = createImportRule(qName, attributes);
192 1 1. startElement : removed call to com/puppycrawl/tools/checkstyle/checks/imports/AbstractImportControl::addImportRule → KILLED
            stack.peek().addImportRule(rule);
193
        }
194
    }
195
196
    /**
197
     * Constructs an instance of an import rule based on the given {@code name} and
198
     * {@code attributes}.
199
     *
200
     * @param qName The qualified name.
201
     * @param attributes The attributes attached to the element.
202
     * @return The created import rule.
203
     * @throws SAXException if an error occurs.
204
     */
205
    private static AbstractImportRule createImportRule(String qName, Attributes attributes)
206
            throws SAXException {
207
        // Need to handle either "pkg" or "class" attribute.
208
        // May have "exact-match" for "pkg"
209
        // May have "local-only"
210
        final boolean isAllow = ALLOW_ELEMENT_NAME.equals(qName);
211 3 1. createImportRule : negated conditional → KILLED
2. createImportRule : removed conditional - replaced equality check with false → KILLED
3. createImportRule : removed conditional - replaced equality check with true → KILLED
        final boolean isLocalOnly = attributes.getValue("local-only") != null;
212
        final String pkg = attributes.getValue(PKG_ATTRIBUTE_NAME);
213
        final boolean regex = containsRegexAttribute(attributes);
214
        final AbstractImportRule rule;
215 3 1. createImportRule : negated conditional → KILLED
2. createImportRule : removed conditional - replaced equality check with false → KILLED
3. createImportRule : removed conditional - replaced equality check with true → KILLED
        if (pkg == null) {
216
            // handle class names which can be normal class names or regular
217
            // expressions
218
            final String clazz = safeGet(attributes, "class");
219 1 1. createImportRule : removed call to com/puppycrawl/tools/checkstyle/checks/imports/ClassImportRule::<init> → KILLED
            rule = new ClassImportRule(isAllow, isLocalOnly, clazz, regex);
220
        }
221
        else {
222
            final boolean exactMatch =
223 3 1. createImportRule : negated conditional → KILLED
2. createImportRule : removed conditional - replaced equality check with false → KILLED
3. createImportRule : removed conditional - replaced equality check with true → KILLED
                    attributes.getValue("exact-match") != null;
224 1 1. createImportRule : removed call to com/puppycrawl/tools/checkstyle/checks/imports/PkgImportRule::<init> → KILLED
            rule = new PkgImportRule(isAllow, isLocalOnly, pkg, exactMatch, regex);
225
        }
226 1 1. createImportRule : mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::createImportRule to ( if (x != null) null else throw new RuntimeException ) → KILLED
        return rule;
227
    }
228
229
    /**
230
     * Check if the given attributes contain the regex attribute.
231
     *
232
     * @param attributes the attributes.
233
     * @return if the regex attribute is contained.
234
     */
235
    private static boolean containsRegexAttribute(Attributes attributes) {
236 5 1. containsRegexAttribute : replaced boolean return with true for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::containsRegexAttribute → KILLED
2. containsRegexAttribute : negated conditional → KILLED
3. containsRegexAttribute : removed conditional - replaced equality check with false → KILLED
4. containsRegexAttribute : removed conditional - replaced equality check with true → KILLED
5. containsRegexAttribute : replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED
        return attributes.getValue("regex") != null;
237
    }
238
239
    @Override
240
    public void endElement(String namespaceUri, String localName,
241
        String qName) {
242 6 1. endElement : negated conditional → KILLED
2. endElement : negated conditional → KILLED
3. endElement : removed conditional - replaced equality check with false → KILLED
4. endElement : removed conditional - replaced equality check with false → KILLED
5. endElement : removed conditional - replaced equality check with true → KILLED
6. endElement : removed conditional - replaced equality check with true → KILLED
        if (SUBPACKAGE_ELEMENT_NAME.equals(qName) || FILE_ELEMENT_NAME.equals(qName)) {
243
            stack.pop();
244
        }
245
    }
246
247
    /**
248
     * Loads the import control file from a file.
249
     *
250
     * @param uri the uri of the file to load.
251
     * @return the root {@link PkgImportControl} object.
252
     * @throws CheckstyleException if an error occurs.
253
     */
254
    public static PkgImportControl load(URI uri) throws CheckstyleException {
255 1 1. load : mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::load to ( if (x != null) null else throw new RuntimeException ) → KILLED
        return loadUri(uri);
256
    }
257
258
    /**
259
     * Loads the import control file from a {@link InputSource}.
260
     *
261
     * @param source the source to load from.
262
     * @param uri uri of the source being loaded.
263
     * @return the root {@link PkgImportControl} object.
264
     * @throws CheckstyleException if an error occurs.
265
     */
266
    private static PkgImportControl load(InputSource source,
267
        URI uri) throws CheckstyleException {
268
        try {
269 1 1. load : removed call to com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::<init> → KILLED
            final ImportControlLoader loader = new ImportControlLoader();
270 1 1. load : removed call to com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::parseInputSource → KILLED
            loader.parseInputSource(source);
271 1 1. load : mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::load to ( if (x != null) null else throw new RuntimeException ) → KILLED
            return loader.getRoot();
272
        }
273
        catch (ParserConfigurationException | SAXException ex) {
274 1 1. load : removed call to java/lang/StringBuilder::<init> → KILLED
            throw new CheckstyleException("unable to parse " + uri
275 1 1. load : removed call to com/puppycrawl/tools/checkstyle/api/CheckstyleException::<init> → KILLED
                    + " - " + ex.getMessage(), ex);
276
        }
277
        catch (IOException ex) {
278 2 1. load : removed call to java/lang/StringBuilder::<init> → KILLED
2. load : removed call to com/puppycrawl/tools/checkstyle/api/CheckstyleException::<init> → KILLED
            throw new CheckstyleException("unable to read " + uri, ex);
279
        }
280
    }
281
282
    /**
283
     * Loads the import control file from a URI.
284
     *
285
     * @param uri the uri of the file to load.
286
     * @return the root {@link PkgImportControl} object.
287
     * @throws CheckstyleException if an error occurs.
288
     */
289
    private static PkgImportControl loadUri(URI uri) throws CheckstyleException {
290
        try (InputStream inputStream = uri.toURL().openStream()) {
291 1 1. loadUri : removed call to org/xml/sax/InputSource::<init> → KILLED
            final InputSource source = new InputSource(inputStream);
292 1 1. loadUri : mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::loadUri to ( if (x != null) null else throw new RuntimeException ) → KILLED
            return load(source, uri);
293
        }
294
        catch (MalformedURLException ex) {
295 2 1. loadUri : removed call to java/lang/StringBuilder::<init> → KILLED
2. loadUri : removed call to com/puppycrawl/tools/checkstyle/api/CheckstyleException::<init> → KILLED
            throw new CheckstyleException("syntax error in url " + uri, ex);
296
        }
297
        catch (IOException ex) {
298 2 1. loadUri : removed call to java/lang/StringBuilder::<init> → KILLED
2. loadUri : removed call to com/puppycrawl/tools/checkstyle/api/CheckstyleException::<init> → KILLED
            throw new CheckstyleException("unable to find " + uri, ex);
299
        }
300
    }
301
302
    /**
303
     * Returns root PkgImportControl.
304
     *
305
     * @return the root {@link PkgImportControl} object loaded.
306
     */
307
    private PkgImportControl getRoot() {
308 1 1. getRoot : mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::getRoot to ( if (x != null) null else throw new RuntimeException ) → KILLED
        return (PkgImportControl) stack.peek();
309
    }
310
311
    /**
312
     * Utility to get a strategyOnMismatch property for "import-control" tag.
313
     *
314
     * @param attributes collect to get attribute from.
315
     * @return the value of the attribute.
316
     */
317
    private static MismatchStrategy getStrategyForImportControl(Attributes attributes) {
318
        final String returnValue = attributes.getValue(STRATEGY_ON_MISMATCH_ATTRIBUTE_NAME);
319
        MismatchStrategy strategyOnMismatch = MismatchStrategy.DISALLOWED;
320 3 1. getStrategyForImportControl : negated conditional → KILLED
2. getStrategyForImportControl : removed conditional - replaced equality check with false → KILLED
3. getStrategyForImportControl : removed conditional - replaced equality check with true → KILLED
        if (STRATEGY_ON_MISMATCH_ALLOWED_VALUE.equals(returnValue)) {
321
            strategyOnMismatch = MismatchStrategy.ALLOWED;
322
        }
323 1 1. getStrategyForImportControl : mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::getStrategyForImportControl to ( if (x != null) null else throw new RuntimeException ) → KILLED
        return strategyOnMismatch;
324
    }
325
326
    /**
327
     * Utility to get a strategyOnMismatch property for "subpackage" tag.
328
     *
329
     * @param attributes collect to get attribute from.
330
     * @return the value of the attribute.
331
     */
332
    private static MismatchStrategy getStrategyForSubpackage(Attributes attributes) {
333
        final String returnValue = attributes.getValue(STRATEGY_ON_MISMATCH_ATTRIBUTE_NAME);
334
        MismatchStrategy strategyOnMismatch = MismatchStrategy.DELEGATE_TO_PARENT;
335 3 1. getStrategyForSubpackage : negated conditional → KILLED
2. getStrategyForSubpackage : removed conditional - replaced equality check with false → KILLED
3. getStrategyForSubpackage : removed conditional - replaced equality check with true → KILLED
        if (STRATEGY_ON_MISMATCH_ALLOWED_VALUE.equals(returnValue)) {
336
            strategyOnMismatch = MismatchStrategy.ALLOWED;
337
        }
338 3 1. getStrategyForSubpackage : negated conditional → KILLED
2. getStrategyForSubpackage : removed conditional - replaced equality check with false → KILLED
3. getStrategyForSubpackage : removed conditional - replaced equality check with true → KILLED
        else if (STRATEGY_ON_MISMATCH_DISALLOWED_VALUE.equals(returnValue)) {
339
            strategyOnMismatch = MismatchStrategy.DISALLOWED;
340
        }
341 1 1. getStrategyForSubpackage : mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::getStrategyForSubpackage to ( if (x != null) null else throw new RuntimeException ) → KILLED
        return strategyOnMismatch;
342
    }
343
344
    /**
345
     * Utility to safely get an attribute. If it does not exist an exception
346
     * is thrown.
347
     *
348
     * @param attributes collect to get attribute from.
349
     * @param name name of the attribute to get.
350
     * @return the value of the attribute.
351
     * @throws SAXException if the attribute does not exist.
352
     */
353
    private static String safeGet(Attributes attributes, String name)
354
            throws SAXException {
355
        final String returnValue = attributes.getValue(name);
356 3 1. safeGet : negated conditional → KILLED
2. safeGet : removed conditional - replaced equality check with false → KILLED
3. safeGet : removed conditional - replaced equality check with true → KILLED
        if (returnValue == null) {
357
            // -@cs[IllegalInstantiation] SAXException is in the overridden method signature
358
            // of the only method which calls the current one
359 2 1. safeGet : removed call to java/lang/StringBuilder::<init> → KILLED
2. safeGet : removed call to org/xml/sax/SAXException::<init> → KILLED
            throw new SAXException("missing attribute " + name);
360
        }
361 1 1. safeGet : mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::safeGet to ( if (x != null) null else throw new RuntimeException ) → KILLED
        return returnValue;
362
    }
363
364
}

Mutations

133

1.1
Location : <init>
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed call to java/util/ArrayDeque::<init> → KILLED

165

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
negated conditional → KILLED

2.2
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed conditional - replaced equality check with true → KILLED

169

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed call to com/puppycrawl/tools/checkstyle/checks/imports/PkgImportControl::<init> → KILLED

2.2
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed call to java/util/Deque::push → KILLED

171

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
negated conditional → KILLED

2.2
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed conditional - replaced equality check with true → KILLED

176

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed call to com/puppycrawl/tools/checkstyle/checks/imports/PkgImportControl::<init> → KILLED

178

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testStrategyOnMismatchThree()]
removed call to com/puppycrawl/tools/checkstyle/checks/imports/PkgImportControl::addChild → KILLED

179

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed call to java/util/Deque::push → KILLED

181

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
negated conditional → KILLED

2.2
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testLoad()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed conditional - replaced equality check with true → KILLED

185

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testLoad()]
removed call to com/puppycrawl/tools/checkstyle/checks/imports/FileImportControl::<init> → KILLED

187

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testFileName()]
removed call to com/puppycrawl/tools/checkstyle/checks/imports/PkgImportControl::addChild → KILLED

188

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testLoad()]
removed call to java/util/Deque::push → KILLED

190

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testDisallowClassOfAllowPackage()]
negated conditional → KILLED

2.2
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testDisallowClassOfAllowPackage()]
negated conditional → KILLED

3.3
Location : startElement
Killed by : none
removed conditional - replaced equality check with false → SURVIVED

4.4
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testDisallowClassOfAllowPackage()]
removed conditional - replaced equality check with false → KILLED

5.5
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testDisallowClassOfAllowPackage()]
removed conditional - replaced equality check with true → KILLED

6.6
Location : startElement
Killed by : none
removed conditional - replaced equality check with true → SURVIVED

192

1.1
Location : startElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testDisallowClassOfAllowPackage()]
removed call to com/puppycrawl/tools/checkstyle/checks/imports/AbstractImportControl::addImportRule → KILLED

211

1.1
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testNotRegExpNoMatch()]
negated conditional → KILLED

2.2
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testOne()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testNotRegExpNoMatch()]
removed conditional - replaced equality check with true → KILLED

215

1.1
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
negated conditional → KILLED

2.2
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testDisallowClassOfAllowPackage()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed conditional - replaced equality check with true → KILLED

219

1.1
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testDisallowClassOfAllowPackage()]
removed call to com/puppycrawl/tools/checkstyle/checks/imports/ClassImportRule::<init> → KILLED

223

1.1
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testOne()]
negated conditional → KILLED

2.2
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testTwo()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testOne()]
removed conditional - replaced equality check with true → KILLED

224

1.1
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testDisallowClassOfAllowPackage()]
removed call to com/puppycrawl/tools/checkstyle/checks/imports/PkgImportRule::<init> → KILLED

226

1.1
Location : createImportRule
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testDisallowClassOfAllowPackage()]
mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::createImportRule to ( if (x != null) null else throw new RuntimeException ) → KILLED

236

1.1
Location : containsRegexAttribute
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testNotRegExpNoMatch()]
replaced boolean return with true for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::containsRegexAttribute → KILLED

2.2
Location : containsRegexAttribute
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testNotRegExpNoMatch()]
negated conditional → KILLED

3.3
Location : containsRegexAttribute
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testNotRegExpNoMatch()]
removed conditional - replaced equality check with false → KILLED

4.4
Location : containsRegexAttribute
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testNotRegExpNoMatch()]
removed conditional - replaced equality check with true → KILLED

5.5
Location : containsRegexAttribute
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testNotRegExpNoMatch()]
replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED

242

1.1
Location : endElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
negated conditional → KILLED

2.2
Location : endElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
negated conditional → KILLED

3.3
Location : endElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed conditional - replaced equality check with false → KILLED

4.4
Location : endElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testLoad()]
removed conditional - replaced equality check with false → KILLED

5.5
Location : endElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testFileName()]
removed conditional - replaced equality check with true → KILLED

6.6
Location : endElement
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed conditional - replaced equality check with true → KILLED

255

1.1
Location : load
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::load to ( if (x != null) null else throw new RuntimeException ) → KILLED

269

1.1
Location : load
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testLoadThrowsException()]
removed call to com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::<init> → KILLED

270

1.1
Location : load
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testLoadThrowsException()]
removed call to com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::parseInputSource → KILLED

271

1.1
Location : load
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::load to ( if (x != null) null else throw new RuntimeException ) → KILLED

274

1.1
Location : load
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testBroken()]
removed call to java/lang/StringBuilder::<init> → KILLED

275

1.1
Location : load
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testBroken()]
removed call to com/puppycrawl/tools/checkstyle/api/CheckstyleException::<init> → KILLED

278

1.1
Location : load
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testLoadThrowsException()]
removed call to java/lang/StringBuilder::<init> → KILLED

2.2
Location : load
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testLoadThrowsException()]
removed call to com/puppycrawl/tools/checkstyle/api/CheckstyleException::<init> → KILLED

291

1.1
Location : loadUri
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed call to org/xml/sax/InputSource::<init> → KILLED

292

1.1
Location : loadUri
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::loadUri to ( if (x != null) null else throw new RuntimeException ) → KILLED

295

1.1
Location : loadUri
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testWrongFormatUri()]
removed call to java/lang/StringBuilder::<init> → KILLED

2.2
Location : loadUri
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testWrongFormatUri()]
removed call to com/puppycrawl/tools/checkstyle/api/CheckstyleException::<init> → KILLED

298

1.1
Location : loadUri
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testUrlInFilePropertyUnableToLoad()]
removed call to java/lang/StringBuilder::<init> → KILLED

2.2
Location : loadUri
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testUrlInFilePropertyUnableToLoad()]
removed call to com/puppycrawl/tools/checkstyle/api/CheckstyleException::<init> → KILLED

308

1.1
Location : getRoot
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::getRoot to ( if (x != null) null else throw new RuntimeException ) → KILLED

320

1.1
Location : getStrategyForImportControl
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testStrategyOnMismatchThree()]
negated conditional → KILLED

2.2
Location : getStrategyForImportControl
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testStrategyOnMismatchThree()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : getStrategyForImportControl
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testOne()]
removed conditional - replaced equality check with true → KILLED

323

1.1
Location : getStrategyForImportControl
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testStrategyOnMismatchThree()]
mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::getStrategyForImportControl to ( if (x != null) null else throw new RuntimeException ) → KILLED

335

1.1
Location : getStrategyForSubpackage
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testOne()]
negated conditional → KILLED

2.2
Location : getStrategyForSubpackage
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testStrategyOnMismatchFour()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : getStrategyForSubpackage
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testOne()]
removed conditional - replaced equality check with true → KILLED

338

1.1
Location : getStrategyForSubpackage
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testStrategyOnMismatchThree()]
negated conditional → KILLED

2.2
Location : getStrategyForSubpackage
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testStrategyOnMismatchTwo()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : getStrategyForSubpackage
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testStrategyOnMismatchThree()]
removed conditional - replaced equality check with true → KILLED

341

1.1
Location : getStrategyForSubpackage
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testStrategyOnMismatchFour()]
mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::getStrategyForSubpackage to ( if (x != null) null else throw new RuntimeException ) → KILLED

356

1.1
Location : safeGet
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testSafeGetThrowsException()]
negated conditional → KILLED

2.2
Location : safeGet
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testSafeGetThrowsException()]
removed conditional - replaced equality check with false → KILLED

3.3
Location : safeGet
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testExtraElementInConfig()]
removed conditional - replaced equality check with true → KILLED

359

1.1
Location : safeGet
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testSafeGetThrowsException()]
removed call to java/lang/StringBuilder::<init> → KILLED

2.2
Location : safeGet
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlLoaderTest]/[method:testSafeGetThrowsException()]
removed call to org/xml/sax/SAXException::<init> → KILLED

361

1.1
Location : safeGet
Killed by : com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest.[engine:junit-jupiter]/[class:com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest]/[method:testWrong()]
mutated return of Object value for com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoader::safeGet to ( if (x != null) null else throw new RuntimeException ) → KILLED

Active mutators

Tests examined


Report generated by PIT 1.6.3