1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package io.earcam.instrumental.fluent;
20
21 import static io.earcam.instrumental.fluent.Role.AUX;
22 import static io.earcam.instrumental.reflect.Methods.getMethod;
23 import static org.hamcrest.MatcherAssert.assertThat;
24 import static org.hamcrest.Matchers.is;
25 import static org.hamcrest.Matchers.not;
26 import static org.hamcrest.Matchers.nullValue;
27
28 import java.lang.reflect.Method;
29
30 import org.junit.jupiter.api.Test;
31
32 public class FluentTest {
33
34 @Fluent(role = AUX)
35 public static int apiMethod(String x)
36 {
37 return 42;
38 }
39
40
41 @Test
42 void retentionIsRuntime()
43 {
44 Method method = getMethod(FluentTest.class, "apiMethod", String.class)
45 .orElseThrow(AssertionError::new);
46
47 Fluent annotation = method.getAnnotation(Fluent.class);
48 assertThat(annotation, is(not(nullValue())));
49
50 assertThat(annotation.role(), is(AUX));
51 }
52 }