/* ******************************************************************* * Copyright (c) 2005 Contributors. * All rights reserved. * This program and the accompanying materials are made available * under the terms of the Eclipse Public License v1.0 * which accompanies this distribution and is available at * http://eclipse.org/legal/epl-v10.html * * Contributors: * Adrian Colyer Initial implementation * ******************************************************************/ package org.aspectj.weaver.reflect; import junit.framework.TestCase; import java.util.List; import org.aspectj.weaver.ResolvedType; import org.aspectj.weaver.UnresolvedType; import org.aspectj.weaver.World; import org.aspectj.weaver.patterns.ConcreteCflowPointcut; public class ReflectionWorldTest extends TestCase { public void testDelegateCreation() { World world = new ReflectionWorld(getClass().getClassLoader()); ResolvedType rt = world.resolve("java.lang.Object"); assertNotNull(rt); assertEquals("Ljava/lang/Object;", rt.getSignature()); } public void testArrayTypes() { IReflectionWorld world = new ReflectionWorld(getClass().getClassLoader()); String[] strArray = new String[1]; ResolvedType rt = world.resolve(strArray.getClass()); assertTrue(rt.isArray()); } public void testPrimitiveTypes() { IReflectionWorld world = new ReflectionWorld(getClass().getClassLoader()); assertEquals("int", UnresolvedType.INT, world.resolve(int.class)); assertEquals("void", UnresolvedType.VOID, world.resolve(void.class)); } static class AbstractSuperClass {} static interface InterfaceOne {} static interface InterfaceTwo {} static class ID {} static abstract class AbstractTestClass extends AbstractSuperClass implements InterfaceOne, InterfaceTwo { } static class TestType {} // static class ConcreteClass extends AbstractTestClass { static class ConcreteClass extends AbstractTestClass> { } static class Bar extends ConcreteClass {} public void testGenerics() { ReflectionWorld world = new ReflectionWorld(getClass().getClassLoader()); // world.lookupOrCreateName(UnresolvedType.forName(AbstractTestClass.class.getName())); // ResolvedType resolvedType = world.resolve(AbstractTestClass.class); JavaLangTypeToResolvedTypeConverter converter = new JavaLangTypeToResolvedTypeConverter(world); ResolvedType resolvedType2 = converter.fromType(ConcreteClass.class); } }