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 0a423672fb79d5af4cefd4dde2215af1702c7ae4
Author: Gary D. Gregory <garydgreg...@gmail.com>
AuthorDate: Tue Jun 17 16:03:22 2025 -0400

    Add missing test coverage for
    org.apache.commons.lang3.ArrayUtils.shift(*, int, int, int)
---
 .../org/apache/commons/lang3/ArrayUtilsTest.java   | 321 ++++++++++++---------
 1 file changed, 185 insertions(+), 136 deletions(-)

diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java 
b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
index 6b1c236e2..607c0d207 100644
--- a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
@@ -4504,7 +4504,6 @@ void testShiftAllShort() {
 
     @Test
     void testShiftBoolean() {
-        ArrayUtils.shift((boolean[]) null, 1);
         ArrayUtils.shift(new boolean[0], 1);
         final boolean[] array = { true, true, false, false };
         ArrayUtils.shift(array, 1);
@@ -4530,42 +4529,10 @@ void testShiftBoolean() {
     }
 
     @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]);
+    void testShiftBooleanArrayNull() {
+        final boolean[] array = null;
+        ArrayUtils.shift(array, 1);
+        assertNull(array);
     }
 
     @Test
@@ -4595,47 +4562,9 @@ void testShiftByte() {
         assertEquals(2, array[3]);
     }
 
-    @Test
-    void testShiftByteParams() {
-        // edge cases where nothing happens
-        // (1) array == null
-        ArrayUtils.shift((byte[]) null, 0, 0, 0);
-        // (2) startIndexInclusive >= array.length - 1
-        ArrayUtils.shift(new byte[0], 100, 0, 0);
-        // (3) endIndexExclusive <= 0
-        byte[] array1 = { 1 };
-        ArrayUtils.shift(array1, -1, 0, 0);
-        assertArrayEquals(new byte[] { 1 }, array1);
-        // (4) n <= 1
-        byte[] array2 = { 1, 0, 1 };
-        ArrayUtils.shift(array2, 1, 1, 0);
-        assertArrayEquals(new byte[] { 1, 0, 1 }, array2);
-        // tests
-        final byte[] array = { 1, 2, 3, 4 };
-        ArrayUtils.shift(array, 1);
-        assertEquals(4, array[0]);
-        assertEquals(1, array[1]);
-        assertEquals(2, array[2]);
-        assertEquals(3, array[3]);
-        ArrayUtils.shift(array, -1);
-        assertEquals(1, array[0]);
-        assertEquals(2, array[1]);
-        assertEquals(3, array[2]);
-        assertEquals(4, array[3]);
-        ArrayUtils.shift(array, 5);
-        assertEquals(4, array[0]);
-        assertEquals(1, array[1]);
-        assertEquals(2, array[2]);
-        assertEquals(3, array[3]);
-        ArrayUtils.shift(array, -3);
-        assertEquals(3, array[0]);
-        assertEquals(4, array[1]);
-        assertEquals(1, array[2]);
-        assertEquals(2, array[3]);
-    }
-
     @Test
     void testShiftChar() {
+        ArrayUtils.shift((char[]) null, 1);
         final char[] array = {1, 2, 3, 4};
         ArrayUtils.shift(array, 1);
         assertEquals(4, array[0]);
@@ -4661,6 +4590,7 @@ void testShiftChar() {
 
     @Test
     void testShiftDouble() {
+        ArrayUtils.shift((double[]) null, 1);
         final double[] array = {1, 2, 3, 4};
         ArrayUtils.shift(array, 1);
         assertEquals(4, array[0]);
@@ -4684,8 +4614,16 @@ void testShiftDouble() {
         assertEquals(2, array[3]);
     }
 
+    @Test
+    void testShiftDoubleArrayNull() {
+        final double[] array = null;
+        ArrayUtils.shift(array, 1);
+        assertNull(array);
+    }
+
     @Test
     void testShiftFloat() {
+        ArrayUtils.shift((float[]) null, 1);
         final float[] array = {1, 2, 3, 4};
         ArrayUtils.shift(array, 1);
         assertEquals(4, array[0]);
@@ -4709,8 +4647,16 @@ void testShiftFloat() {
         assertEquals(2, array[3]);
     }
 
+    @Test
+    void testShiftFloatArrayNull() {
+        final float[] array = null;
+        ArrayUtils.shift(array, 1);
+        assertNull(array);
+    }
+
     @Test
     void testShiftInt() {
+        ArrayUtils.shift((int[]) null, 1);
         final int[] array = {1, 2, 3, 4};
         ArrayUtils.shift(array, 1);
         assertEquals(4, array[0]);
@@ -4734,8 +4680,16 @@ void testShiftInt() {
         assertEquals(2, array[3]);
     }
 
+    @Test
+    void testShiftIntArrayNull() {
+        final int[] array = null;
+        ArrayUtils.shift(array, 1);
+        assertNull(array);
+    }
+
     @Test
     void testShiftLong() {
+        ArrayUtils.shift((long[]) null, 1);
         final long[] array = {1, 2, 3, 4};
         ArrayUtils.shift(array, 1);
         assertEquals(4, array[0]);
@@ -4760,63 +4714,15 @@ void testShiftLong() {
     }
 
     @Test
-    void testShiftNullBoolean() {
-        final boolean[] array = null;
-
-        ArrayUtils.shift(array, 1);
-        assertNull(array);
-    }
-
-    @Test
-    void testShiftNullDouble() {
-        final double[] array = null;
-
-        ArrayUtils.shift(array, 1);
-        assertNull(array);
-    }
-
-    @Test
-    void testShiftNullFloat() {
-        final float[] array = null;
-
-        ArrayUtils.shift(array, 1);
-        assertNull(array);
-    }
-
-    @Test
-    void testShiftNullInt() {
-        final int[] array = null;
-
-        ArrayUtils.shift(array, 1);
-        assertNull(array);
-    }
-
-    @Test
-    void testShiftNullLong() {
+    void testShiftLongArrayNull() {
         final long[] array = null;
-
-        ArrayUtils.shift(array, 1);
-        assertNull(array);
-    }
-
-    @Test
-    void testShiftNullObject() {
-        final String[] array = null;
-
-        ArrayUtils.shift(array, 1);
-        assertNull(array);
-    }
-
-    @Test
-    void testShiftNullShort() {
-        final short[] array = null;
-
         ArrayUtils.shift(array, 1);
         assertNull(array);
     }
 
     @Test
     void testShiftObject() {
+        ArrayUtils.shift((String[]) null, 1);
         final String[] array = {"1", "2", "3", "4"};
         ArrayUtils.shift(array, 1);
         assertEquals("4", array[0]);
@@ -4840,8 +4746,60 @@ void testShiftObject() {
         assertEquals("2", array[3]);
     }
 
+    @Test
+    void testShiftObjectArrayNull() {
+        final String[] array = null;
+        ArrayUtils.shift(array, 1);
+        assertNull(array);
+    }
+
+    @Test
+    void testShiftRangeBoolean() {
+        // 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
+        final boolean[] array1 = { true };
+        ArrayUtils.shift(array1, -1, 0, 0);
+        assertArrayEquals(new boolean[] { true }, array1);
+        // (4) n <= 1
+        final boolean[] array2 = { true, false, true };
+        ArrayUtils.shift(array2, 1, 1, 0);
+        assertArrayEquals(new boolean[] { true, false, true }, array2);
+        // tests
+        final boolean[] array = {true, false, false, false, true};
+        ArrayUtils.shift(array, 1, 3, 1);
+        assertEquals(true, array[0]);
+        assertEquals(false, array[1]);
+        assertEquals(false, array[2]);
+        assertEquals(false, array[3]);
+        assertEquals(true, array[4]);
+        ArrayUtils.shift(array, 1, 4, 2);
+        assertEquals(true, array[0]);
+        assertEquals(false, array[1]);
+        assertEquals(false, array[2]);
+        assertEquals(false, array[3]);
+        assertEquals(true, array[4]);
+    }
+
     @Test
     void testShiftRangeByte() {
+        // edge cases where nothing happens
+        // (1) array == null
+        ArrayUtils.shift((byte[]) null, 0, 0, 0);
+        // (2) startIndexInclusive >= array.length - 1
+        ArrayUtils.shift(new byte[0], 100, 0, 0);
+        // (3) endIndexExclusive <= 0
+        final byte[] array1 = { 1 };
+        ArrayUtils.shift(array1, -1, 0, 0);
+        assertArrayEquals(new byte[] { 1 }, array1);
+        // (4) n <= 1
+        final byte[] array2 = { 1, 0, 1 };
+        ArrayUtils.shift(array2, 1, 1, 0);
+        assertArrayEquals(new byte[] { 1, 0, 1 }, array2);
+        // tests
         final byte[] array = {1, 2, 3, 4, 5};
         ArrayUtils.shift(array, 1, 3, 1);
         assertEquals(1, array[0]);
@@ -4859,6 +4817,20 @@ void testShiftRangeByte() {
 
     @Test
     void testShiftRangeChar() {
+        // edge cases where nothing happens
+        // (1) array == null
+        ArrayUtils.shift((char[]) null, 0, 0, 0);
+        // (2) startIndexInclusive >= array.length - 1
+        ArrayUtils.shift(new char[0], 100, 0, 0);
+        // (3) endIndexExclusive <= 0
+        final char[] array1 = { 1 };
+        ArrayUtils.shift(array1, -1, 0, 0);
+        assertArrayEquals(new char[] { 1 }, array1);
+        // (4) n <= 1
+        final char[] array2 = { 1, 0, 1 };
+        ArrayUtils.shift(array2, 1, 1, 0);
+        assertArrayEquals(new char[] { 1, 0, 1 }, array2);
+        // tests
         final char[] array = {1, 2, 3, 4, 5};
         ArrayUtils.shift(array, 1, 3, 1);
         assertEquals(1, array[0]);
@@ -4876,6 +4848,20 @@ void testShiftRangeChar() {
 
     @Test
     void testShiftRangeDouble() {
+        // edge cases where nothing happens
+        // (1) array == null
+        ArrayUtils.shift((double[]) null, 0, 0, 0);
+        // (2) startIndexInclusive >= array.length - 1
+        ArrayUtils.shift(new double[0], 100, 0, 0);
+        // (3) endIndexExclusive <= 0
+        final double[] array1 = { 1 };
+        ArrayUtils.shift(array1, -1, 0, 0);
+        assertArrayEquals(new double[] { 1 }, array1);
+        // (4) n <= 1
+        final double[] array2 = { 1, 0, 1 };
+        ArrayUtils.shift(array2, 1, 1, 0);
+        assertArrayEquals(new double[] { 1, 0, 1 }, array2);
+        // tests
         final double[] array = {1, 2, 3, 4, 5};
         ArrayUtils.shift(array, 1, 3, 1);
         assertEquals(1, array[0]);
@@ -4893,6 +4879,20 @@ void testShiftRangeDouble() {
 
     @Test
     void testShiftRangeFloat() {
+        // edge cases where nothing happens
+        // (1) array == null
+        ArrayUtils.shift((float[]) null, 0, 0, 0);
+        // (2) startIndexInclusive >= array.length - 1
+        ArrayUtils.shift(new float[0], 100, 0, 0);
+        // (3) endIndexExclusive <= 0
+        final float[] array1 = { 1 };
+        ArrayUtils.shift(array1, -1, 0, 0);
+        assertArrayEquals(new float[] { 1 }, array1);
+        // (4) n <= 1
+        final float[] array2 = { 1, 0, 1 };
+        ArrayUtils.shift(array2, 1, 1, 0);
+        assertArrayEquals(new float[] { 1, 0, 1 }, array2);
+        // tests
         final float[] array = {1, 2, 3, 4, 5};
         ArrayUtils.shift(array, 1, 3, 1);
         assertEquals(1, array[0]);
@@ -4910,6 +4910,20 @@ void testShiftRangeFloat() {
 
     @Test
     void testShiftRangeInt() {
+        // edge cases where nothing happens
+        // (1) array == null
+        ArrayUtils.shift((int[]) null, 0, 0, 0);
+        // (2) startIndexInclusive >= array.length - 1
+        ArrayUtils.shift(new int[0], 100, 0, 0);
+        // (3) endIndexExclusive <= 0
+        final int[] array1 = { 1 };
+        ArrayUtils.shift(array1, -1, 0, 0);
+        assertArrayEquals(new int[] { 1 }, array1);
+        // (4) n <= 1
+        final int[] array2 = { 1, 0, 1 };
+        ArrayUtils.shift(array2, 1, 1, 0);
+        assertArrayEquals(new int[] { 1, 0, 1 }, array2);
+        // tests
         final int[] array = {1, 2, 3, 4, 5};
         ArrayUtils.shift(array, 1, 3, 1);
         assertEquals(1, array[0]);
@@ -4927,6 +4941,20 @@ void testShiftRangeInt() {
 
     @Test
     void testShiftRangeLong() {
+        // edge cases where nothing happens
+        // (1) array == null
+        ArrayUtils.shift((long[]) null, 0, 0, 0);
+        // (2) startIndexInclusive >= array.length - 1
+        ArrayUtils.shift(new long[0], 100, 0, 0);
+        // (3) endIndexExclusive <= 0
+        final long[] array1 = { 1 };
+        ArrayUtils.shift(array1, -1, 0, 0);
+        assertArrayEquals(new long[] { 1 }, array1);
+        // (4) n <= 1
+        final long[] array2 = { 1, 0, 1 };
+        ArrayUtils.shift(array2, 1, 1, 0);
+        assertArrayEquals(new long[] { 1, 0, 1 }, array2);
+        // tests
         final long[] array = {1, 2, 3, 4, 5};
         ArrayUtils.shift(array, 1, 3, 1);
         assertEquals(1, array[0]);
@@ -5074,7 +5102,6 @@ void testShiftRangeNullObject() {
     @Test
     void testShiftRangeNullShort() {
         final short[] array = null;
-
         ArrayUtils.shift(array, 1, 1, 1);
         assertNull(array);
     }
@@ -5098,6 +5125,20 @@ void testShiftRangeObject() {
 
     @Test
     void testShiftRangeShort() {
+        // edge cases where nothing happens
+        // (1) array == null
+        ArrayUtils.shift((short[]) null, 0, 0, 0);
+        // (2) startIndexInclusive >= array.length - 1
+        ArrayUtils.shift(new short[0], 100, 0, 0);
+        // (3) endIndexExclusive <= 0
+        final short[] array1 = { 1 };
+        ArrayUtils.shift(array1, -1, 0, 0);
+        assertArrayEquals(new short[] { 1 }, array1);
+        // (4) n <= 1
+        final short[] array2 = { 1, 0, 1 };
+        ArrayUtils.shift(array2, 1, 1, 0);
+        assertArrayEquals(new short[] { 1, 0, 1 }, array2);
+        // tests
         final short[] array = {1, 2, 3, 4, 5};
         ArrayUtils.shift(array, 1, 3, 1);
         assertEquals(1, array[0]);
@@ -5115,6 +5156,7 @@ void testShiftRangeShort() {
 
     @Test
     void testShiftShort() {
+        ArrayUtils.shift((short[]) null, 1);
         short[] array = {1, 2, 3, 4};
         ArrayUtils.shift(array, 1);
         assertEquals(4, array[0]);
@@ -5145,6 +5187,13 @@ void testShiftShort() {
         assertEquals(3, array[4]);
     }
 
+    @Test
+    void testShiftShortArrayNull() {
+        final short[] array = null;
+        ArrayUtils.shift(array, 1);
+        assertNull(array);
+    }
+
     @Test
     void testShuffle() {
         final String[] array1 = { "1", "2", "3", "4", "5", "6", "7", "8", "9", 
"10" };
@@ -6787,15 +6836,6 @@ void testToString() {
         assertEquals("{pink,blue}", ArrayUtils.toString(new String[]{"pink", 
"blue"}));
     }
 
-    @Test
-    void testToStringDefault() {
-        assertEquals("<empty>", ArrayUtils.toString(null, "<empty>"));
-        assertEquals("{}", ArrayUtils.toString(new Object[0], "<empty>"));
-        assertEquals("{}", ArrayUtils.toString(new String[0], "<empty>"));
-        assertEquals("{<null>}", ArrayUtils.toString(new String[]{null}, 
"<empty>"));
-        assertEquals("{pink,blue}", ArrayUtils.toString(new String[]{"pink", 
"blue"}, "<empty>"));
-    }
-
     @Test
     void testToStringArray_array() {
         assertNull(ArrayUtils.toStringArray(null));
@@ -6815,4 +6855,13 @@ void testToStringArray_array_string() {
         assertArrayEquals(new String[]{"1", "valueForNullElements", "test"},
                 ArrayUtils.toStringArray(array, "valueForNullElements"));
     }
+
+    @Test
+    void testToStringDefault() {
+        assertEquals("<empty>", ArrayUtils.toString(null, "<empty>"));
+        assertEquals("{}", ArrayUtils.toString(new Object[0], "<empty>"));
+        assertEquals("{}", ArrayUtils.toString(new String[0], "<empty>"));
+        assertEquals("{<null>}", ArrayUtils.toString(new String[]{null}, 
"<empty>"));
+        assertEquals("{pink,blue}", ArrayUtils.toString(new String[]{"pink", 
"blue"}, "<empty>"));
+    }
 }

Reply via email to