Skip to content

Commit

Permalink
Issue checkstyle#13809: kill mutation for RootNode getColumnNumber
Browse files Browse the repository at this point in the history
  • Loading branch information
romani committed Oct 3, 2023
1 parent d316b89 commit b55a395
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 20 deletions.
21 changes: 1 addition & 20 deletions config/pitest-suppressions/pitest-xpath-suppressions.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<suppressedMutations>
<mutation unstable="true">
<mutation unstable="false">
<sourceFile>AbstractRootNode.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.xpath.AbstractRootNode</mutatedClass>
<mutatedMethod>iterateAxis</mutatedMethod>
Expand Down Expand Up @@ -35,23 +35,4 @@
<description>Removed assignment to member variable items</description>
<lineContent>this.items = null;</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>RootNode.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.xpath.RootNode</mutatedClass>
<mutatedMethod>getColumnNumber</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.NonVoidMethodCallMutator</mutator>
<description>removed call to com/puppycrawl/tools/checkstyle/api/DetailAST::getColumnNo</description>
<lineContent>return detailAst.getColumnNo();</lineContent>
</mutation>

<mutation unstable="false">
<sourceFile>RootNode.java</sourceFile>
<mutatedClass>com.puppycrawl.tools.checkstyle.xpath.RootNode</mutatedClass>
<mutatedMethod>getColumnNumber</mutatedMethod>
<mutator>org.pitest.mutationtest.engine.gregor.mutators.returns.PrimitiveReturnsMutator</mutator>
<description>replaced int return with 0 for com/puppycrawl/tools/checkstyle/xpath/RootNode::getColumnNumber</description>
<lineContent>return detailAst.getColumnNo();</lineContent>
</mutation>

</suppressedMutations>
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import org.junit.jupiter.api.Test;

import com.puppycrawl.tools.checkstyle.AbstractPathTestSupport;
import com.puppycrawl.tools.checkstyle.DetailAstImpl;
import com.puppycrawl.tools.checkstyle.JavaParser;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
import com.puppycrawl.tools.checkstyle.api.TokenTypes;
Expand Down Expand Up @@ -110,6 +111,23 @@ public void testGetColumnNumber() {
.isEqualTo(0);
}

/**
* This test exists to cover pitest mutation.
* It is impossible to create RootNode that doesnot have column as 0.
*/
@Test
public void testFakeGetColumnNumber() {
final DetailAstImpl fakeNode = new DetailAstImpl();
fakeNode.setType(TokenTypes.PACKAGE_DEF);
fakeNode.setLineNo(555);
fakeNode.setColumnNo(888);

RootNode rootNode = new RootNode(fakeNode);
assertWithMessage("Invalid column number")
.that(rootNode.getColumnNumber())
.isEqualTo(888);
}

@Test
public void testGetLocalPart() {
assertWithMessage("Invalid local part")
Expand Down

0 comments on commit b55a395

Please sign in to comment.