This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-lang.git
commit 2de52818de2a2e4186d7cf158715817335e74404 Author: Gary D. Gregory <garydgreg...@gmail.com> AuthorDate: Tue Jun 17 15:22:50 2025 -0400 Add missing test coverage for org.apache.commons.lang3.ArrayUtils.shift(boolean[], int, int, int) --- .../org/apache/commons/lang3/ArrayUtilsTest.java | 45 +++++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java index 658560d4e..2e364af13 100644 --- a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java @@ -4504,26 +4504,22 @@ void testShiftAllShort() { @Test void testShiftBoolean() { - final boolean[] array = {true, true, false, false}; - + final boolean[] array = { true, true, false, false }; ArrayUtils.shift(array, 1); assertFalse(array[0]); assertTrue(array[1]); assertTrue(array[2]); assertFalse(array[3]); - ArrayUtils.shift(array, -1); assertTrue(array[0]); assertTrue(array[1]); assertFalse(array[2]); assertFalse(array[3]); - ArrayUtils.shift(array, 5); assertFalse(array[0]); assertTrue(array[1]); assertTrue(array[2]); assertFalse(array[3]); - ArrayUtils.shift(array, -3); assertFalse(array[0]); assertFalse(array[1]); @@ -4531,6 +4527,45 @@ void testShiftBoolean() { assertTrue(array[3]); } + @Test + void testShiftBooleanParams() { + // edge cases where nothing happens + // (1) array == null + ArrayUtils.shift((boolean[]) null, 0, 0, 0); + // (2) startIndexInclusive >= array.length - 1 + ArrayUtils.shift(new boolean[0], 100, 0, 0); + // (3) endIndexExclusive <= 0 + boolean[] array1 = { true }; + ArrayUtils.shift(array1, -1, 0, 0); + assertArrayEquals(new boolean[] { true }, array1); + // (4) n <= 1 + boolean[] array2 = { true, false, true }; + ArrayUtils.shift(array2, 1, 1, 0); + assertArrayEquals(new boolean[] { true, false, true }, array2); + // tests + boolean[] array = { true, true, false, false }; + ArrayUtils.shift(array, 0, array.length, 1); + assertFalse(array[0]); + assertTrue(array[1]); + assertTrue(array[2]); + assertFalse(array[3]); + ArrayUtils.shift(array, 0, array.length, -1); + assertTrue(array[0]); + assertTrue(array[1]); + assertFalse(array[2]); + assertFalse(array[3]); + ArrayUtils.shift(array, 0, array.length, 5); + assertFalse(array[0]); + assertTrue(array[1]); + assertTrue(array[2]); + assertFalse(array[3]); + ArrayUtils.shift(array, 0, array.length, -3); + assertFalse(array[0]); + assertFalse(array[1]); + assertTrue(array[2]); + assertTrue(array[3]); + } + @Test void testShiftByte() { final byte[] array = {1, 2, 3, 4};