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 DefaultBeanDescProviderFieldTest {
31
32 BeanDescProvider beanDescProvider = new DefaultBeanDescProvider();
33
34 @Test
35 public void invalidProperty() throws Exception {
36 BeanDesc beanDesc = beanDescProvider.getBeanDesc(Bean.class);
37 assertFalse(beanDesc.hasPropertyAttribute("aaa"));
38 assertFalse(beanDesc.hasPropertyAttribute("bbb"));
39 assertTrue(beanDesc.hasFieldAttribute("aaa"));
40 assertTrue(beanDesc.hasFieldAttribute("bbb"));
41 Attribute aaa = beanDesc.getFieldAttribute("aaa");
42 assertTrue(aaa.isReadable());
43 assertTrue(aaa.isWritable());
44 Attribute bbb = beanDesc.getFieldAttribute("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 @SuppressWarnings("unused")
68 private String aaa = "abc";
69
70 @SuppressWarnings("unused")
71 private final String bbb = "123";
72 }
73
74 }