1
+ package com .blankj .utilcode .util ;
2
+
3
+ import com .blankj .utilcode .util .reflect .PrivateConstructors ;
4
+
5
+ import org .junit .Rule ;
6
+ import org .junit .Test ;
7
+ import org .junit .rules .ExpectedException ;
8
+
9
+ import static org .junit .Assert .assertEquals ;
10
+ import static org .junit .Assert .assertNull ;
11
+
12
+ /**
13
+ * <pre>
14
+ * author: Blankj
15
+ * blog : http://blankj.com
16
+ * time : 2017/12/15
17
+ * desc :
18
+ * </pre>
19
+ */
20
+ public class ReflectUtilsTest {
21
+
22
+ @ Rule
23
+ public final ExpectedException expectedException = ExpectedException .none ();
24
+
25
+ @ Test
26
+ public void on () throws Exception {
27
+ assertEquals (ReflectUtils .reflect (Object .class ), ReflectUtils .reflect ("java.lang.Object" , ClassLoader .getSystemClassLoader ()));
28
+ assertEquals (ReflectUtils .reflect (Object .class ), ReflectUtils .reflect ("java.lang.Object" ));
29
+ assertEquals (ReflectUtils .reflect (String .class ).get (), ReflectUtils .reflect ("java.lang.String" ).get ());
30
+ assertEquals (Object .class , ReflectUtils .reflect (Object .class ).get ());
31
+ assertEquals ("abc" , ReflectUtils .reflect ((Object ) "abc" ).get ());
32
+ assertEquals (1 , (int ) (Integer ) ReflectUtils .reflect (1 ).get ());
33
+ }
34
+
35
+ @ Test
36
+ public void create () throws Exception {
37
+ assertEquals ("" , ReflectUtils .reflect (String .class ).create ().get ());
38
+ assertEquals ("abc" , ReflectUtils .reflect (String .class ).create ("abc" ).get ());
39
+ assertEquals ("abc" , ReflectUtils .reflect (String .class ).create ("abc" .getBytes ()).get ());
40
+ assertEquals ("abc" , ReflectUtils .reflect (String .class ).create ("abc" .toCharArray ()).get ());
41
+ assertEquals ("b" , ReflectUtils .reflect (String .class ).create ("abc" .toCharArray (), 1 , 1 ).get ());
42
+
43
+ /*private*/
44
+ assertNull (ReflectUtils .reflect (PrivateConstructors .class ).create ().field ("string" ).get ());
45
+ assertEquals ("abc" , ReflectUtils .reflect (PrivateConstructors .class ).create ("abc" ).field ("string" ).get ());
46
+ }
47
+ }
0 commit comments