package org.simpleframework.xml.convert; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import junit.framework.TestCase; public class ScannerBuilderTest extends TestCase { @Retention(RetentionPolicy.RUNTIME) public static @interface One{} @Retention(RetentionPolicy.RUNTIME) public static @interface Two{} @Retention(RetentionPolicy.RUNTIME) public static @interface Three{} @Retention(RetentionPolicy.RUNTIME) public static @interface Four{} @One @Two public class Base {} @Three @Four public class Extended extends Base{} public void testScannerBuilder() throws Exception { ScannerBuilder builder = new ScannerBuilder(); Scanner scanner = builder.build(Extended.class); assertNull(scanner.scan(Convert.class)); assertNotNull(scanner.scan(One.class)); assertNotNull(scanner.scan(Two.class)); assertNotNull(scanner.scan(Three.class)); assertNotNull(scanner.scan(Four.class)); assertEquals(scanner.scan(Convert.class), null); assertTrue(One.class.isAssignableFrom(scanner.scan(One.class).getClass())); assertTrue(Two.class.isAssignableFrom(scanner.scan(Two.class).getClass())); assertTrue(Three.class.isAssignableFrom(scanner.scan(Three.class).getClass())); assertTrue(Four.class.isAssignableFrom(scanner.scan(Four.class).getClass())); } }