package net.bytebuddy.pool; import net.bytebuddy.description.annotation.AnnotationDescription; import net.bytebuddy.description.enumeration.AbstractEnumerationDescriptionTest; import net.bytebuddy.description.enumeration.EnumerationDescription; import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.description.type.TypeDescription; import org.junit.After; import org.junit.Before; public class TypePoolDefaultEnumerationDescriptionTest extends AbstractEnumerationDescriptionTest { private TypePool typePool; @Before public void setUp() throws Exception { super.setUp(); typePool = TypePool.Default.ofClassPath(); } @After public void tearDown() throws Exception { typePool.clear(); } @Override protected EnumerationDescription describe(Enum<?> enumeration, Class<?> carrierType, MethodDescription.InDefinedShape annotationMethod) { TypeDescription typeDescription = typePool.describe(carrierType.getName()).resolve(); for (AnnotationDescription annotationDescription : typeDescription.getDeclaredAnnotations()) { if (annotationDescription.getAnnotationType().equals(annotationDescription.getAnnotationType())) { return annotationDescription.getValue(annotationMethod).resolve(EnumerationDescription.class); } } throw new AssertionError(); } }