private void testForAnns(Method method, List<Class<? extends Annotation>> classes) { Map<Class<? extends Annotation>, Annotation> map = AnnotationUtils.getMethodAnnotationMap(method, classes); assertThat(sorted(map.keySet()), equalTo(sorted(classes))); for (Class<? extends Annotation> annClass : classes) { assertThat(map.get(annClass), IsInstanceOf.instanceOf(annClass)); } }
@SuppressWarnings("unchecked") @Test public void testGetMethodAnnotations() throws Exception { Method method = ExampleService.class.getMethod("testJsonBody", DummyAccountInfo.class); testForAnns(method, Arrays.<Class<? extends Annotation>>asList(POST.class, Consumes.class)); testForAnns(method, Arrays.<Class<? extends Annotation>>asList(Path.class)); testForAnns(method, Arrays.<Class<? extends Annotation>>asList()); List<Class<? extends Annotation>> classes = Arrays.asList(POST.class, GET.class, DELETE.class, PUT.class, HEAD.class); Map<Class<? extends Annotation>, Annotation> map = AnnotationUtils.getMethodAnnotationMap(method, classes); assertThat( map.keySet(), equalTo(sorted(Arrays.<Class<? extends Annotation>>asList(POST.class)))); assertThat(map.get(POST.class), IsInstanceOf.instanceOf(POST.class)); }