1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.seasar.cubby.spi.beans.impl;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertFalse;
21 import static org.junit.Assert.assertTrue;
22 import static org.junit.Assert.fail;
23
24 import org.junit.Test;
25 import org.seasar.cubby.spi.BeanDescProvider;
26 import org.seasar.cubby.spi.beans.Attribute;
27 import org.seasar.cubby.spi.beans.BeanDesc;
28 import org.seasar.cubby.spi.beans.IllegalAttributeException;
29
30 public class DefaultBeanDescProviderPropertyTest {
31
32 BeanDescProvider beanDescProvider = new DefaultBeanDescProvider();
33
34 @Test
35 public void invalidProperty() throws Exception {
36 BeanDesc beanDesc = beanDescProvider.getBeanDesc(Bean.class);
37 assertTrue(beanDesc.hasPropertyAttribute("aaa"));
38 assertTrue(beanDesc.hasPropertyAttribute("bbb"));
39 assertTrue(beanDesc.hasFieldAttribute("aaa"));
40 assertTrue(beanDesc.hasFieldAttribute("bbb"));
41 Attribute aaa = beanDesc.getPropertyAttribute("aaa");
42 assertTrue(aaa.isReadable());
43 assertTrue(aaa.isWritable());
44 Attribute bbb = beanDesc.getPropertyAttribute("bbb");
45 assertTrue(bbb.isReadable());
46 assertFalse(bbb.isWritable());
47
48 Bean bean = new Bean();
49
50 assertEquals("abc", aaa.getValue(bean));
51 aaa.setValue(bean, "abcd");
52 assertEquals("abcd", aaa.getValue(bean));
53
54 assertEquals("123", bbb.getValue(bean));
55 try {
56 bbb.setValue(bean, "1234");
57 fail();
58 } catch (IllegalAttributeException e) {
59 }
60 assertEquals("123", bbb.getValue(bean));
61 }
62
63
64
65
66 public static class Bean {
67
68 private String aaa = "abc";
69
70 private String bbb = "123";
71
72 public String getAaa() {
73 return aaa;
74 }
75
76 public void setAaa(String aaa) {
77 this.aaa = aaa;
78 }
79
80 public String getBbb() {
81 return bbb;
82 }
83 }
84
85 }