1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.utils;
18
19 import static org.apache.juneau.TestUtils.*;
20 import static org.junit.jupiter.api.Assertions.*;
21
22 import java.util.*;
23
24 import org.apache.juneau.*;
25 import org.apache.juneau.collections.*;
26 import org.apache.juneau.internal.*;
27 import org.junit.jupiter.api.*;
28
29 class FilteredMapTest extends TestBase {
30
31 Map<?,?> m3;
32
33
34
35
36 @Test void a01_basic() throws Exception {
37 var m = JsonMap.ofJson("{a:'1',b:'2'}");
38
39 ClassMeta<Map<String,Object>> cm = BeanContext.DEFAULT.getClassMeta(Map.class, String.class, Object.class);
40 ClassMeta<Map<String,String>> cm2 = BeanContext.DEFAULT.getClassMeta(Map.class, String.class, String.class);
41
42 var m2 = new FilteredMap<>(cm, m, new String[]{"a"});
43
44 assertBean(m2, "a", "1");
45
46 m2.entrySet().iterator().next().setValue("3");
47 assertBean(m2, "a", "3");
48
49 assertThrows(IllegalArgumentException.class, ()->new FilteredMap<>(cm2, null, new String[0]));
50 assertThrows(IllegalArgumentException.class, ()->new FilteredMap<>(cm, m, null));
51 }
52 }