@ -103,6 +103,27 @@ class BeanWrapperAutoGrowingTests {
@@ -103,6 +103,27 @@ class BeanWrapperAutoGrowingTests {
assertThat ( bean . getThreeDimensionalArray ( ) [ 1 ] [ 2 ] [ 3 ] ) . isInstanceOf ( Bean . class ) ;
}
@Test
void getPropertyValueAutoGrow3dArrayList ( ) {
assertThat ( wrapper . getPropertyValue ( "threeDimensionalArrayList[1][2][3][4]" ) ) . isNotNull ( ) ;
assertThat ( bean . getThreeDimensionalArrayList ( ) ) . hasSize ( 2 ) ;
assertThat ( bean . getThreeDimensionalArrayList ( ) . get ( 1 ) ) . hasNumberOfRows ( 3 ) ;
assertThat ( bean . getThreeDimensionalArrayList ( ) . get ( 1 ) [ 2 ] ) . hasNumberOfRows ( 4 ) ;
assertThat ( bean . getThreeDimensionalArrayList ( ) . get ( 1 ) [ 2 ] [ 3 ] ) . hasSize ( 5 ) ;
assertThat ( bean . getThreeDimensionalArrayList ( ) . get ( 1 ) [ 2 ] [ 3 ] [ 4 ] ) . isInstanceOf ( Bean . class ) ;
}
@Test
void getPropertyValueAutoGrow3dArrayListForDefault3dArray ( ) {
assertThat ( wrapper . getPropertyValue ( "threeDimensionalArrayList[0]" ) ) . isNotNull ( ) ;
assertThat ( bean . getThreeDimensionalArrayList ( ) ) . hasSize ( 1 ) ;
// Default 3-dimensional array should be [[[]]]
assertThat ( bean . getThreeDimensionalArrayList ( ) . get ( 0 ) ) . hasNumberOfRows ( 1 ) ;
assertThat ( bean . getThreeDimensionalArrayList ( ) . get ( 0 ) [ 0 ] ) . hasNumberOfRows ( 1 ) ;
assertThat ( bean . getThreeDimensionalArrayList ( ) . get ( 0 ) [ 0 ] [ 0 ] ) . isEmpty ( ) ;
}
@Test
void setPropertyValueAutoGrow2dArray ( ) {
Bean newBean = new Bean ( ) ;
@ -123,6 +144,16 @@ class BeanWrapperAutoGrowingTests {
@@ -123,6 +144,16 @@ class BeanWrapperAutoGrowingTests {
. extracting ( Bean : : getProp ) . isEqualTo ( "enigma" ) ;
}
@Test
void setPropertyValueAutoGrow3dArrayList ( ) {
Bean newBean = new Bean ( ) ;
newBean . setProp ( "enigma" ) ;
wrapper . setPropertyValue ( "threeDimensionalArrayList[0][1][2][3]" , newBean ) ;
assertThat ( bean . getThreeDimensionalArrayList ( ) . get ( 0 ) [ 1 ] [ 2 ] [ 3 ] )
. isInstanceOf ( Bean . class )
. extracting ( Bean : : getProp ) . isEqualTo ( "enigma" ) ;
}
@Test
void getPropertyValueAutoGrowList ( ) {
assertThat ( wrapper . getPropertyValue ( "list[0]" ) ) . isNotNull ( ) ;
@ -215,6 +246,8 @@ class BeanWrapperAutoGrowingTests {
@@ -215,6 +246,8 @@ class BeanWrapperAutoGrowingTests {
private Bean [ ] [ ] [ ] threeDimensionalArray ;
private List < Bean [ ] [ ] [ ] > threeDimensionalArrayList ;
private List < Bean > list ;
private List < List < Bean > > nestedList ;
@ -269,6 +302,14 @@ class BeanWrapperAutoGrowingTests {
@@ -269,6 +302,14 @@ class BeanWrapperAutoGrowingTests {
this . threeDimensionalArray = threeDimensionalArray ;
}
public List < Bean [ ] [ ] [ ] > getThreeDimensionalArrayList ( ) {
return threeDimensionalArrayList ;
}
public void setThreeDimensionalArrayList ( List < Bean [ ] [ ] [ ] > threeDimensionalArrayList ) {
this . threeDimensionalArrayList = threeDimensionalArrayList ;
}
public List < Bean > getList ( ) {
return list ;
}