1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau;
18
19 import static org.junit.jupiter.api.Assertions.*;
20
21 import java.util.Map.*;
22
23 import org.apache.juneau.annotation.*;
24 import org.junit.jupiter.api.*;
25
26
27
28
29 class BeanMapErrors_Test extends TestBase {
30
31
32
33
34
35 @Test void beanPropertyMethodNotInBeanProperties() {
36 var bc = BeanContext.DEFAULT;
37
38 var bm = bc.newBeanMap(A1.class);
39 assertFalse(bm.containsKey("f2"));
40 assertEquals(-1, bm.get("f2"));
41 bm.put("f2", -2);
42 assertEquals(-2, bm.get("f2"));
43 assertFalse(bm.keySet().contains("f2"));
44 assertFalse(bm.entrySet().stream().map(Entry::getKey).toList().contains("f2"));
45 }
46
47 @Bean(p="f1")
48 public static class A1 {
49 public int f1;
50
51 private int f2 = -1;
52 @Beanp("f2") public int f2() { return f2; }
53 public void setF2(int v) { f2 = v; }
54 }
55
56 @Test void beanPropertyMethodNotInBeanProperties_usingConfig() {
57 var bc = BeanContext.create().applyAnnotations(B1Config.class).build();
58
59 var bm = bc.newBeanMap(B1.class);
60 assertFalse(bm.containsKey("f2"));
61 assertEquals(-1, bm.get("f2"));
62 bm.put("f2", -2);
63 assertEquals(-2, bm.get("f2"));
64 assertFalse(bm.keySet().contains("f2"));
65 assertFalse(bm.entrySet().stream().map(Entry::getKey).toList().contains("f2"));
66 }
67
68 @Bean(on="Dummy",p="dummy")
69 @Bean(on="B1", p="f1")
70 @Beanp(on="Dummy", value="dummy")
71 @Beanp(on="B1.f2", value="f2")
72 private static class B1Config {}
73
74 public static class B1 {
75 public int f1;
76
77 private int f2 = -1;
78 @Beanp("f2") public int f2() { return f2; }
79 public void setF2(int v) { f2 = v; }
80 }
81
82
83
84
85
86 @Test void beanPropertyFieldNotInBeanProperties() {
87 var bc = BeanContext.DEFAULT;
88
89 var bm = bc.newBeanMap(A2.class);
90 assertFalse(bm.containsKey("f2"));
91 assertEquals(-1, bm.get("f2"));
92 bm.put("f2", -2);
93 assertEquals(-2, bm.get("f2"));
94 assertFalse(bm.keySet().contains("f2"));
95 assertFalse(bm.entrySet().stream().map(Entry::getKey).toList().contains("f2"));
96 }
97
98 @Bean(p="f1")
99 public static class A2 {
100 public int f1;
101
102 @Beanp("f2")
103 public int f2 = -1;
104 }
105
106 @Test void beanPropertyFieldNotInBeanConfig() {
107 var bc = BeanContext.create().applyAnnotations(B2Config.class).build();
108
109 var bm = bc.newBeanMap(B2.class);
110 assertFalse(bm.containsKey("f2"));
111 assertEquals(-1, bm.get("f2"));
112 bm.put("f2", -2);
113 assertEquals(-2, bm.get("f2"));
114 assertFalse(bm.keySet().contains("f2"));
115 assertFalse(bm.entrySet().stream().map(Entry::getKey).toList().contains("f2"));
116 }
117
118 @Bean(on="Dummy",p="dummy")
119 @Bean(on="B2", p="f1")
120 @Beanp(on="Dummy", value="dummy")
121 @Beanp(on="B2.f2", value="f2")
122 private static class B2Config {}
123
124 public static class B2 {
125 public int f1;
126 public int f2 = -1;
127 }
128 }