1*f0340d8eSSorin Bascapackage foo.bar; 2*f0340d8eSSorin Basca 3*f0340d8eSSorin Bascaimport java.lang.annotation.*; 4*f0340d8eSSorin Bascaimport org.junit.*; 5*f0340d8eSSorin Basca 6*f0340d8eSSorin Basca@Target(ElementType.TYPE) 7*f0340d8eSSorin Basca@Retention(RetentionPolicy.RUNTIME) 8*f0340d8eSSorin Bascapublic @interface MyAnnotation { 9*f0340d8eSSorin Basca} 10*f0340d8eSSorin Basca 11*f0340d8eSSorin Bascapublic @interface MyAnnotation2 { 12*f0340d8eSSorin Basca} 13*f0340d8eSSorin Basca 14*f0340d8eSSorin Bascapublic @interface MyAnnotationWithSingleValue { 15*f0340d8eSSorin Basca int value(); 16*f0340d8eSSorin Basca} 17*f0340d8eSSorin Basca 18*f0340d8eSSorin Bascapublic @interface MyAnnotationWithElements { 19*f0340d8eSSorin Basca int num(); 20*f0340d8eSSorin Basca String str(); 21*f0340d8eSSorin Basca} 22*f0340d8eSSorin Basca 23*f0340d8eSSorin Basca@MyAnnotation 24*f0340d8eSSorin Bascaclass CA { 25*f0340d8eSSorin Basca @Override 26*f0340d8eSSorin Basca public boolean equals(Object o) { return true; } 27*f0340d8eSSorin Basca 28*f0340d8eSSorin Basca @Before 29*f0340d8eSSorin Basca public void setUp() {} 30*f0340d8eSSorin Basca} 31*f0340d8eSSorin Basca 32*f0340d8eSSorin Basca@MyAnnotation2 33*f0340d8eSSorin Bascaclass CB extends CA { 34*f0340d8eSSorin Basca 35*f0340d8eSSorin Basca} 36*f0340d8eSSorin Basca 37*f0340d8eSSorin Basca@MyAnnotationWithSingleValue(42) 38*f0340d8eSSorin Bascaclass CC { 39*f0340d8eSSorin Basca public boolean foo(Object o) { @SuppressWarnings("unchecked") String s = (String) o; } 40*f0340d8eSSorin Basca 41*f0340d8eSSorin Basca @Ignore("lalala") @Test public void testSomething() {} 42*f0340d8eSSorin Basca} 43*f0340d8eSSorin Basca 44*f0340d8eSSorin Basca@MyAnnotationWithElements(num = 42, str = "test") 45*f0340d8eSSorin Bascaclass CD { 46*f0340d8eSSorin Basca @Test(expected = Throwable.class, timeout = 42L) public void testSomethingElse() {} 47*f0340d8eSSorin Basca} 48