1
1
package ch .jalu .typeresolver .array ;
2
2
3
3
import ch .jalu .typeresolver .EnumUtil ;
4
- import ch .jalu .typeresolver .array .ArraysMethodsDelegator .ArrayComponentType ;
4
+ import ch .jalu .typeresolver .array .ArrayUtils .ArrayComponentType ;
5
5
import ch .jalu .typeresolver .primitives .Primitives ;
6
6
import org .junit .jupiter .api .Nested ;
7
7
import org .junit .jupiter .api .Test ;
28
28
import static org .junit .jupiter .api .Assertions .assertThrows ;
29
29
30
30
/**
31
- * Test for {@link ArraysMethodsDelegator }.
31
+ * Test for {@link ArrayUtils }.
32
32
*/
33
- class ArraysMethodsDelegatorTest {
33
+ class ArrayUtilsTest {
34
34
35
35
/** Holds all tests for delegation methods that test the working scenarios (i.e. no exceptions). */
36
36
@ Nested
@@ -46,10 +46,10 @@ void shouldDelegateForBinarySearch(ArrayComponentType componentType) {
46
46
Object searchKey = elements .get (3 );
47
47
48
48
// when
49
- int idxOfEmpty = ArraysMethodsDelegator .binarySearch (emptyArr , searchKey );
50
- int idxOfFull = ArraysMethodsDelegator .binarySearch (sortedArr , searchKey );
51
- int idxOfPartial = ArraysMethodsDelegator .binarySearch (sortedArr , 2 , 5 , searchKey );
52
- int idxOutOfRange = ArraysMethodsDelegator .binarySearch (sortedArr , 0 , 3 , searchKey );
49
+ int idxOfEmpty = ArrayUtils .binarySearch (emptyArr , searchKey );
50
+ int idxOfFull = ArrayUtils .binarySearch (sortedArr , searchKey );
51
+ int idxOfPartial = ArrayUtils .binarySearch (sortedArr , 2 , 5 , searchKey );
52
+ int idxOutOfRange = ArrayUtils .binarySearch (sortedArr , 0 , 3 , searchKey );
53
53
54
54
// then
55
55
assertThat (idxOfEmpty , lessThan (0 ));
@@ -71,9 +71,9 @@ void shouldDelegateForCopyOf(ArrayComponentType componentType) {
71
71
Object fiveArr = createArray (componentType , ArrayType .FIVE_ITEMS , false );
72
72
73
73
// when
74
- Object emptyCopy = ArraysMethodsDelegator .copyOf (emptyArr , 0 );
75
- Object sevenArr = ArraysMethodsDelegator .copyOf (fiveArr , 7 );
76
- Object threeArr = ArraysMethodsDelegator .copyOf (emptyArr , 3 );
74
+ Object emptyCopy = ArrayUtils .copyOf (emptyArr , 0 );
75
+ Object sevenArr = ArrayUtils .copyOf (fiveArr , 7 );
76
+ Object threeArr = ArrayUtils .copyOf (emptyArr , 3 );
77
77
78
78
// then
79
79
assertThat (emptyCopy , instanceOf (emptyArr .getClass ()));
@@ -104,9 +104,9 @@ void shouldDelegateForCopyOfRange(ArrayComponentType componentType) {
104
104
Object fiveArr = createArray (componentType , ArrayType .FIVE_ITEMS , false );
105
105
106
106
// when
107
- Object emptyCopy = ArraysMethodsDelegator .copyOfRange (emptyArr , 0 , 3 );
108
- Object arr26 = ArraysMethodsDelegator .copyOfRange (fiveArr , 2 , 6 );
109
- Object arr49 = ArraysMethodsDelegator .copyOfRange (fiveArr , 4 , 9 );
107
+ Object emptyCopy = ArrayUtils .copyOfRange (emptyArr , 0 , 3 );
108
+ Object arr26 = ArrayUtils .copyOfRange (fiveArr , 2 , 6 );
109
+ Object arr49 = ArrayUtils .copyOfRange (fiveArr , 4 , 9 );
110
110
111
111
// then
112
112
List <Object > elements = createListWithItems (componentType , false );
@@ -141,9 +141,9 @@ void shouldDelegateForEqualityCheck(ArrayComponentType componentType) {
141
141
Object fiveSortedArr = createArray (componentType , ArrayType .FIVE_ITEMS , true );
142
142
143
143
// when
144
- boolean isEq1 = ArraysMethodsDelegator .equals (fiveArr , fiveArr );
145
- boolean isEq2 = ArraysMethodsDelegator .equals (fiveArr , fiveSortedArr );
146
- boolean isEq3 = ArraysMethodsDelegator .equals (emptyArr , fiveArr );
144
+ boolean isEq1 = ArrayUtils .equals (fiveArr , fiveArr );
145
+ boolean isEq2 = ArrayUtils .equals (fiveArr , fiveSortedArr );
146
+ boolean isEq3 = ArrayUtils .equals (emptyArr , fiveArr );
147
147
148
148
// then
149
149
assertThat (isEq1 , equalTo (true ));
@@ -162,10 +162,10 @@ void shouldDelegateForFilling(ArrayComponentType componentType) {
162
162
List <Object > list = createListWithItems (componentType , false );
163
163
164
164
// when
165
- ArraysMethodsDelegator .fill (emptyArr , list .get (1 ));
166
- ArraysMethodsDelegator .fill (fiveArr1 , list .get (0 ));
167
- ArraysMethodsDelegator .fill (fiveArr2 , 0 , 2 , list .get (0 ));
168
- ArraysMethodsDelegator .fill (fiveArr3 , 2 , 5 , list .get (3 ));
165
+ ArrayUtils .fill (emptyArr , list .get (1 ));
166
+ ArrayUtils .fill (fiveArr1 , list .get (0 ));
167
+ ArrayUtils .fill (fiveArr2 , 0 , 2 , list .get (0 ));
168
+ ArrayUtils .fill (fiveArr3 , 2 , 5 , list .get (3 ));
169
169
170
170
// then
171
171
assertThat (Array .get (fiveArr1 , 0 ), equalTo (list .get (0 )));
@@ -196,9 +196,9 @@ void shouldDelegateForHashCode(ArrayComponentType componentType) {
196
196
Object fiveArrSorted = createArray (componentType , ArrayType .FIVE_ITEMS , true );
197
197
198
198
// when
199
- int hashCode1 = ArraysMethodsDelegator .hashCode (emptyArr );
200
- int hashCode2 = ArraysMethodsDelegator .hashCode (fiveArr );
201
- int hashCode3 = ArraysMethodsDelegator .hashCode (fiveArrSorted );
199
+ int hashCode1 = ArrayUtils .hashCode (emptyArr );
200
+ int hashCode2 = ArrayUtils .hashCode (fiveArr );
201
+ int hashCode3 = ArrayUtils .hashCode (fiveArrSorted );
202
202
203
203
// then
204
204
assertThat (hashCode1 , equalTo (1 ));
@@ -216,13 +216,13 @@ void shouldDelegateForParallelSort(ArrayComponentType componentType) {
216
216
Object fiveArr2 = createArray (componentType , ArrayType .FIVE_ITEMS , false );
217
217
218
218
// when
219
- ArraysMethodsDelegator .parallelSort (emptyArr );
220
- ArraysMethodsDelegator .parallelSort (fiveArr1 );
221
- ArraysMethodsDelegator .parallelSort (fiveArr2 , 2 , 5 );
219
+ ArrayUtils .parallelSort (emptyArr );
220
+ ArrayUtils .parallelSort (fiveArr1 );
221
+ ArrayUtils .parallelSort (fiveArr2 , 2 , 5 );
222
222
223
223
// then
224
224
Object sortedFiveArr = createArray (componentType , ArrayType .FIVE_ITEMS , true );
225
- assertThat (ArraysMethodsDelegator .equals (fiveArr1 , sortedFiveArr ), equalTo (true ));
225
+ assertThat (ArrayUtils .equals (fiveArr1 , sortedFiveArr ), equalTo (true ));
226
226
227
227
List <Object > list = createListWithItems (componentType , false );
228
228
List <Object > list2Thru5Sorted = new ArrayList <>(5 );
@@ -245,13 +245,13 @@ void shouldDelegateForSort(ArrayComponentType componentType) {
245
245
Object fiveArr2 = createArray (componentType , ArrayType .FIVE_ITEMS , false );
246
246
247
247
// when
248
- ArraysMethodsDelegator .sort (emptyArr );
249
- ArraysMethodsDelegator .sort (fiveArr1 );
250
- ArraysMethodsDelegator .sort (fiveArr2 , 2 , 5 );
248
+ ArrayUtils .sort (emptyArr );
249
+ ArrayUtils .sort (fiveArr1 );
250
+ ArrayUtils .sort (fiveArr2 , 2 , 5 );
251
251
252
252
// then
253
253
Object sortedFiveArr = createArray (componentType , ArrayType .FIVE_ITEMS , true );
254
- assertThat (ArraysMethodsDelegator .equals (fiveArr1 , sortedFiveArr ), equalTo (true ));
254
+ assertThat (ArrayUtils .equals (fiveArr1 , sortedFiveArr ), equalTo (true ));
255
255
256
256
List <Object > list = createListWithItems (componentType , false );
257
257
List <Object > list2Thru5Sorted = new ArrayList <>(5 );
@@ -273,8 +273,8 @@ void shouldDelegateForToString(ArrayComponentType componentType) {
273
273
Object fiveArr = createArray (componentType , ArrayType .FIVE_ITEMS , false );
274
274
275
275
// when
276
- String toString1 = ArraysMethodsDelegator .toString (emptyArr );
277
- String toString2 = ArraysMethodsDelegator .toString (fiveArr );
276
+ String toString1 = ArrayUtils .toString (emptyArr );
277
+ String toString2 = ArrayUtils .toString (fiveArr );
278
278
279
279
// then
280
280
assertThat (toString1 , equalTo ("[]" ));
@@ -291,9 +291,9 @@ void shouldCreateStreamForArray(ArrayComponentType componentType) {
291
291
Object fiveArr = createArray (componentType , ArrayType .FIVE_ITEMS , false );
292
292
293
293
// when
294
- List <Object > listOfEmptyArr = ArraysMethodsDelegator .stream (emptyArr )
294
+ List <Object > listOfEmptyArr = ArrayUtils .stream (emptyArr )
295
295
.collect (Collectors .toList ());
296
- String toStringViaStream = "[" + ArraysMethodsDelegator .stream (fiveArr )
296
+ String toStringViaStream = "[" + ArrayUtils .stream (fiveArr )
297
297
.map (String ::valueOf )
298
298
.collect (Collectors .joining (", " )) + "]" ;
299
299
@@ -329,35 +329,35 @@ void shouldThrowForNonArrayInput() {
329
329
Object object = new ArrayList <>();
330
330
331
331
// when / then
332
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .binarySearch (object , "test" ));
333
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .binarySearch (object , 3 , 4 , "test" ));
334
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .copyOf (object , 3 ));
335
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .copyOfRange (object , 3 , 7 ));
336
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .equals (object , object ));
337
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .fill (object , "obj" ));
338
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .fill (object , 0 , 2 , "obj" ));
339
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .hashCode (object ));
340
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .parallelSort (object ));
341
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .parallelSort (object , 0 , 2 ));
342
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .stream (object ));
343
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .sort (object ));
344
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .sort (object , 0 , 3 ));
345
- assertThrows (IllegalArgumentException .class , () -> ArraysMethodsDelegator .toString (object ));
332
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .binarySearch (object , "test" ));
333
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .binarySearch (object , 3 , 4 , "test" ));
334
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .copyOf (object , 3 ));
335
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .copyOfRange (object , 3 , 7 ));
336
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .equals (object , object ));
337
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .fill (object , "obj" ));
338
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .fill (object , 0 , 2 , "obj" ));
339
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .hashCode (object ));
340
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .parallelSort (object ));
341
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .parallelSort (object , 0 , 2 ));
342
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .stream (object ));
343
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .sort (object ));
344
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .sort (object , 0 , 3 ));
345
+ assertThrows (IllegalArgumentException .class , () -> ArrayUtils .toString (object ));
346
346
}
347
347
348
348
@ Test
349
349
void shouldHaveMessageAboutTypeMismatch () {
350
350
// given / when
351
351
IllegalArgumentException iae1 = assertThrows (IllegalArgumentException .class ,
352
- () -> ArraysMethodsDelegator .copyOf (BigDecimal .TEN , 2 ));
352
+ () -> ArrayUtils .copyOf (BigDecimal .TEN , 2 ));
353
353
NullPointerException npe2 = assertThrows (NullPointerException .class ,
354
- () -> ArraysMethodsDelegator .hashCode (null ));
354
+ () -> ArrayUtils .hashCode (null ));
355
355
IllegalArgumentException iae3 = assertThrows (IllegalArgumentException .class ,
356
- () -> ArraysMethodsDelegator .fill (new Object (), "t" ));
356
+ () -> ArrayUtils .fill (new Object (), "t" ));
357
357
ClassCastException cce4 = assertThrows (ClassCastException .class ,
358
- () -> ArraysMethodsDelegator .fill (new int []{3 , 1 , 4 , 1 }, "t" ));
358
+ () -> ArrayUtils .fill (new int []{3 , 1 , 4 , 1 }, "t" ));
359
359
NullPointerException npe5 = assertThrows (NullPointerException .class ,
360
- () -> ArraysMethodsDelegator .fill (new double []{2.0 , 1.85 }, null ));
360
+ () -> ArrayUtils .fill (new double []{2.0 , 1.85 }, null ));
361
361
362
362
// then
363
363
assertThat (iae1 .getMessage (), equalTo ("Expected an array as argument, but got: class java.math.BigDecimal" ));
@@ -479,7 +479,7 @@ void shouldSortBooleanArrayWithinRange() {
479
479
private void verifyFallbackSearchWithBinarySearch (boolean [] array , int from , int to , boolean value ) {
480
480
Boolean [] objArray = copyToReferenceBooleanArrayType (array );
481
481
482
- int actualIndex = ArraysMethodsDelegator .simpleBooleanArrayBinarySearch (array , from , to , value );
482
+ int actualIndex = ArrayUtils .simpleBooleanArrayBinarySearch (array , from , to , value );
483
483
int expectedIndex = Arrays .binarySearch (objArray , from , to , value );
484
484
if (expectedIndex >= 0 ) {
485
485
assertThat (actualIndex , greaterThanOrEqualTo (0 ));
@@ -493,7 +493,7 @@ private void verifyFallbackSortWithObjectArraySort(boolean[] array, int from, in
493
493
Boolean [] objArray = copyToReferenceBooleanArrayType (array );
494
494
495
495
Arrays .sort (objArray , from , to );
496
- ArraysMethodsDelegator .simpleBooleanArraySort (array , from , to );
496
+ ArrayUtils .simpleBooleanArraySort (array , from , to );
497
497
498
498
if (array .length > 0 ) {
499
499
Boolean [] arrayAfterSorting = copyToReferenceBooleanArrayType (array );
0 commit comments