aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/apache/commons
diff options
context:
space:
mode:
authorArturo Bernal <arturobernalg@gmail.com>2022-04-07 10:48:49 +0200
committerAlex Herbert <aherbert@apache.org>2022-05-27 16:17:41 +0100
commitcf7c9522aa99d0d180e54ac5abe849f19d153d25 (patch)
tree10799e768e181d97f998d5f4932b61521b65306c /src/test/java/org/apache/commons
parent6eb223bb8c68540e3f2bfa08c3d87b4cf7dfb544 (diff)
downloadapache-commons-lang-cf7c9522aa99d0d180e54ac5abe849f19d153d25.tar.gz
Rewrite method to be the same as binaryToHexDigit but working from the end of the array backwards.
Diffstat (limited to 'src/test/java/org/apache/commons')
-rw-r--r--src/test/java/org/apache/commons/lang3/ConversionTest.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/java/org/apache/commons/lang3/ConversionTest.java b/src/test/java/org/apache/commons/lang3/ConversionTest.java
index 59b372bd6..ec104e6dd 100644
--- a/src/test/java/org/apache/commons/lang3/ConversionTest.java
+++ b/src/test/java/org/apache/commons/lang3/ConversionTest.java
@@ -20,9 +20,13 @@ import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
+import java.util.Arrays;
+import java.util.SplittableRandom;
import java.util.UUID;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
/**
@@ -413,6 +417,30 @@ public class ConversionTest {
}
+ @Test
+ public void testBinaryToHexDigitReverse() {
+ final SplittableRandom rng = new SplittableRandom();
+ final boolean[] x = new boolean[8];
+ for (int i = 0; i < 100; i++) {
+ Conversion.longToBinary(rng.nextLong(), 0, x, 0, 8);
+ for (int j = 1; j <= 8; j++) {
+ final boolean[] a = Arrays.copyOf(x, j);
+ final boolean[] b = a.clone();
+ ArrayUtils.reverse(b);
+ for (int k = 0; k < j; k++) {
+ assertEquals(Conversion.binaryToHexDigit(a, k),
+ Conversion.binaryBeMsb0ToHexDigit(b, k));
+ }
+ }
+ }
+ }
+
+ @ParameterizedTest
+ @ValueSource(ints = {-1, 8, 99})
+ public void binaryBeMsb0ToHexDigitPosOutsideArray(int index) {
+ assertThrows(IndexOutOfBoundsException.class,
+ () -> Conversion.binaryBeMsb0ToHexDigit(new boolean[8], index));
+ }
/**
* Tests {@link Conversion#intToHexDigit(int)}.
*/