1+ package com .baeldung .className ;
2+
3+ import org .junit .Test ;
4+
5+ import static org .junit .Assert .assertEquals ;
6+ import static org .junit .Assert .assertNull ;
7+
8+ public class RetrievingClassNameUnitTest {
9+
10+ // Retrieving Simple Name
11+ @ Test
12+ public void givenRetrievingClassName_whenGetSimpleName_thenRetrievingClassName () {
13+ assertEquals ("RetrievingClassName" , RetrievingClassName .class .getSimpleName ());
14+ }
15+
16+ @ Test
17+ public void givenPrimitiveInt_whenGetSimpleName_thenInt () {
18+ assertEquals ("int" , int .class .getSimpleName ());
19+ }
20+
21+ @ Test
22+ public void givenRetrievingClassNameArray_whenGetSimpleName_thenRetrievingClassNameWithBrackets () {
23+ assertEquals ("RetrievingClassName[]" , RetrievingClassName [].class .getSimpleName ());
24+ assertEquals ("RetrievingClassName[][]" , RetrievingClassName [][].class .getSimpleName ());
25+ }
26+
27+ @ Test
28+ public void givenAnonymousClass_whenGetSimpleName_thenEmptyString () {
29+ assertEquals ("" , new RetrievingClassName () {}.getClass ().getSimpleName ());
30+ }
31+
32+ // Retrieving Other Names
33+ // - Primitive Types
34+ @ Test
35+ public void givenPrimitiveInt_whenGetName_thenInt () {
36+ assertEquals ("int" , int .class .getName ());
37+ }
38+
39+ @ Test
40+ public void givenPrimitiveInt_whenGetTypeName_thenInt () {
41+ assertEquals ("int" , int .class .getTypeName ());
42+ }
43+
44+ @ Test
45+ public void givenPrimitiveInt_whenGetCanonicalName_thenInt () {
46+ assertEquals ("int" , int .class .getCanonicalName ());
47+ }
48+
49+ // - Object Types
50+ @ Test
51+ public void givenRetrievingClassName_whenGetName_thenCanonicalName () {
52+ assertEquals ("com.baeldung.className.RetrievingClassName" , RetrievingClassName .class .getName ());
53+ }
54+
55+ @ Test
56+ public void givenRetrievingClassName_whenGetTypeName_thenCanonicalName () {
57+ assertEquals ("com.baeldung.className.RetrievingClassName" , RetrievingClassName .class .getTypeName ());
58+ }
59+
60+ @ Test
61+ public void givenRetrievingClassName_whenGetCanonicalName_thenCanonicalName () {
62+ assertEquals ("com.baeldung.className.RetrievingClassName" , RetrievingClassName .class .getCanonicalName ());
63+ }
64+
65+ // - Inner Classes
66+ @ Test
67+ public void givenRetrievingClassNameInnerClass_whenGetName_thenCanonicalNameWithDollarSeparator () {
68+ assertEquals ("com.baeldung.className.RetrievingClassName$InnerClass" , RetrievingClassName .InnerClass .class .getName ());
69+ }
70+
71+ @ Test
72+ public void givenRetrievingClassNameInnerClass_whenGetTypeName_thenCanonicalNameWithDollarSeparator () {
73+ assertEquals ("com.baeldung.className.RetrievingClassName$InnerClass" , RetrievingClassName .InnerClass .class .getTypeName ());
74+ }
75+
76+ @ Test
77+ public void givenRetrievingClassNameInnerClass_whenGetCanonicalName_thenCanonicalName () {
78+ assertEquals ("com.baeldung.className.RetrievingClassName.InnerClass" , RetrievingClassName .InnerClass .class .getCanonicalName ());
79+ }
80+
81+ // - Anonymous Classes
82+ @ Test
83+ public void givenAnonymousClass_whenGetName_thenCallingClassCanonicalNameWithDollarSeparatorAndCountNumber () {
84+ // These are the second and third appearences of an anonymous class in RetrievingClassNameUnitTest, hence $2 and $3 expectations
85+ assertEquals ("com.baeldung.className.RetrievingClassNameUnitTest$2" , new RetrievingClassName () {}.getClass ().getName ());
86+ assertEquals ("com.baeldung.className.RetrievingClassNameUnitTest$3" , new RetrievingClassName () {}.getClass ().getName ());
87+ }
88+
89+ @ Test
90+ public void givenAnonymousClass_whenGetTypeName_thenCallingClassCanonicalNameWithDollarSeparatorAndCountNumber () {
91+ // These are the fourth and fifth appearences of an anonymous class in RetrievingClassNameUnitTest, hence $4 and $5 expectations
92+ assertEquals ("com.baeldung.className.RetrievingClassNameUnitTest$4" , new RetrievingClassName () {}.getClass ().getTypeName ());
93+ assertEquals ("com.baeldung.className.RetrievingClassNameUnitTest$5" , new RetrievingClassName () {}.getClass ().getTypeName ());
94+ }
95+
96+ @ Test
97+ public void givenAnonymousClass_whenGetCanonicalName_thenNull () {
98+ assertNull (new RetrievingClassName () {}.getClass ().getCanonicalName ());
99+ }
100+
101+ // - Arrays
102+ @ Test
103+ public void givenPrimitiveIntArray_whenGetName_thenOpeningBracketsAndPrimitiveIntLetter () {
104+ assertEquals ("[I" , int [].class .getName ());
105+ assertEquals ("[[I" , int [][].class .getName ());
106+ }
107+
108+ @ Test
109+ public void givenRetrievingClassNameArray_whenGetName_thenOpeningBracketsLetterLAndRetrievingClassNameGetName () {
110+ assertEquals ("[Lcom.baeldung.className.RetrievingClassName;" , RetrievingClassName [].class .getName ());
111+ assertEquals ("[[Lcom.baeldung.className.RetrievingClassName;" , RetrievingClassName [][].class .getName ());
112+ }
113+
114+ @ Test
115+ public void givenRetrievingClassNameInnerClassArray_whenGetName_thenOpeningBracketsLetterLAndRetrievingClassNameInnerClassGetName () {
116+ assertEquals ("[Lcom.baeldung.className.RetrievingClassName$InnerClass;" , RetrievingClassName .InnerClass [].class .getName ());
117+ assertEquals ("[[Lcom.baeldung.className.RetrievingClassName$InnerClass;" , RetrievingClassName .InnerClass [][].class .getName ());
118+ }
119+
120+ @ Test
121+ public void givenPrimitiveIntArray_whenGetTypeName_thenPrimitiveIntGetTypeNameWithBrackets () {
122+ assertEquals ("int[]" , int [].class .getTypeName ());
123+ assertEquals ("int[][]" , int [][].class .getTypeName ());
124+ }
125+
126+ @ Test
127+ public void givenRetrievingClassNameArray_whenGetTypeName_thenRetrievingClassNameGetTypeNameWithBrackets () {
128+ assertEquals ("com.baeldung.className.RetrievingClassName[]" , RetrievingClassName [].class .getTypeName ());
129+ assertEquals ("com.baeldung.className.RetrievingClassName[][]" , RetrievingClassName [][].class .getTypeName ());
130+ }
131+
132+ @ Test
133+ public void givenRetrievingClassNameInnerClassArray_whenGetTypeName_thenRetrievingClassNameInnerClassGetTypeNameWithBrackets () {
134+ assertEquals ("com.baeldung.className.RetrievingClassName$InnerClass[]" , RetrievingClassName .InnerClass [].class .getTypeName ());
135+ assertEquals ("com.baeldung.className.RetrievingClassName$InnerClass[][]" , RetrievingClassName .InnerClass [][].class .getTypeName ());
136+ }
137+
138+ @ Test
139+ public void givenPrimitiveIntArray_whenGetCanonicalName_thenPrimitiveIntGetCanonicalNameWithBrackets () {
140+ assertEquals ("int[]" , int [].class .getCanonicalName ());
141+ assertEquals ("int[][]" , int [][].class .getCanonicalName ());
142+ }
143+
144+ @ Test
145+ public void givenRetrievingClassNameArray_whenGetCanonicalName_thenRetrievingClassNameGetCanonicalNameWithBrackets () {
146+ assertEquals ("com.baeldung.className.RetrievingClassName[]" , RetrievingClassName [].class .getCanonicalName ());
147+ assertEquals ("com.baeldung.className.RetrievingClassName[][]" , RetrievingClassName [][].class .getCanonicalName ());
148+ }
149+
150+ @ Test
151+ public void givenRetrievingClassNameInnerClassArray_whenGetCanonicalName_thenRetrievingClassNameInnerClassGetCanonicalNameWithBrackets () {
152+ assertEquals ("com.baeldung.className.RetrievingClassName.InnerClass[]" , RetrievingClassName .InnerClass [].class .getCanonicalName ());
153+ assertEquals ("com.baeldung.className.RetrievingClassName.InnerClass[][]" , RetrievingClassName .InnerClass [][].class .getCanonicalName ());
154+ }
155+
156+ }
0 commit comments