1
2
3
4 package net.sourceforge.pmd.lang.java.rule.strings;
5
6 import static org.junit.Assert.assertEquals;
7 import static org.junit.Assert.assertTrue;
8
9 import java.util.Set;
10
11 import org.junit.Test;
12
13 public class AvoidDuplicateLiteralsRuleTest {
14 @Test
15 public void testStringParserEmptyString() {
16 AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(',');
17 Set<String> res = p.parse("");
18 assertTrue(res.isEmpty());
19 }
20
21 @Test
22 public void testStringParserSimple() {
23 AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(',');
24 Set<String> res = p.parse("a,b,c");
25 assertEquals(3, res.size());
26 assertTrue(res.contains("a"));
27 assertTrue(res.contains("b"));
28 assertTrue(res.contains("c"));
29 }
30
31 @Test
32 public void testStringParserEscapedChar() {
33 AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(',');
34 Set<String> res = p.parse("a,b,\\,");
35 assertEquals(3, res.size());
36 assertTrue(res.contains("a"));
37 assertTrue(res.contains("b"));
38 assertTrue(res.contains(","));
39 }
40
41 @Test
42 public void testStringParserEscapedEscapedChar() {
43 AvoidDuplicateLiteralsRule.ExceptionParser p = new AvoidDuplicateLiteralsRule.ExceptionParser(',');
44 Set<String> res = p.parse("a,b,\\\\");
45 assertEquals(3, res.size());
46 assertTrue(res.contains("a"));
47 assertTrue(res.contains("b"));
48 assertTrue(res.contains("\\"));
49 }
50 }