forked from examplehub/Java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGetClassExampleTest.java
More file actions
104 lines (92 loc) · 2.97 KB
/
GetClassExampleTest.java
File metadata and controls
104 lines (92 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package com.examplehub.basics.reflection;
import static org.junit.jupiter.api.Assertions.*;
import java.time.Month;
import org.junit.jupiter.api.Test;
class GetClassExampleTest {
@Test
void testVoid() {
Class<Void> c = void.class;
assertEquals("void", c.getName());
assertEquals("void", c.getSimpleName());
assertEquals("java.lang", c.getPackageName());
assertEquals("void", c.toString());
}
@Test
void testGetClass() throws ClassNotFoundException {
Class<String> cls = String.class;
Class<?> cls2 = "hello".getClass();
Class<?> cls3 = Class.forName("java.lang.String");
assertSame(cls, cls2);
assertSame(cls, cls3);
}
@Test
void testGetClassByTYPE() {
Class<?> c = Integer.TYPE;
assertEquals("int", c.getName());
assertEquals("int", c.getSimpleName());
assertEquals("java.lang", c.getPackageName());
assertEquals("int", c.toString());
assertTrue(c.isPrimitive());
}
@Test
void testGetClassByClassloader() throws ClassNotFoundException {
ClassLoader classLoader = GetClassExample.class.getClassLoader();
Class<?> cls = classLoader.loadClass("java.lang.String");
assertEquals("java.lang.String", cls.getName());
}
@Test
void testStringClass() {
Class<?> cls = "".getClass();
assertEquals("java.lang.String", cls.getName());
assertEquals("String", cls.getSimpleName());
assertEquals("java.lang", cls.getPackageName());
assertFalse(cls.isInterface());
assertFalse(cls.isEnum());
assertFalse(cls.isArray());
assertFalse(cls.isPrimitive());
}
@Test
void testInterface() {
Class<Runnable> cls = Runnable.class;
assertEquals("java.lang.Runnable", cls.getName());
assertEquals("Runnable", cls.getSimpleName());
assertEquals("java.lang", cls.getPackageName());
assertTrue(cls.isInterface());
assertFalse(cls.isEnum());
assertFalse(cls.isArray());
assertFalse(cls.isPrimitive());
}
@Test
void testMonth() {
Class<Month> cls = java.time.Month.class;
assertEquals("java.time.Month", cls.getName());
assertEquals("Month", cls.getSimpleName());
assertEquals("java.time", cls.getPackageName());
assertFalse(cls.isInterface());
assertTrue(cls.isEnum());
assertFalse(cls.isArray());
assertFalse(cls.isPrimitive());
}
@Test
void testStringArray() {
Class<String[]> cls = String[].class;
assertEquals("[Ljava.lang.String;", cls.getName());
assertEquals("String[]", cls.getSimpleName());
assertEquals("java.lang", cls.getPackageName());
assertFalse(cls.isInterface());
assertFalse(cls.isEnum());
assertTrue(cls.isArray());
assertFalse(cls.isPrimitive());
}
@Test
void testPrimitive() {
Class<?> cls = int.class;
assertEquals("int", cls.getName());
assertEquals("int", cls.getSimpleName());
assertEquals("java.lang", cls.getPackageName());
assertFalse(cls.isInterface());
assertFalse(cls.isEnum());
assertFalse(cls.isArray());
assertTrue(cls.isPrimitive());
}
}