1
1
/*
2
- * Copyright 2002-2024 the original author or authors.
2
+ * Copyright 2002-2025 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
@@ -103,6 +103,27 @@ void getPropertyValueAutoGrow3dArray() {
103
103
assertThat (bean .getThreeDimensionalArray ()[1 ][2 ][3 ]).isInstanceOf (Bean .class );
104
104
}
105
105
106
+ @ Test
107
+ void getPropertyValueAutoGrow3dArrayList () {
108
+ assertThat (wrapper .getPropertyValue ("threeDimensionalArrayList[1][2][3][4]" )).isNotNull ();
109
+ assertThat (bean .getThreeDimensionalArrayList ()).hasSize (2 );
110
+ assertThat (bean .getThreeDimensionalArrayList ().get (1 )).hasNumberOfRows (3 );
111
+ assertThat (bean .getThreeDimensionalArrayList ().get (1 )[2 ]).hasNumberOfRows (4 );
112
+ assertThat (bean .getThreeDimensionalArrayList ().get (1 )[2 ][3 ]).hasSize (5 );
113
+ assertThat (bean .getThreeDimensionalArrayList ().get (1 )[2 ][3 ][4 ]).isInstanceOf (Bean .class );
114
+ }
115
+
116
+ @ Test
117
+ void getPropertyValueAutoGrow3dArrayListForDefault3dArray () {
118
+ assertThat (wrapper .getPropertyValue ("threeDimensionalArrayList[0]" )).isNotNull ();
119
+ assertThat (bean .getThreeDimensionalArrayList ()).hasSize (1 );
120
+
121
+ // Default 3-dimensional array should be [[[]]]
122
+ assertThat (bean .getThreeDimensionalArrayList ().get (0 )).hasNumberOfRows (1 );
123
+ assertThat (bean .getThreeDimensionalArrayList ().get (0 )[0 ]).hasNumberOfRows (1 );
124
+ assertThat (bean .getThreeDimensionalArrayList ().get (0 )[0 ][0 ]).isEmpty ();
125
+ }
126
+
106
127
@ Test
107
128
void setPropertyValueAutoGrow2dArray () {
108
129
Bean newBean = new Bean ();
@@ -123,6 +144,16 @@ void setPropertyValueAutoGrow3dArray() {
123
144
.extracting (Bean ::getProp ).isEqualTo ("enigma" );
124
145
}
125
146
147
+ @ Test
148
+ void setPropertyValueAutoGrow3dArrayList () {
149
+ Bean newBean = new Bean ();
150
+ newBean .setProp ("enigma" );
151
+ wrapper .setPropertyValue ("threeDimensionalArrayList[0][1][2][3]" , newBean );
152
+ assertThat (bean .getThreeDimensionalArrayList ().get (0 )[1 ][2 ][3 ])
153
+ .isInstanceOf (Bean .class )
154
+ .extracting (Bean ::getProp ).isEqualTo ("enigma" );
155
+ }
156
+
126
157
@ Test
127
158
void getPropertyValueAutoGrowList () {
128
159
assertThat (wrapper .getPropertyValue ("list[0]" )).isNotNull ();
@@ -215,6 +246,8 @@ public static class Bean {
215
246
216
247
private Bean [][][] threeDimensionalArray ;
217
248
249
+ private List <Bean [][][]> threeDimensionalArrayList ;
250
+
218
251
private List <Bean > list ;
219
252
220
253
private List <List <Bean >> nestedList ;
@@ -269,6 +302,14 @@ public void setThreeDimensionalArray(Bean[][][] threeDimensionalArray) {
269
302
this .threeDimensionalArray = threeDimensionalArray ;
270
303
}
271
304
305
+ public List <Bean [][][]> getThreeDimensionalArrayList () {
306
+ return threeDimensionalArrayList ;
307
+ }
308
+
309
+ public void setThreeDimensionalArrayList (List <Bean [][][]> threeDimensionalArrayList ) {
310
+ this .threeDimensionalArrayList = threeDimensionalArrayList ;
311
+ }
312
+
272
313
public List <Bean > getList () {
273
314
return list ;
274
315
}
0 commit comments