Skip to content

Commit

Permalink
Issue checkstyle#13809: Kill mutation in pitest-api profile
Browse files Browse the repository at this point in the history
  • Loading branch information
Kevin222004 committed Oct 1, 2023
1 parent 56af761 commit 9f0ceee
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 10 deletions.
9 changes: 0 additions & 9 deletions config/pitest-suppressions/pitest-api-suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,4 @@
<description>Removed assignment to member variable args</description>
<lineContent>this.args = null;</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>Violation.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.api.Violation</mutatedClass>
<mutatedMethod>compareTo</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.NonVoidMethodCallMutator</mutator>
<description>removed call to java/lang/String::compareTo</description>
<lineContent>result = getViolation().compareTo(other.getViolation());</lineContent>
</mutation>
</suppressedMutations>
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,25 @@
package com.puppycrawl.tools.checkstyle.api;

import static com.google.common.truth.Truth.assertWithMessage;
import static com.puppycrawl.tools.checkstyle.checks.modifier.InterfaceMemberImpliedModifierCheck.MSG_KEY;
import static com.puppycrawl.tools.checkstyle.utils.CommonUtil.EMPTY_OBJECT_ARRAY;

import org.junit.jupiter.api.Test;
import org.junitpioneer.jupiter.DefaultLocale;

import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport;
import com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationLocationCheck;
import com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationOnSameLineCheck;
import com.puppycrawl.tools.checkstyle.checks.modifier.InterfaceMemberImpliedModifierCheck;
import nl.jqno.equalsverifier.EqualsVerifier;
import nl.jqno.equalsverifier.EqualsVerifierReport;

public class ViolationTest {
public class ViolationTest extends AbstractModuleTestSupport {

@Override
protected String getPackageLocation() {
return "com/puppycrawl/tools/checkstyle/api/violation";
}

@Test
public void testEqualsAndHashCode() {
Expand Down Expand Up @@ -211,4 +219,15 @@ private static Violation createSampleViolationWithColumn(int column) {
EMPTY_OBJECT_ARRAY, "module", Violation.class, null);
}

@Test
public void testViolation() throws Exception {
final String[] expected = {
"20:5: " + getCheckMessage(InterfaceMemberImpliedModifierCheck.class,
MSG_KEY, "final"),
"20:5: " + getCheckMessage(InterfaceMemberImpliedModifierCheck.class,
MSG_KEY, "static"),
};

verifyWithInlineConfigParser(getPath("InputViolation1.java"), expected);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/*
com.puppycrawl.tools.checkstyle.checks.modifier.InterfaceMemberImpliedModifierCheck
violateImpliedPublicField = false
violateImpliedStaticField = (default)true
violateImpliedFinalField = (default)true
violateImpliedPublicMethod = (default)true
violateImpliedAbstractMethod = (default)true
violateImpliedPublicNested = (default)true
violateImpliedStaticNested = (default)true
*/

package com.puppycrawl.tools.checkstyle.api.violation;

public interface InputViolation1 {

public static final int fieldPublicStaticFinal = 1;

int field = 1; // 2 violations

}

0 comments on commit 9f0ceee

Please sign in to comment.