1 16 17 package com.google.inject; 18 19 import junit.framework.TestCase; 20 21 import java.util.List ; 22 import java.lang.reflect.Type ; 23 24 27 public class TypeLiteralTest extends TestCase { 28 29 public void testWithParameterizedTypeImpl() { 30 TypeLiteral<List <String >> a = new TypeLiteral<List <String >>() {}; 31 TypeLiteral<List <String >> b = new TypeLiteral<List <String >>( 32 new TypeWithArgument(List .class, String .class)) {}; 33 assertEquals(a, b); 34 } 35 36 public void testEquality() { 37 TypeLiteral<List <String >> t1 = new TypeLiteral<List <String >>() {}; 38 TypeLiteral<List <String >> t2 = new TypeLiteral<List <String >>() {}; 39 TypeLiteral<List <Integer >> t3 = new TypeLiteral<List <Integer >>() {}; 40 TypeLiteral<String > t4 = new TypeLiteral<String >() {}; 41 42 assertEquals(t1, t2); 43 assertEquals(t2, t1); 44 45 assertFalse(t2.equals(t3)); 46 assertFalse(t3.equals(t2)); 47 48 assertFalse(t2.equals(t4)); 49 assertFalse(t4.equals(t2)); 50 51 TypeLiteral<String > t5 = TypeLiteral.get(String .class); 52 assertEquals(t4, t5); 53 } 54 55 public void testMissingTypeParameter() { 56 try { 57 new TypeLiteral() {}; 58 fail(); 59 } catch (RuntimeException e) { } 60 } 61 62 public void testTypesInvolvingArraysForEquality() { 63 TypeLiteral<String []> stringArray = new TypeLiteral<String []>() {}; 64 assertEquals(stringArray, new TypeLiteral<String []>() {}); 65 66 TypeLiteral<List <String []>> listOfStringArray 67 = new TypeLiteral<List <String []>>() {}; 68 assertEquals(listOfStringArray, new TypeLiteral<List <String []>>() {}); 69 } 70 } 71 | Popular Tags |