📄 avoidduplicateliteralsruletest.java
字号:
/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html*/package test.net.sourceforge.pmd.rules;import net.sourceforge.pmd.PMD;import net.sourceforge.pmd.rules.AvoidDuplicateLiteralsRule;import test.net.sourceforge.pmd.testframework.SimpleAggregatorTst;import test.net.sourceforge.pmd.testframework.TestDescriptor;import java.util.Set;public class AvoidDuplicateLiteralsRuleTest extends SimpleAggregatorTst { private AvoidDuplicateLiteralsRule rule; public void setUp() { rule = new AvoidDuplicateLiteralsRule(); rule.setMessage("avoid ''{0}'' and ''{1}''"); rule.addProperty("threshold", "2"); } public void testAll() { runTests(new TestDescriptor[] { new TestDescriptor(TEST1, "duplicate literals in argument list", 1, rule), new TestDescriptor(TEST2, "literal int argument, ok for now", 0, rule), new TestDescriptor(TEST3, "duplicate literals in field decl", 1, rule), }); } public void testStringParserEmptyString() { AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(','); Set res = p.parse(""); assertTrue(res.isEmpty()); } public void testStringParserSimple() { AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(','); Set res = p.parse("a,b,c"); assertEquals(3, res.size()); assertTrue(res.contains("a")); assertTrue(res.contains("b")); assertTrue(res.contains("c")); } public void testStringParserEscapedChar() { AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(','); Set res = p.parse("a,b,\\,"); assertEquals(3, res.size()); assertTrue(res.contains("a")); assertTrue(res.contains("b")); assertTrue(res.contains(",")); } public void testStringParserEscapedEscapedChar() { AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(','); Set res = p.parse("a,b,\\\\"); assertEquals(3, res.size()); assertTrue(res.contains("a")); assertTrue(res.contains("b")); assertTrue(res.contains("\\")); } public static final String TEST1 = "public class Foo {" + PMD.EOL + " private void bar() {" + PMD.EOL + " buz(\"Howdy\");" + PMD.EOL + " buz(\"Howdy\");" + PMD.EOL + " buz(\"Howdy\");" + PMD.EOL + " buz(\"Howdy\");" + PMD.EOL + " }" + PMD.EOL + "}"; public static final String TEST2 = "public class Foo {" + PMD.EOL + " private void bar() {" + PMD.EOL + " buz(2);" + PMD.EOL + " }" + PMD.EOL + "}"; public static final String TEST3 = "public class Foo {" + PMD.EOL + " String[] FOO = {\"foo\", \"foo\", \"foo\", \"foo\", \"foo\", \"foo\", \"foo\", \"foo\", \"foo\"};" + PMD.EOL + "}";}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -