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.UnnecessarySemicolonInEnumerationCheck.MSG_SEMI;
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
31
32
33
34 public class UnnecessarySemicolonInEnumerationCheckTest extends AbstractModuleTestSupport {
35
36 @Override
37 public String getPackageLocation() {
38 return "com/puppycrawl/tools/checkstyle/checks/coding/"
39 + "unnecessarysemicoloninenumeration";
40 }
41
42 @Test
43 public void testDefault() throws Exception {
44
45 final String[] expected = {
46 "30:12: " + getCheckMessage(MSG_SEMI),
47 "33:13: " + getCheckMessage(MSG_SEMI),
48 "36:14: " + getCheckMessage(MSG_SEMI),
49 "39:14: " + getCheckMessage(MSG_SEMI),
50 "42:54: " + getCheckMessage(MSG_SEMI),
51 "45:15: " + getCheckMessage(MSG_SEMI),
52 "48:56: " + getCheckMessage(MSG_SEMI),
53 "52:9: " + getCheckMessage(MSG_SEMI),
54 "57:33: " + getCheckMessage(MSG_SEMI),
55 "61:9: " + getCheckMessage(MSG_SEMI),
56 "64:10: " + getCheckMessage(MSG_SEMI),
57 };
58
59 verifyWithInlineConfigParser(
60 getPath("InputUnnecessarySemicolonInEnumeration.java"), expected);
61 }
62
63 @Test
64 public void doubleSemicolon() throws Exception {
65
66 final String[] expected = {
67 "11:10: " + getCheckMessage(MSG_SEMI),
68 "11:11: " + getCheckMessage(MSG_SEMI),
69 "15:12: " + getCheckMessage(MSG_SEMI),
70 "16:9: " + getCheckMessage(MSG_SEMI),
71 "19:10: " + getCheckMessage(MSG_SEMI),
72 "19:11: " + getCheckMessage(MSG_SEMI),
73 "19:12: " + getCheckMessage(MSG_SEMI),
74 "23:9: " + getCheckMessage(MSG_SEMI),
75 "23:10: " + getCheckMessage(MSG_SEMI),
76 "27:13: " + getCheckMessage(MSG_SEMI),
77 "27:14: " + getCheckMessage(MSG_SEMI),
78 "37:6: " + getCheckMessage(MSG_SEMI),
79 };
80
81 verifyWithInlineConfigParser(
82 getPath("InputUnnecessarySemicolonInEnumeration2.java"), expected);
83 }
84
85 @Test
86 public void abstractsemicolon() throws Exception {
87
88 final String[] expected = {
89 "18:5: " + getCheckMessage(MSG_SEMI),
90 };
91
92 verifyWithInlineConfigParser(
93 getPath("InputUnnecessarySemicolonInEnumerationWithAbstractMethod.java"), expected);
94 }
95
96 @Test
97 public void testTokensNotNull() {
98 final UnnecessarySemicolonInEnumerationCheck check =
99 new UnnecessarySemicolonInEnumerationCheck();
100 final int[] expected = {
101 TokenTypes.ENUM_DEF,
102 };
103 assertWithMessage("Acceptable required tokens are invalid")
104 .that(check.getAcceptableTokens())
105 .isEqualTo(expected);
106 assertWithMessage("Default required tokens are invalid")
107 .that(check.getDefaultTokens())
108 .isEqualTo(expected);
109 assertWithMessage("Required required tokens are invalid")
110 .that(check.getRequiredTokens())
111 .isEqualTo(expected);
112 }
113
114 }