diff options
author | Arturo Bernal <arturobernalg@gmail.com> | 2022-04-07 10:48:49 +0200 |
---|---|---|
committer | Alex Herbert <aherbert@apache.org> | 2022-05-27 16:17:41 +0100 |
commit | cf7c9522aa99d0d180e54ac5abe849f19d153d25 (patch) | |
tree | 10799e768e181d97f998d5f4932b61521b65306c /src/test/java/org/apache/commons | |
parent | 6eb223bb8c68540e3f2bfa08c3d87b4cf7dfb544 (diff) | |
download | apache-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.java | 28 |
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)}. */ |