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.sizes;
21
22 import static com.google.common.truth.Truth.assertWithMessage;
23 import static com.puppycrawl.tools.checkstyle.checks.sizes.LambdaBodyLengthCheck.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 import com.puppycrawl.tools.checkstyle.utils.CommonUtil;
30
31 public class LambdaBodyLengthCheckTest extends AbstractModuleTestSupport {
32
33 @Override
34 protected String getPackageLocation() {
35 return "com/puppycrawl/tools/checkstyle/checks/sizes/lambdabodylength";
36 }
37
38 @Test
39 public void testGetRequiredTokens() {
40 final LambdaBodyLengthCheck checkObj = new LambdaBodyLengthCheck();
41 final int[] expected = {TokenTypes.LAMBDA};
42 assertWithMessage("Default required tokens are invalid")
43 .that(checkObj.getRequiredTokens())
44 .isEqualTo(expected);
45 }
46
47 @Test
48 public void testGetAcceptableTokens() {
49 final LambdaBodyLengthCheck lambdaBodyLengthCheckObj =
50 new LambdaBodyLengthCheck();
51 final int[] actual = lambdaBodyLengthCheckObj.getAcceptableTokens();
52 final int[] expected = {TokenTypes.LAMBDA};
53
54 assertWithMessage("Default acceptable tokens are invalid")
55 .that(actual)
56 .isEqualTo(expected);
57 }
58
59 @Test
60 public void testDefault() throws Exception {
61 final String[] expected = {
62 "16:27: " + getCheckMessage(MSG_KEY, 12, 10),
63 "28:27: " + getCheckMessage(MSG_KEY, 12, 10),
64 "41:27: " + getCheckMessage(MSG_KEY, 11, 10),
65 "54:35: " + getCheckMessage(MSG_KEY, 13, 10),
66 "57:15: " + getCheckMessage(MSG_KEY, 11, 10),
67 "68:34: " + getCheckMessage(MSG_KEY, 11, 10),
68 };
69 verifyWithInlineConfigParser(
70 getPath("InputLambdaBodyLengthDefault.java"), expected);
71 }
72
73 @Test
74 public void testDefaultSwitchExpressions() throws Exception {
75 final String[] expected = CommonUtil.EMPTY_STRING_ARRAY;
76 verifyWithInlineConfigParser(
77 getNonCompilablePath("InputLambdaBodyLengthSwitchExps.java"), expected);
78 }
79
80 @Test
81 public void testMaxLimitIsDifferent() throws Exception {
82 final String[] expected = {
83 "16:27: " + getCheckMessage(MSG_KEY, 4, 3),
84 "20:27: " + getCheckMessage(MSG_KEY, 4, 3),
85 "30:35: " + getCheckMessage(MSG_KEY, 5, 3),
86 "36:34: " + getCheckMessage(MSG_KEY, 4, 3),
87 };
88 verifyWithInlineConfigParser(
89 getPath("InputLambdaBodyLengthMax.java"), expected);
90 }
91
92 }