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 638488d02f76358259f7b8fde5a09da8951924ca Author: Gary D. Gregory <garydgreg...@gmail.com> AuthorDate: Tue Jun 17 15:29:02 2025 -0400 Add missing test coverage for org.apache.commons.lang3.ArrayUtils.shift(byte[], int, int, int) --- .../org/apache/commons/lang3/ArrayUtilsTest.java | 45 +++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java index 2e364af13..6b1c236e2 100644 --- a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java @@ -4504,6 +4504,8 @@ 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); assertFalse(array[0]); @@ -4568,7 +4570,48 @@ void testShiftBooleanParams() { @Test void testShiftByte() { - final byte[] array = {1, 2, 3, 4}; + ArrayUtils.shift((byte[]) null, 1); + ArrayUtils.shift(new byte[0], 1); + 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 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]);