1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.binding.support;
17
18 import java.util.HashMap;
19 import java.util.List;
20 import java.util.Map;
21
22 import org.springframework.binding.PropertyMetadataAccessStrategy;
23
24
25
26
27
28
29 public class BeanPropertyAccessStrategyTests extends AbstractPropertyAccessStrategyTests {
30
31 protected AbstractPropertyAccessStrategy createPropertyAccessStrategy(Object target) {
32 return new BeanPropertyAccessStrategy(target);
33 }
34
35
36
37
38 public void testMetaData() {
39 PropertyMetadataAccessStrategy mas = pas.getMetadataAccessStrategy();
40
41 assertPropertyMetadata(mas, "simpleProperty", String.class, true, true);
42 assertPropertyMetadata(mas, "mapProperty", Map.class, true, true);
43 assertPropertyMetadata(mas, "listProperty", List.class, true, true);
44 assertPropertyMetadata(mas, "readOnly", Object.class, true, false);
45 assertPropertyMetadata(mas, "writeOnly", Object.class, false, true);
46
47
48
49 assertPropertyMetadata(mas, "nestedProperty.simpleProperty", null, false, false);
50 final TestBean nestedProperty = new TestBean();
51 testBean.setNestedProperty(nestedProperty);
52
53 assertPropertyMetadata(mas, "nestedProperty.simpleProperty", String.class, true, true);
54
55
56 final Map map = new HashMap();
57 testBean.setMapProperty(map);
58 map.put("key", new Integer(1));
59 assertPropertyMetadata(mas, "mapProperty[key]", Integer.class, true, true);
60 }
61
62 }