1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.a.rttests;
18
19 import static org.apache.juneau.TestUtils.*;
20 import java.util.*;
21
22 import org.apache.juneau.*;
23 import org.apache.juneau.collections.*;
24 import org.apache.juneau.internal.*;
25 import org.junit.jupiter.params.*;
26 import org.junit.jupiter.params.provider.*;
27
28
29
30
31
32 class JsonMaps_RoundTripTest extends RoundTripTest_Base {
33
34
35
36
37
38 @ParameterizedTest
39 @MethodSource("testers")
40 void a01_basic(RoundTrip_Tester t) throws Exception {
41 var x1 = new A(JsonMap.ofJson("{f1:'a',f2:2}"));
42 x1 = t.roundTrip(x1, A.class);
43 assertBean(x1, "f1,f2", "a,2");
44
45 var x2 = new A[]{x1};
46 x2 = t.roundTrip(x2, A[].class);
47 assertBean(x2, "length,#{f1,f2}", "1,[{a,2}]");
48
49 var x3 = alist(new A(JsonMap.ofJson("{f1:'a',f2:2}")));
50 x3 = t.roundTrip(x3, List.class, A.class);
51 assertBean(x3, "size,0{f1,f2}", "1,{a,2}");
52
53 var x4 = CollectionUtils.map("a",new A(JsonMap.ofJson("{f1:'a',f2:2}")));
54 x4 = t.roundTrip(x4, Map.class, String.class, A.class);
55 assertMap(x4, "size,a{f1,f2}", "1,{a,2}");
56 }
57
58 public static class A {
59 private String f1;
60 private int f2;
61 public A(JsonMap m) {
62 this.f1 = m.getString("f1");
63 this.f2 = m.getInt("f2");
64 }
65 public JsonMap swap(BeanSession session) {
66 return JsonMap.of("f1",f1,"f2",f2);
67 }
68 }
69 }