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.UnnecessarySemicolonInTryWithResourcesCheck.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 public class UnnecessarySemicolonInTryWithResourcesCheckTest extends AbstractModuleTestSupport {
31
32 @Override
33 protected String getPackageLocation() {
34 return "com/puppycrawl/tools/checkstyle/checks/coding/"
35 + "unnecessarysemicolonintrywithresources";
36 }
37
38 @Test
39 public void testDefault() throws Exception {
40
41 final String[] expected = {
42 "17:42: " + getCheckMessage(MSG_SEMI),
43 "19:72: " + getCheckMessage(MSG_SEMI),
44 };
45
46 verifyWithInlineConfigParser(
47 getPath("InputUnnecessarySemicolonInTryWithResourcesDefault.java"),
48 expected);
49 }
50
51 @Test
52 public void testNoBraceAfterAllowed() throws Exception {
53 final String[] expected = {
54 "16:42: " + getCheckMessage(MSG_SEMI),
55 "19:13: " + getCheckMessage(MSG_SEMI),
56 "22:36: " + getCheckMessage(MSG_SEMI),
57 };
58
59 verifyWithInlineConfigParser(
60 getPath("InputUnnecessarySemicolonInTryWithResourcesNoBraceAfterAllowed.java"),
61 expected);
62 }
63
64 @Test
65 public void testTokensAreCorrect() {
66 final UnnecessarySemicolonInTryWithResourcesCheck check =
67 new UnnecessarySemicolonInTryWithResourcesCheck();
68 final int[] expected = {
69 TokenTypes.RESOURCE_SPECIFICATION,
70 };
71 assertWithMessage("Acceptable required tokens are invalid")
72 .that(check.getAcceptableTokens())
73 .isEqualTo(expected);
74 assertWithMessage("Default required tokens are invalid")
75 .that(check.getDefaultTokens())
76 .isEqualTo(expected);
77 assertWithMessage("Required required tokens are invalid")
78 .that(check.getRequiredTokens())
79 .isEqualTo(expected);
80 }
81 }