summaryrefslogtreecommitdiffstats
path: root/src/org/uic/barcode/test/SignatureSplitTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/uic/barcode/test/SignatureSplitTest.java')
-rw-r--r--src/org/uic/barcode/test/SignatureSplitTest.java76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/org/uic/barcode/test/SignatureSplitTest.java b/src/org/uic/barcode/test/SignatureSplitTest.java
new file mode 100644
index 0000000..2e51525
--- /dev/null
+++ b/src/org/uic/barcode/test/SignatureSplitTest.java
@@ -0,0 +1,76 @@
+package org.uic.barcode.test;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+import java.math.BigInteger;
+
+import org.junit.Test;
+import org.uic.barcode.staticFrame.StaticFrame;
+import org.uic.barcode.test.utils.TestUtils;
+import org.uic.ticket.EncodingFormatException;
+
+public class SignatureSplitTest {
+
+
+ /*
+ *
+ *
+ * World-Schema DEFINITIONS AUTOMATIC TAGS ::=
+ BEGIN
+ Signature ::= SEQUENCE OF INTEGER
+ END
+
+
+ value Signature ::= {
+ 340282366920938463,
+ 134515671861986
+ }
+
+
+ Encoding using DER encoding rule
+ Signature SEQUENCE OF: tag = [UNIVERSAL 16] constructed; length = 18
+ INTEGER: tag = [UNIVERSAL 2] primitive; length = 8
+ 340282366920938463
+ INTEGER: tag = [UNIVERSAL 2] primitive; length = 6
+ 134515671861986
+ Encoded successfully in 20 bytes: 30120208 04B8ED02 83A6D3DF 02067A57 5ED68AE2
+
+
+ *
+ *
+ */
+
+
+ @Test public void testSplitSignature() throws IOException, EncodingFormatException{
+
+ BigInteger i1 = BigInteger.valueOf(340282366920938463L);
+ BigInteger i2 = BigInteger.valueOf(134515671861986L);
+
+ byte[] encoded = StaticFrame.encodeSignatureIntegerSequence(i1,i2);
+
+
+ String hex = TestUtils.hexStringFromBytes(encoded);
+
+ assertEquals(hex,"3012020804B8ED0283A6D3DF02067A575ED68AE2");
+
+ BigInteger[] ints = null;
+ try {
+ ints = StaticFrame.decodeSignatureIntegerSequence(encoded);
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ assert(ints != null);
+
+ assert(ints.length == 2);
+
+ assert(i1.equals(ints[0]));
+
+ assert(i2.equals(ints[1]));
+
+ }
+
+
+} \ No newline at end of file