package io.vertx.test.codegen; import org.junit.Test; import java.lang.reflect.Type; import java.util.List; import java.util.Locale; import java.util.Map; import static org.junit.Assert.*; /** * @author <a href="mailto:julien@julienviet.com">Julien Viet</a> */ public class NameTest { @Test public void testPrimitive() { assertEquals("int", int.class.getName()); assertEquals("int", int.class.getCanonicalName()); assertEquals("int", int.class.getTypeName()); assertEquals("int", int.class.getSimpleName()); } @Test public void testPrimitiveArray() { assertEquals("[I", int[].class.getName()); assertEquals("int[]", int[].class.getCanonicalName()); assertEquals("int[]", int[].class.getTypeName()); assertEquals("int[]", int[].class.getSimpleName()); } @Test public void testClass() { assertEquals("java.util.Locale", Locale.class.getName()); assertEquals("java.util.Locale", Locale.class.getCanonicalName()); assertEquals("java.util.Locale", Locale.class.getTypeName()); assertEquals("Locale", Locale.class.getSimpleName()); } @Test public void testClassArray() { assertEquals("[Ljava.util.Locale;", Locale[].class.getName()); assertEquals("java.util.Locale[]", Locale[].class.getCanonicalName()); assertEquals("java.util.Locale[]", Locale[].class.getTypeName()); assertEquals("Locale[]", Locale[].class.getSimpleName()); } @Test public void testGenericClass() { assertEquals("java.util.List", List.class.getName()); assertEquals("java.util.List", List.class.getCanonicalName()); assertEquals("java.util.List", List.class.getTypeName()); assertEquals("List", List.class.getSimpleName()); } @Test public void testParameterizedType() { abstract class MapOfSomething<V> implements Map<String, V> {} Type type = MapOfSomething.class.getGenericInterfaces()[0]; assertEquals("java.util.Map<java.lang.String, V>", type.getTypeName()); } @Test public void testTypeVariable() throws Exception { abstract class Something<T> { T t; } Type type = Something.class.getDeclaredField("t").getGenericType(); assertEquals("T", type.getTypeName()); } }