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
The following commit(s) were added to refs/heads/master by this push:
new 9e3e21790 Add ConversionTest assertions to increase coverage (#1489)
9e3e21790 is described below
commit 9e3e21790b09108f7d3ef3850ae59303d42411c3
Author: Michael Hausegger <[email protected]>
AuthorDate: Sat Nov 15 14:58:53 2025 +0100
Add ConversionTest assertions to increase coverage (#1489)
* Added new Unit Tests to increase coverage
* Additional new Unit Tests
---------
Co-authored-by: TheRealHaui <[email protected]>
---
.../org/apache/commons/lang3/ConversionTest.java | 40 +++++++++++++++++++++-
1 file changed, 39 insertions(+), 1 deletion(-)
diff --git a/src/test/java/org/apache/commons/lang3/ConversionTest.java
b/src/test/java/org/apache/commons/lang3/ConversionTest.java
index 2fab1f912..784ba3235 100644
--- a/src/test/java/org/apache/commons/lang3/ConversionTest.java
+++ b/src/test/java/org/apache/commons/lang3/ConversionTest.java
@@ -227,7 +227,9 @@ void testBinaryToHexDigitMsb0_4bits_2args() {
final boolean[] javaDocCheck = {
true, false, false, true, true, false, true, false};
assertEquals('d', Conversion.binaryToHexDigitMsb0_4bits(javaDocCheck,
3));
-
+ final boolean[] nineValuesBooleanArray = {
+ true, false, false, true, true, false, true, false, true};
+ assertIllegalArgumentException(() ->
Conversion.binaryToHexDigitMsb0_4bits(nineValuesBooleanArray, 3));
}
/**
@@ -312,6 +314,7 @@ void testBinaryToInt() {
assertEquals(0x01C0F1FD, Conversion.binaryToInt(src, 1 * 4, 0, 0, 8 *
4));
assertEquals(0x12345679, Conversion.binaryToInt(src, 0 * 4,
0x12345679, 0, 0 * 4));
assertEquals(0x87645679, Conversion.binaryToInt(src, 15 * 4,
0x12345679, 20, 3 * 4));
+ assertIllegalArgumentException(() -> Conversion.binaryToInt(src, 15 *
4, 0x12345679, 20, Integer.SIZE));
}
/**
@@ -336,6 +339,7 @@ void testBinaryToLong() {
assertEquals(
0x1234567876BCDEF0L,
Conversion.binaryToLong(src, 15 * 4, 0x123456798ABCDEF0L, 24, 3 *
4));
+ assertIllegalArgumentException(() -> Conversion.binaryToLong(src, 15 *
4, 0x123456798ABCDEF0L, 24, Long.SIZE));
}
/**
@@ -359,6 +363,7 @@ void testBinaryToShort() {
(short) 0x1234, Conversion.binaryToShort(src, 0 * 4, (short)
0x1234, 0, 0 * 4));
assertEquals(
(short) 0x8764, Conversion.binaryToShort(src, 15 * 4, (short)
0x1234, 4, 3 * 4));
+ assertIllegalArgumentException(() -> Conversion.binaryToShort(src, 15
* 4, (short) 0x1234, 4, Short.SIZE));
}
/**
@@ -376,6 +381,7 @@ void testByteArrayToInt() {
assertEquals(0x12345678, Conversion.byteArrayToInt(src, 0, 0x12345678,
0, 0));
assertEquals(0xCD345678, Conversion.byteArrayToInt(src, 0, 0x12345678,
24, 1));
// assertEquals(0x56341278, Conversion.ByteArrayToInt(src, 5,
0x01234567, 8, 4));
+ assertIllegalArgumentException(() -> Conversion.byteArrayToInt(src, 0,
0x12345678, 24, Integer.SIZE));
}
/**
@@ -396,6 +402,7 @@ void testByteArrayToLong() {
0x12345678CDBCDEF0L, Conversion.byteArrayToLong(src, 0,
0x123456789ABCDEF0L, 24, 1));
assertEquals(
0x123456789A7856F0L, Conversion.byteArrayToLong(src, 7,
0x123456789ABCDEF0L, 8, 2));
+ assertIllegalArgumentException(() -> Conversion.byteArrayToLong(src,
7, 0x123456789ABCDEF0L, 8, Long.SIZE));
}
/**
@@ -414,6 +421,7 @@ void testByteArrayToShort() {
assertEquals((short) 0xCD34, Conversion.byteArrayToShort(src, 0,
(short) 0x1234, 8, 1));
// assertEquals((short) 0x5678, Conversion.ByteArrayToShort(src, 7,
(short) 0x0123, 8,
// 2));
+ assertIllegalArgumentException(() -> Conversion.byteArrayToShort(src,
0, (short) 0x1234, 8, Short.SIZE));
}
/**
@@ -439,6 +447,10 @@ void testByteArrayToUuid() {
0, 0, (byte) 0x88, (byte) 0x99, (byte) 0xaa, (byte) 0xbb,
(byte) 0xcc, (byte) 0xdd,
(byte) 0xee, (byte) 0xff, (byte) 0x00, (byte) 0x11, (byte)
0x22, (byte) 0x33,
(byte) 0x44, (byte) 0x55, (byte) 0x66, (byte) 0x77}, 2));
+ assertIllegalArgumentException(() -> Conversion.byteArrayToUuid(new
byte[]{
+ 0, 0, (byte) 0x88, (byte) 0x99, (byte) 0xaa, (byte) 0xbb,
(byte) 0xcc, (byte) 0xdd,
+ (byte) 0xee, (byte) 0xff, (byte) 0x00, (byte) 0x11, (byte)
0x22, (byte) 0x33,
+ (byte) 0x44, (byte) 0x55, (byte) 0x66, (byte) 0x77}, 3));
}
/**
@@ -487,6 +499,7 @@ void testByteToBinary() {
assertArrayEquals(new boolean[]{
false, false, false, true, false, true, false, false, true, false,
false, false,
false}, Conversion.byteToBinary((byte) 0x95, 2, new boolean[13],
3, 6));
+ assertIllegalArgumentException(() -> Conversion.byteToBinary((byte)
0x95, 2, new boolean[13], 3, Byte.SIZE));
}
/**
@@ -510,6 +523,7 @@ void testByteToHex() {
assertEquals("000e0", Conversion.byteToHex((byte) 0xEF, 4, "00000", 3,
1));
assertEquals("fe", Conversion.byteToHex((byte) 0xEF, 0, "", 0, 2));
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.byteToHex((byte) 0xEF, 0, "", 1, 2));
+ assertIllegalArgumentException(() -> Conversion.byteToHex((byte) 0xEF,
0, "", 1, Byte.SIZE));
}
/**
@@ -708,6 +722,7 @@ void testHexToInt() {
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.hexToInt(src, src.length(), 0, 0, 1));
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.hexToInt(src, Integer.MIN_VALUE, 0, 0, 1));
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.hexToInt(src, Integer.MAX_VALUE, 0, 0, 1));
+ assertIllegalArgumentException(() -> Conversion.hexToInt(src,
Integer.MAX_VALUE, 0, 0, Integer.SIZE));
}
/**
@@ -725,6 +740,7 @@ void testHexToLong() {
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.hexToLong(src, src.length(), 0, 0, 1));
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.hexToLong(src, Integer.MIN_VALUE, 0, 0, 1));
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.hexToLong(src, Integer.MAX_VALUE, 0, 0, 1));
+ assertIllegalArgumentException(() -> Conversion.hexToLong(src,
Integer.MAX_VALUE, 0, 0, Long.SIZE));
}
/**
@@ -742,6 +758,7 @@ void testHexToShort() {
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.hexToShort(src, src.length(), (short) 0, 0, 1));
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.hexToShort(src, Integer.MIN_VALUE, (short) 0, 0, 1));
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.hexToShort(src, Integer.MAX_VALUE, (short) 0, 0, 1));
+ assertIllegalArgumentException(() -> Conversion.hexToShort(src,
Integer.MAX_VALUE, (short) 0, 0, Short.SIZE));
}
/**
@@ -760,6 +777,7 @@ void testIntArrayToLong() {
assertEquals(
0x1234567878000000L, Conversion.intArrayToLong(src, 2,
0x123456789ABCDEF0L, 0, 1));
// assertEquals(0x0F12345678000000L, Conversion.intsToLong(src, 1,
0x123456789ABCDEF0L, 32, 2));
+ assertIllegalArgumentException(() -> Conversion.intArrayToLong(src, 2,
0x123456789ABCDEF0L, 0, Long.SIZE));
}
/**
@@ -837,6 +855,7 @@ void testIntToBinary() {
true, false, false, true, true, true, true, false, true,
false, true, false,
true, false, false, false, false, true, false, false, true,
false, false,
false, false}, Conversion.intToBinary(0x90ABCDEF, 2, new
boolean[37], 3, 30));
+ assertIllegalArgumentException(() ->
Conversion.intToBinary(0x90ABCDEF, 2, new boolean[0], 3, Integer.SIZE));
}
/**
@@ -919,6 +938,7 @@ void testIntToByteArray() {
(byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte)
0xFF},
Conversion.intToByteArray(0x90ABCDEF, 13, new byte[]{
-1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1}, 3, 3));
+ assertIllegalArgumentException(() ->
Conversion.intToByteArray(0x90ABCDEF, 13, new byte[]{}, 3, Integer.SIZE));
}
/**
@@ -978,6 +998,7 @@ void testIntToHex() {
Conversion.intToHex(0x90ABCDEF, 4, "ffffffffffffffffffffffff", 3,
7));
assertEquals("fedcba09", Conversion.intToHex(0x90ABCDEF, 0, "", 0, 8));
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.intToHex(0x90ABCDEF, 0, "", 1, 8));
+ assertIllegalArgumentException(() -> Conversion.intToHex(0x90ABCDEF,
0, "", 0, Integer.SIZE / 4 + 1));
}
/**
@@ -1087,6 +1108,7 @@ void testIntToShortArray() {
assertArrayEquals(
new short[]{(short) 0x091A},
Conversion.intToShortArray(0x12345678, 17, new short[]{0}, 0, 1));
+ assertIllegalArgumentException(() ->
Conversion.intToShortArray(0x12345678, 17, new short[]{0}, 0, Integer.SIZE /
Short.SIZE + 1));
}
/**
@@ -1210,6 +1232,7 @@ void testLongToBinary() {
true, false, false, false, true, false, true, true, false,
false, false, true,
false, false, true, false, false, false, false, false, false,
false},
Conversion.longToBinary(0x1234567890ABCDEFL, 2, new boolean[69],
3, 62));
+ assertIllegalArgumentException(() ->
Conversion.longToBinary(0x1234567890ABCDEFL, 2, new boolean[69], 3, Long.SIZE -
1));
}
/**
@@ -1319,6 +1342,8 @@ void testLongToByteArray() {
(byte) 0xB3, (byte) 0xA2, (byte) 0x91, (byte) 0x00, (byte)
0xFF},
Conversion.longToByteArray(0x1234567890ABCDEFL, 13, new byte[]{
-1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1}, 3, 7));
+ assertIllegalArgumentException(() ->
Conversion.longToByteArray(0x1234567890ABCDEFL, 13, new byte[]{
+ -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1}, 3, Long.SIZE /
Byte.SIZE + 1));
}
/**
@@ -1379,6 +1404,7 @@ void testLongToHex() {
assertEquals(
"fedcba0987654321", Conversion.longToHex(0x1234567890ABCDEFL, 0,
"", 0, 16));
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.longToHex(0x1234567890ABCDEFL, 0, "", 1, 8));
+ assertIllegalArgumentException(() ->
Conversion.longToHex(0x1234567890ABCDEFL, 0, "", 1, Long.SIZE / 4 + 1));
}
/**
@@ -1434,6 +1460,7 @@ void testLongToIntArray() {
assertArrayEquals(
new int[]{0x091A2B3C},
Conversion.longToIntArray(0x1234567890ABCDEFL, 33, new int[]{0},
0, 1));
+ assertIllegalArgumentException(() ->
Conversion.longToIntArray(0x1234567890ABCDEFL, 33, new int[]{0}, 0, Long.SIZE /
Integer.SIZE + 1));
}
/**
@@ -1509,6 +1536,7 @@ void testLongToShortArray() {
assertArrayEquals(
new short[]{(short) 0x2B3C},
Conversion.longToShortArray(0x1234567890ABCDEFL, 33, new
short[]{0}, 0, 1));
+ assertIllegalArgumentException(() ->
Conversion.longToShortArray(0x1234567890ABCDEFL, 33, new short[]{0}, 0,
Long.SIZE / Short.SIZE));
}
/**
@@ -1525,6 +1553,7 @@ void testShortArrayToInt() {
assertEquals(0x12345678, Conversion.shortArrayToInt(src, 0,
0x12345678, 0, 0));
assertEquals(0xCDF15678, Conversion.shortArrayToInt(src, 0,
0x12345678, 16, 1));
// assertEquals(0x34567800, Conversion.ShortArrayToInt(src, 3,
0x12345678, 16, 2));
+ assertIllegalArgumentException(() -> Conversion.shortArrayToInt(src,
0, 0x12345678, 16, Integer.SIZE / Short.SIZE));
}
/**
@@ -1546,6 +1575,7 @@ void testShortArrayToLong() {
assertEquals(
0x123478003456DEF0L,
Conversion.shortArrayToLong(src, 3, 0x123456789ABCDEF0L, 16, 2));
+ assertIllegalArgumentException(() -> Conversion.shortArrayToLong(src,
3, 0x123456789ABCDEF0L, 16, Long.SIZE / Short.SIZE));
}
/**
@@ -1618,6 +1648,7 @@ void testShortToBinary() {
false, false, false, true, true, false, true, true, true,
true, false, true,
true, false, false, true, true, false, false, false, false},
Conversion.shortToBinary((short) 0xCDEF, 2, new boolean[21], 3,
14));
+ assertIllegalArgumentException(() -> Conversion.shortToBinary((short)
0xCDEF, 2, new boolean[21], 3, Short.SIZE - 1));
}
/**
@@ -1679,6 +1710,8 @@ void testShortToByteArray() {
(byte) 0xFF, (byte) 0x00, (byte) 0xFF, (byte) 0xFE, (byte)
0xFF, (byte) 0xFF,
(byte) 0xFF}, Conversion.shortToByteArray((short) 0xCDEF, 13,
new byte[]{
-1, 0, -1, -1, -1, -1, -1}, 3, 1));
+ assertIllegalArgumentException(() ->
Conversion.shortToByteArray((short) 0xCDEF, 13, new byte[]{
+ -1, 0, -1, -1, -1, -1, -1}, 3, Short.SIZE / Byte.SIZE));
}
/**
@@ -1726,6 +1759,7 @@ void testShortToHex() {
Conversion.shortToHex((short) 0xCDEF, 4,
"ffffffffffffffffffffffff", 3, 3));
assertEquals("fedc", Conversion.shortToHex((short) 0xCDEF, 0, "", 0,
4));
assertThrows(StringIndexOutOfBoundsException.class, () ->
Conversion.shortToHex((short) 0xCDEF, 0, "", 1, 4));
+ assertIllegalArgumentException(() -> Conversion.shortToHex((short)
0xCDEF, 0, "", 1, Short.SIZE / 4 + 1));
}
/**
@@ -1753,5 +1787,9 @@ void testUuidToByteArray() {
(byte) 0xdd, (byte) 0xee, (byte) 0xff, (byte) 0x00, (byte) 0x11,
(byte) 0x22, (byte) 0x33,
(byte) 0x00, (byte) 0x00}, Conversion.uuidToByteArray(new UUID(
0xFFEEDDCCBBAA9988L, 0x7766554433221100L), new byte[16], 2, 12));
+ assertArrayEquals(new byte[]{(byte) 0x1, (byte) 0x2},
Conversion.uuidToByteArray(new UUID(
+ 0xFFEEDDCCBBAA9988L, 0x7766554433221100L), new byte[]{(byte)
0x1, (byte) 0x2}, 2, 0));
+ assertIllegalArgumentException(() -> Conversion.uuidToByteArray(new
UUID(
+ 0xFFEEDDCCBBAA9988L, 0x7766554433221100L), new byte[16], 2,
17));
}
}