View Javadoc
1   package org.apache.commons.beanutils2;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one or more
5    * contributor license agreements.  See the NOTICE file distributed with
6    * this work for additional information regarding copyright ownership.
7    * The ASF licenses this file to You under the Apache License, Version 2.0
8    * (the "License"); you may not use this file except in compliance with
9    * the License.  You may obtain a copy of the License at
10   *
11   *     http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   */
19  
20  import static org.apache.commons.beanutils2.BeanUtils.on;
21  import static org.junit.Assert.assertFalse;
22  import static org.junit.Assert.assertTrue;
23  
24  import org.apache.commons.beanutils2.testbeans.TestBean;
25  import org.junit.Test;
26  
27  public class IsWritableTestCase
28  {
29  
30      @Test( expected = NullPointerException.class )
31      public void isWritableNull()
32          throws Exception
33      {
34          on( TestBean.class ).getProperties().isWritable( null );
35      }
36  
37      @Test( expected = NoSuchPropertyException.class )
38      public void isWritbleUnknown()
39          throws Exception
40      {
41          on( TestBean.class ).getProperties().isWritable( "unknown" );
42      }
43  
44      @Test
45      public void isWritbleIntProperty()
46          throws Exception
47      {
48          assertTrue( "isWritable returned false for a read/write int property!",
49                      on( TestBean.class ).getProperties().isWritable( "intProperty" ) );
50      }
51  
52      @Test
53      public void isWritbleIntArray()
54          throws Exception
55      {
56          assertTrue( "isWritable returned false for a read/write array property!",
57                      on( TestBean.class ).getProperties().isWritable( "intArray" ) );
58      }
59  
60      @Test
61      public void isWritableIntIndexed()
62          throws Exception
63      {
64          assertTrue( "isWritable returned false for a read/write indexed property!",
65                      on( TestBean.class ).getProperties().isWritable( "intIndexed" ) );
66      }
67  
68      @Test
69      public void isWritableMappedIntProperty()
70          throws Exception
71      {
72          assertTrue( "isWritable returned false for a read/write mapped property!",
73                      on( TestBean.class ).getProperties().isWritable( "mappedIntProperty" ) );
74      }
75  
76      @Test
77      public void isWritbleMapProperty()
78          throws Exception
79      {
80          assertTrue( "isWritable returned false for a read/write map property!",
81                      on( TestBean.class ).getProperties().isWritable( "mapProperty" ) );
82      }
83  
84      @Test
85      public void isWritableReadOnlyProperty()
86          throws Exception
87      {
88          assertFalse( "isWriteable returned true for a read only property!",
89                       on( TestBean.class ).getProperties().isWritable( "readOnlyProperty" ) );
90      }
91  
92      @Test
93      public void isWritableWriteOnlyProperty()
94          throws Exception
95      {
96          assertTrue( "isWritable returned false for a write only property!",
97                      on( TestBean.class ).getProperties().isWritable( "writeOnlyProperty" ) );
98      }
99  
100 }