1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.puppycrawl.tools.checkstyle.checks.coding;
21
22 import static com.google.common.truth.Truth.assertWithMessage;
23 import static com.puppycrawl.tools.checkstyle.checks.coding.PatternVariableAssignmentCheck.MSG_KEY;
24
25 import org.junit.jupiter.api.Test;
26
27 import com.puppycrawl.tools.checkstyle.AbstractModuleTestSupport;
28 import com.puppycrawl.tools.checkstyle.api.TokenTypes;
29
30 public class PatternVariableAssignmentCheckTest extends AbstractModuleTestSupport {
31
32 @Override
33 protected String getPackageLocation() {
34 return "com/puppycrawl/tools/checkstyle/checks/coding/patternvariableassignment";
35 }
36
37 @Test
38 public void testGetAcceptableTokens() {
39 final PatternVariableAssignmentCheck patternVariableAssignmentCheckObj =
40 new PatternVariableAssignmentCheck();
41 final int[] actual = patternVariableAssignmentCheckObj.getAcceptableTokens();
42 final int[] expected = {
43 TokenTypes.LITERAL_INSTANCEOF,
44 };
45 assertWithMessage("Default acceptable tokens are invalid")
46 .that(actual)
47 .isEqualTo(expected);
48 }
49
50 @Test
51 public void testPatternVariableAssignmentCheck() throws Exception {
52
53 final String[] expected = {
54 "27:13: " + getCheckMessage(MSG_KEY, "s"),
55 "31:13: " + getCheckMessage(MSG_KEY, "x"),
56 "33:13: " + getCheckMessage(MSG_KEY, "y"),
57 "37:13: " + getCheckMessage(MSG_KEY, "c"),
58 "41:13: " + getCheckMessage(MSG_KEY, "c"),
59 "45:13: " + getCheckMessage(MSG_KEY, "c"),
60 "50:21: " + getCheckMessage(MSG_KEY, "d"),
61 "67:14: " + getCheckMessage(MSG_KEY, "f"),
62 };
63
64 verifyWithInlineXmlConfig(getNonCompilablePath(
65 "InputPatternVariableAssignmentCheck1.java"), expected);
66 }
67
68 @Test
69 public void testPatternVariableAssignmentCheck2() throws Exception {
70
71 final String[] expected = {
72 "56:17: " + getCheckMessage(MSG_KEY, "parent"),
73 };
74
75 verifyWithInlineXmlConfig(getNonCompilablePath(
76 "InputPatternVariableAssignmentCheck2.java"), expected);
77 }
78
79 }