Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/test/java/org/spongycastle/util/utiltest/BigIntegersTest.java')
-rw-r--r--core/src/test/java/org/spongycastle/util/utiltest/BigIntegersTest.java90
1 files changed, 90 insertions, 0 deletions
diff --git a/core/src/test/java/org/spongycastle/util/utiltest/BigIntegersTest.java b/core/src/test/java/org/spongycastle/util/utiltest/BigIntegersTest.java
new file mode 100644
index 00000000..f17745ee
--- /dev/null
+++ b/core/src/test/java/org/spongycastle/util/utiltest/BigIntegersTest.java
@@ -0,0 +1,90 @@
+package org.spongycastle.util.utiltest;
+
+import java.math.BigInteger;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+import org.spongycastle.util.Arrays;
+import org.spongycastle.util.BigIntegers;
+import org.spongycastle.util.IPAddress;
+import org.spongycastle.util.encoders.Hex;
+
+public class BigIntegersTest
+ extends TestCase
+{
+ public String getName()
+ {
+ return "BigIntegers";
+ }
+
+ public void testAsUnsignedByteArray()
+ {
+ BigInteger a = new BigInteger(1, Hex.decode("ff12345678"));
+
+ byte[] a5 = BigIntegers.asUnsignedByteArray(a);
+
+ Assert.assertEquals(5, a5.length);
+ Assert.assertTrue(Arrays.areEqual(a5, Hex.decode("ff12345678")));
+
+ BigInteger b = new BigInteger(1, Hex.decode("0f12345678"));
+
+ byte[] b5 = BigIntegers.asUnsignedByteArray(b);
+
+ Assert.assertEquals(5, b5.length);
+ Assert.assertTrue(Arrays.areEqual(b5, Hex.decode("0f12345678")));
+ }
+
+ public void testFixedLengthUnsignedByteArray()
+ {
+ BigInteger a = new BigInteger(1, Hex.decode("ff12345678"));
+
+ byte[] a5 = BigIntegers.asUnsignedByteArray(5, a);
+
+ Assert.assertEquals(5, a5.length);
+ Assert.assertTrue(Arrays.areEqual(a5, Hex.decode("ff12345678")));
+
+ byte[] a6 = BigIntegers.asUnsignedByteArray(6, a);
+
+ Assert.assertEquals(6, a6.length);
+ Assert.assertEquals(0, a6[0]);
+ Assert.assertTrue(Arrays.areEqual(a6, Hex.decode("00ff12345678")));
+
+ BigInteger b = new BigInteger(1, Hex.decode("0f12345678"));
+
+ byte[] b5 = BigIntegers.asUnsignedByteArray(5, b);
+
+ Assert.assertEquals(5, b5.length);
+ Assert.assertTrue(Arrays.areEqual(b5, Hex.decode("0f12345678")));
+
+ byte[] b6 = BigIntegers.asUnsignedByteArray(6, b);
+
+ Assert.assertEquals(6, b6.length);
+ Assert.assertEquals(0, b6[0]);
+ Assert.assertTrue(Arrays.areEqual(b6, Hex.decode("000f12345678")));
+
+ BigInteger c = new BigInteger(1, Hex.decode("ff123456789a"));
+
+ try
+ {
+ byte[] c5 = BigIntegers.asUnsignedByteArray(5, c);
+
+ fail("no exception thrown");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // ignore
+ }
+
+ BigInteger d = new BigInteger(1, Hex.decode("0f123456789a"));
+ try
+ {
+ byte[] c5 = BigIntegers.asUnsignedByteArray(5, d);
+
+ fail("no exception thrown");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // ignore
+ }
+ }
+}