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