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