1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.lang3.reflect;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertNotEquals;
21 import static org.junit.jupiter.api.Assertions.assertThrows;
22 import static org.junit.jupiter.api.Assertions.assertTrue;
23
24 import java.util.List;
25
26 import org.apache.commons.lang3.AbstractLangTest;
27 import org.junit.jupiter.api.Test;
28
29 public class TypeLiteralTest extends AbstractLangTest {
30
31 @Test
32 public void testBasic() {
33 assertTrue(TypeUtils.equals(String.class, new TypeLiteral<String>() {}.value));
34 assertTrue(TypeUtils.equals(TypeUtils.parameterize(List.class, String.class),
35 new TypeLiteral<List<String>>() {}.value));
36 }
37
38 @Test
39 public void testEquals() {
40 assertEquals(new TypeLiteral<String>() {}, new TypeLiteral<String>() {});
41 assertEquals(new TypeLiteral<List<String>>() {}, new TypeLiteral<List<String>>() {});
42 assertNotEquals(new TypeLiteral<String>() {}, new TypeLiteral<List<String>>() {});
43 }
44
45 @SuppressWarnings("rawtypes")
46 @Test
47 public void testRaw() {
48 assertThrows(NullPointerException.class, () -> new TypeLiteral() {});
49 }
50
51 @Test
52 public void testTyped() {
53 final Typed<String> stringType = new TypeLiteral<String>() {};
54 assertTrue(TypeUtils.equals(String.class, stringType.getType()));
55 final Typed<List<String>> listOfStringType = new TypeLiteral<List<String>>() {};
56 assertTrue(TypeUtils.equals(TypeUtils.parameterize(List.class, String.class), listOfStringType.getType()));
57 }
58 }