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};

Reply via email to