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.naming;
21
22 import static com.puppycrawl.tools.checkstyle.checks.naming.AbstractClassNameCheck.MSG_ILLEGAL_ABSTRACT_CLASS_NAME;
23
24 import org.junit.jupiter.api.Test;
25
26 import com.puppycrawl.tools.checkstyle.AbstractExamplesModuleTestSupport;
27
28 public class ClassTypeParameterNameCheckExamplesTest extends AbstractExamplesModuleTestSupport {
29
30 @Override
31 public String getPackageLocation() {
32 return "com/puppycrawl/tools/checkstyle/checks/naming/classtypeparametername";
33 }
34
35 @Test
36 public void testExample1() throws Exception {
37 final String pattern = "^[A-Z]$";
38 final String[] expected = {
39 "14:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "t", pattern),
40 "15:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "abc", pattern),
41 "16:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "LISTENER", pattern),
42 "17:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "RequestT", pattern),
43 };
44
45 verifyWithInlineConfigParser(getPath("Example1.java"), expected);
46 }
47
48 @Test
49 public void testExample2() throws Exception {
50 final String pattern = "^[A-Z]{2,}$";
51 final String[] expected = {
52 "15:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "T", pattern),
53 "16:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "t", pattern),
54 "17:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "abc", pattern),
55 "19:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "RequestT", pattern),
56 };
57
58 verifyWithInlineConfigParser(getPath("Example2.java"), expected);
59 }
60
61 @Test
62 public void testUseCase1() throws Exception {
63 final String pattern = "(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)";
64 final String[] expected = {
65 "16:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "t", pattern),
66 "17:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "abc", pattern),
67 "18:18: " + getCheckMessage(MSG_ILLEGAL_ABSTRACT_CLASS_NAME, "LISTENER", pattern),
68 };
69
70 verifyWithInlineConfigParser(getPath("UseCase1.java"), expected);
71 }
72
73 }