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.commons.utils.CollectionUtils.*;
20 import static org.apache.juneau.junit.bct.BctAssertions.*;
21 import static org.junit.jupiter.api.Assertions.*;
22
23 import java.util.*;
24
25 import org.apache.juneau.*;
26 import org.apache.juneau.collections.*;
27 import org.apache.juneau.internal.*;
28 import org.junit.jupiter.api.*;
29
30 class FilteredMapTest extends TestBase {
31
32 Map<?,?> m3;
33
34
35
36
37 @Test void a01_basic() throws Exception {
38 var m = JsonMap.ofJson("{a:'1',b:'2'}");
39
40 ClassMeta<Map<String,Object>> cm = BeanContext.DEFAULT.getClassMeta(Map.class, String.class, Object.class);
41 ClassMeta<Map<String,String>> cm2 = BeanContext.DEFAULT.getClassMeta(Map.class, String.class, String.class);
42
43 var m2 = new FilteredKeyMap<>(cm, m, a("a"));
44
45 assertBean(m2, "a", "1");
46
47 m2.entrySet().iterator().next().setValue("3");
48 assertBean(m2, "a", "3");
49
50 assertThrows(IllegalArgumentException.class, ()->new FilteredKeyMap<>(cm2, null, new String[0]));
51 assertThrows(IllegalArgumentException.class, ()->new FilteredKeyMap<>(cm, m, null));
52 }
53 }