diff options
author | vasilyeva <vasilyeva@rutarget.ru> | 2017-09-22 00:26:40 +0300 |
---|---|---|
committer | Roman Ivanov <romani@users.noreply.github.com> | 2017-09-21 19:46:04 -0700 |
commit | 81d52c347f48f9ed31e878fa5ba5f2666c0a5c44 (patch) | |
tree | ba72442a6a5f09b642c535c1109ae70d844b13f2 | |
parent | ea43523a431bb4294dc2459c2f72241a9b2472b1 (diff) | |
download | checkstyle-81d52c347f48f9ed31e878fa5ba5f2666c0a5c44.tar.gz |
Issue #5005: increase coverage of pitest-checks-metrics to 97%
6 files changed, 59 insertions, 3 deletions
@@ -1923,7 +1923,7 @@ <targetTests> <param>com.puppycrawl.tools.checkstyle.checks.metrics.*</param> </targetTests> - <mutationThreshold>91</mutationThreshold> + <mutationThreshold>97</mutationThreshold> <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor> <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant> <threads>${pitest.plugin.threads}</threads> diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java index 978765658..c0c720c83 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java @@ -132,7 +132,6 @@ public abstract class AbstractClassCouplingCheck extends AbstractCheck { * @param from array representing regular expressions of classes to ignore. */ public void setExcludeClassesRegexps(String... from) { - excludeClassesRegexps.clear(); excludeClassesRegexps.addAll(Arrays.stream(from.clone()) .map(CommonUtils::createPattern) .collect(Collectors.toSet())); diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassDataAbstractionCouplingCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassDataAbstractionCouplingCheck.java index 8e8a35199..b960dd5a9 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassDataAbstractionCouplingCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/ClassDataAbstractionCouplingCheck.java @@ -43,7 +43,6 @@ public final class ClassDataAbstractionCouplingCheck /** Creates bew instance of the check. */ public ClassDataAbstractionCouplingCheck() { super(DEFAULT_MAX); - setTokens("LITERAL_NEW"); } @Override diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheckTest.java index 757d6e850..2716ef4e9 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/CyclomaticComplexityCheckTest.java @@ -65,6 +65,17 @@ public class CyclomaticComplexityCheckTest } @Test + public void testEqualsMaxComplexity() throws Exception { + final DefaultConfiguration checkConfig = + createModuleConfig(CyclomaticComplexityCheck.class); + checkConfig.addAttribute("max", "5"); + + final String[] expected = CommonUtils.EMPTY_STRING_ARRAY; + + verify(checkConfig, getPath("InputCyclomaticComplexitySwitchBlocks.java"), expected); + } + + @Test public void test() throws Exception { final DefaultConfiguration checkConfig = createModuleConfig(CyclomaticComplexityCheck.class); diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/JavaNCSSCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/JavaNCSSCheckTest.java index d218ba657..e3dac1914 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/JavaNCSSCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/JavaNCSSCheckTest.java @@ -71,6 +71,19 @@ public class JavaNCSSCheckTest extends AbstractModuleTestSupport { } @Test + public void testEqualToMax() throws Exception { + final DefaultConfiguration checkConfig = createModuleConfig(JavaNCSSCheck.class); + + checkConfig.addAttribute("methodMaximum", "12"); + checkConfig.addAttribute("classMaximum", "22"); + checkConfig.addAttribute("fileMaximum", "39"); + + final String[] expected = CommonUtils.EMPTY_STRING_ARRAY; + + verify(checkConfig, getPath("InputJavaNCSS.java"), expected); + } + + @Test public void testDefaultConfiguration() throws Exception { final DefaultConfiguration checkConfig = createModuleConfig(JavaNCSSCheck.class); diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/NPathComplexityCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/NPathComplexityCheckTest.java index 5c1fb93eb..8c0d2599e 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/NPathComplexityCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/metrics/NPathComplexityCheckTest.java @@ -21,6 +21,7 @@ package com.puppycrawl.tools.checkstyle.checks.metrics; import static com.puppycrawl.tools.checkstyle.checks.metrics.NPathComplexityCheck.MSG_KEY; +import java.util.Collection; import java.util.SortedSet; import org.junit.Assert; @@ -29,9 +30,11 @@ import org.junit.Test; import antlr.CommonHiddenStreamToken; import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport; import com.puppycrawl.tools.checkstyle.DefaultConfiguration; +import com.puppycrawl.tools.checkstyle.api.Context; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.LocalizedMessage; import com.puppycrawl.tools.checkstyle.api.TokenTypes; +import com.puppycrawl.tools.checkstyle.internal.TestUtils; import com.puppycrawl.tools.checkstyle.utils.CommonUtils; // -@cs[AbbreviationAsWordInName] Can't change check name @@ -105,6 +108,37 @@ public class NPathComplexityCheckTest extends AbstractModuleTestSupport { } @Test + @SuppressWarnings("unchecked") + public void testStatefulFieldsClearedOnBeginTree1() throws Exception { + final DetailAST ast = new DetailAST(); + ast.setType(TokenTypes.LITERAL_ELSE); + + final NPathComplexityCheck check = new NPathComplexityCheck(); + Assert.assertTrue("Stateful field is not cleared after beginTree", + TestUtils.isStatefulFieldClearedDuringBeginTree(check, ast, "rangeValues", + rangeValues -> ((Collection<Context>) rangeValues).isEmpty())); + Assert.assertTrue("Stateful field is not cleared after beginTree", + TestUtils.isStatefulFieldClearedDuringBeginTree(check, ast, "expressionValues", + expressionValues -> ((Collection<Context>) expressionValues).isEmpty())); + } + + @Test + @SuppressWarnings("unchecked") + public void testStatefulFieldsClearedOnBeginTree2() throws Exception { + final DetailAST ast = new DetailAST(); + ast.setType(TokenTypes.LITERAL_RETURN); + ast.setLineNo(5); + final DetailAST child = new DetailAST(); + child.setType(TokenTypes.SEMI); + ast.addChild(child); + + final NPathComplexityCheck check = new NPathComplexityCheck(); + Assert.assertTrue("Stateful field is not cleared after beginTree", + TestUtils.isStatefulFieldClearedDuringBeginTree(check, ast, "isAfterValues", + isAfterValues -> ((Collection<Context>) isAfterValues).isEmpty())); + } + + @Test public void testDefaultConfiguration() throws Exception { final DefaultConfiguration checkConfig = createModuleConfig(NPathComplexityCheck.class); |