1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.beanutils.bugs;
18
19 import junit.framework.Test;
20 import junit.framework.TestCase;
21 import junit.framework.TestSuite;
22
23 import org.apache.commons.beanutils.BeanUtils;
24
25
26
27
28
29 public class Jira345TestCase extends TestCase {
30
31
32
33
34
35
36 public Jira345TestCase(final String name) {
37 super(name);
38 }
39
40
41
42
43
44
45 public static void main(final String[] args) {
46 junit.textui.TestRunner.run(suite());
47 }
48
49
50
51
52
53
54 public static Test suite() {
55 return (new TestSuite(Jira345TestCase.class));
56 }
57
58
59
60
61
62
63 @Override
64 protected void setUp() throws Exception {
65 super.setUp();
66 }
67
68
69
70
71
72
73 @Override
74 protected void tearDown() throws Exception {
75 super.tearDown();
76 }
77
78
79
80
81 public void testBeanUtilsSetProperty_2DArray() throws Exception{
82 final MyBean myBean = new MyBean();
83 BeanUtils.setProperty(myBean, "matr[0][0]","Sample");
84 assertEquals("Sample", myBean.getMatr()[0][0]);
85 }
86
87
88
89
90 public void testBeanUtilsSetProperty_3DArray() throws Exception{
91 final MyBean myBean = new MyBean();
92 BeanUtils.setProperty(myBean, "matr3D[0][0][0]","Sample");
93 assertEquals("Sample", myBean.getMatr3D()[0][0][0]);
94 }
95
96
97 public static class MyBean {
98
99 private String[][] matr = new String[][]{{"1","2"},{"3","4"}};
100
101 private String[][][] matr3D = new String[][][] {
102 {{"11","12"}, {"13","14"}},
103 {{"21","22"}, {"23","24"}},
104 };
105
106 public String[][] getMatr() {
107 return matr;
108 }
109 public void setMatr(final String[][] matr) {
110 this.matr = matr;
111 }
112 public String[][][] getMatr3D() {
113 return matr3D;
114 }
115 public void setMatr3D(final String[][][] matr3D) {
116 this.matr3D = matr3D;
117 }
118 }
119 }