package com.arondor.common.reflection.parser.java; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.junit.Test; import com.arondor.common.reflection.api.catalog.AccessibleClassCatalog; import com.arondor.common.reflection.catalog.SimpleAccessibleClassCatalog; import com.arondor.common.reflection.model.java.AccessibleClass; import com.arondor.common.reflection.parser.java.testing.ClassA; import com.arondor.common.reflection.parser.java.testing.InterfaceA; public class TestJavaClassPathAccessibleClassProvider { @Test public void testClassProvider() throws ClassNotFoundException { JavaClassPathAccessibleClassProvider provider = new JavaClassPathAccessibleClassProvider(); List<String> packagePrefixes = new ArrayList<String>(); packagePrefixes.add(ClassA.class.getPackage().getName()); provider.setPackagePrefixes(packagePrefixes); AccessibleClassCatalog catalog = new SimpleAccessibleClassCatalog(); provider.provideClasses(catalog); AccessibleClass accessibleClass = catalog.getAccessibleClass(ClassA.class.getName()); assertNotNull(accessibleClass); Collection<AccessibleClass> inheritedCollection = catalog.getImplementingAccessibleClasses(InterfaceA.class .getName()); assertNotNull(inheritedCollection); assertEquals(1, inheritedCollection.size()); AccessibleClass inherited1 = inheritedCollection.iterator().next(); assertEquals(ClassA.class.getName(), inherited1.getName()); } }