1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.rest.annotation;
18
19 import static org.apache.juneau.TestUtils.*;
20 import static org.junit.jupiter.api.Assertions.*;
21
22 import org.apache.juneau.*;
23 import org.junit.jupiter.api.*;
24
25 class RestPostInitAnnotation_Test extends TestBase {
26
27 private static final String CNAME = RestPostInitAnnotation_Test.class.getName();
28
29
30
31
32
33 RestPostInit a1 = RestPostInitAnnotation.create()
34 .description("a")
35 .on("b")
36 .childFirst()
37 .build();
38
39 RestPostInit a2 = RestPostInitAnnotation.create()
40 .description("a")
41 .on("b")
42 .childFirst()
43 .build();
44
45 @Test void a01_basic() {
46 assertBean(a1, "childFirst,description,on", "true,[a],[b]");
47 }
48
49 @Test void a02_testEquivalency() {
50 assertEquals(a2, a1);
51 assertNotEqualsAny(a1.hashCode(), 0, -1);
52 assertEquals(a1.hashCode(), a2.hashCode());
53 }
54
55
56
57
58
59 @Test void b01_testEquivalencyInPropertyStores() {
60 var bc1 = BeanContext.create().annotations(a1).build();
61 var bc2 = BeanContext.create().annotations(a2).build();
62 assertSame(bc1, bc2);
63 }
64
65
66
67
68
69 public static class C1 {
70 public int f1;
71 public void m1() {}
72 }
73 public static class C2 {
74 public int f2;
75 public void m2() {}
76 }
77
78 @Test void c01_otherMethods() throws Exception {
79 var c4 = RestPostInitAnnotation.create().on(C1.class.getMethod("m1")).on(C2.class.getMethod("m2")).build();
80
81 assertBean(c4, "on", "["+CNAME+"$C1.m1(),"+CNAME+"$C2.m2()]");
82 }
83
84
85
86
87
88 @RestPostInit(
89 childFirst=true,
90 description={ "a" },
91 on="b"
92 )
93 public static class D1 {}
94 RestPostInit d1 = D1.class.getAnnotationsByType(RestPostInit.class)[0];
95
96 @RestPostInit(
97 childFirst=true,
98 description={ "a" },
99 on="b"
100 )
101 public static class D2 {}
102 RestPostInit d2 = D2.class.getAnnotationsByType(RestPostInit.class)[0];
103
104 @Test void d01_comparisonWithDeclarativeAnnotations() {
105 assertEqualsAll(a1, d1, d2);
106 assertNotEqualsAny(a1.hashCode(), 0, -1);
107 assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
108 }
109 }