View Javadoc
1   ///////////////////////////////////////////////////////////////////////////////////////////////
2   // checkstyle: Checks Java source code and other text files for adherence to a set of rules.
3   // Copyright (C) 2001-2026 the original author or authors.
4   //
5   // This library is free software; you can redistribute it and/or
6   // modify it under the terms of the GNU Lesser General Public
7   // License as published by the Free Software Foundation; either
8   // version 2.1 of the License, or (at your option) any later version.
9   //
10  // This library is distributed in the hope that it will be useful,
11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  // Lesser General Public License for more details.
14  //
15  // You should have received a copy of the GNU Lesser General Public
16  // License along with this library; if not, write to the Free Software
17  // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  ///////////////////////////////////////////////////////////////////////////////////////////////
19  
20  package com.puppycrawl.tools.checkstyle.checks.coding;
21  
22  import org.junit.jupiter.api.Test;
23  
24  import com.puppycrawl.tools.checkstyle.AbstractExamplesModuleTestSupport;
25  
26  public class IllegalTypeCheckExamplesTest extends AbstractExamplesModuleTestSupport {
27  
28      @Override
29      public String getPackageLocation() {
30          return "com/puppycrawl/tools/checkstyle/checks/coding/illegaltype";
31      }
32  
33      @Test
34      public void testExample1() throws Exception {
35          final String[] expected = {
36              "16:31: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "TreeSet"),
37              "18:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
38              "20:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "LinkedHashMap"),
39              "23:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "TreeMap"),
40              "26:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.TreeSet"),
41              "29:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
42              "31:10: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
43              "35:11: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
44              "39:13: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
45          };
46  
47          verifyWithInlineConfigParser(getPath("Example1.java"), expected);
48      }
49  
50      @Test
51      public void testExample2() throws Exception {
52          final String[] expected = {
53              "21:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
54              "32:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
55              "34:10: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
56              "38:11: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
57              "42:13: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
58          };
59  
60          verifyWithInlineConfigParser(getPath("Example2.java"), expected);
61      }
62  
63      @Test
64      public void testExample3() throws Exception {
65          final String[] expected = {
66              "17:31: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "TreeSet"),
67              "19:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
68              "21:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "LinkedHashMap"),
69              "24:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "TreeMap"),
70              "27:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.TreeSet"),
71              "30:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
72              "40:13: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
73          };
74  
75          verifyWithInlineConfigParser(getPath("Example3.java"), expected);
76      }
77  
78      @Test
79      public void testExample4() throws Exception {
80          final String[] expected = {
81              "18:31: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "TreeSet"),
82              "20:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
83              "22:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "LinkedHashMap"),
84              "25:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "TreeMap"),
85              "28:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.TreeSet"),
86              "31:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
87              "33:10: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
88              "37:11: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
89              "41:13: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
90              "57:19: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "Gitter"),
91          };
92  
93          verifyWithInlineConfigParser(getPath("Example4.java"), expected);
94      }
95  
96      @Test
97      public void testExample5() throws Exception {
98          final String[] expected = {
99              "18:31: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "TreeSet"),
100             "20:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
101             "31:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
102             "33:10: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
103             "41:13: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
104         };
105 
106         verifyWithInlineConfigParser(getPath("Example5.java"), expected);
107     }
108 
109     @Test
110     public void testExample6() throws Exception {
111         final String[] expected = {
112             "44:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "Boolean"),
113             "52:25: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "Boolean"),
114             "52:56: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "Boolean"),
115             "63:28: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "Foo"),
116             "63:39: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "Boolean"),
117             "69:18: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "Foo"),
118             "69:38: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "Boolean"),
119         };
120 
121         verifyWithInlineConfigParser(getPath("Example6.java"), expected);
122     }
123 
124     @Test
125     public void testExample7() throws Exception {
126         final String[] expected = {
127             "75:10: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "Optional"),
128             "77:3: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "Optional"),
129         };
130 
131         verifyWithInlineConfigParser(getPath("Example7.java"), expected);
132     }
133 
134     @Test
135     public void testExample8() throws Exception {
136         final String[] expected = {
137             "20:31: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "TreeSet"),
138             "22:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
139             "24:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "LinkedHashMap"),
140             "27:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "TreeMap"),
141             "30:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.TreeSet"),
142             "33:21: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "java.util.HashSet"),
143             "35:10: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
144             "39:11: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
145             "43:13: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "HashMap"),
146             "78:10: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "AbstractSet"),
147         };
148 
149         verifyWithInlineConfigParser(getPath("Example8.java"), expected);
150     }
151 
152     @Test
153     public void testUseCase1() throws Exception {
154         final String[] expected = {
155             "76:5: " + getCheckMessage(IllegalTypeCheck.MSG_KEY, "var"),
156         };
157 
158         verifyWithInlineConfigParser(getPath("UseCase1.java"), expected);
159     }
160 
161 }