diff options
Diffstat (limited to 'src/org/uic/ticket/api/test/UperEncodeUICTicketExtensionTest.java')
-rw-r--r-- | src/org/uic/ticket/api/test/UperEncodeUICTicketExtensionTest.java | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/src/org/uic/ticket/api/test/UperEncodeUICTicketExtensionTest.java b/src/org/uic/ticket/api/test/UperEncodeUICTicketExtensionTest.java deleted file mode 100644 index 3874b4e..0000000 --- a/src/org/uic/ticket/api/test/UperEncodeUICTicketExtensionTest.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.uic.ticket.api.test; - -import static org.junit.Assert.assertEquals; - -import java.util.logging.Level; - -import net.gcdc.asn1.datatypes.Asn1Optional; -import net.gcdc.asn1.datatypes.Sequence; -import net.gcdc.asn1.uper.UperEncoder; - -import org.junit.Test; -import org.uic.ticket.api.asn.omv1.ExtensionData; -import org.uic.ticket.api.asn.omv1.SequenceOfExtensionData; - - -public class UperEncodeUICTicketExtensionTest { - - /** - * Example from the Standard on UPER. - <pre> - World-Schema DEFINITIONS AUTOMATIC TAGS ::= - BEGIN - TestRecord ::= [APPLICATION 0] IMPLICIT SEQUENCE { - extensionList SEQUENCE OF ExtensionData OPTIONAL - } - ExtensionData ::= SEQUENCE { - extensionId IA5String, - extensionData OCTET STRING - } - END - - - value TestRecord ::= { extensionList { - { extensionId "1", extensionData '82DA'H } - ,{ extensionId "2", extensionData '83DA'H } - } - } - -Encoding to the file 'data.uper' using PER UNALIGNED encoding rule... -TestRecord SEQUENCE [fieldcount (not encoded) = 1] - extensionList SEQUENCE OF [count = 2] - ExtensionData SEQUENCE [fieldcount (not encoded) = 2] - extensionId IA5String [length = 1.0] - "1" - extensionData OCTET STRING [length = 2.0] - 0x82da - ExtensionData SEQUENCE [fieldcount (not encoded) = 2] - extensionId IA5String [length = 1.0] - "2" - extensionData OCTET STRING [length = 2.0] - 0x83da -Total encoded length = 10.7 -Encoded successfully in 11 bytes: -8100B102 82DA0164 0507B4 - </pre> - */ - - - @Sequence - public static class TestRecord { - - @Asn1Optional public SequenceOfExtensionData extension; - - public TestRecord() {} - public void setExtensionList(SequenceOfExtensionData sd){ - this.extension = sd; - } - } - - - @Test public void testEncodeTicket() throws IllegalArgumentException, IllegalAccessException { - TestRecord ticket = new TestRecord(); - populateTicket(ticket); - byte[] encoded = UperEncoder.encode(ticket); - String hex = UperEncoder.hexStringFromBytes(encoded); - UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex)); - String expectedHex = "8100B10282DA01640507B4"; - UperEncoder.logger.debug(String.format("first diference at index: %d",hex.compareTo(expectedHex))); - assertEquals(hex,expectedHex); - } - - @Test public void testDecodeTicket() throws IllegalArgumentException, IllegalAccessException { - TestRecord ticket = new TestRecord(); - populateTicket(ticket); - byte[] encoded = UperEncoder.encode(ticket); - String hex = UperEncoder.hexStringFromBytes(encoded); - UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex)); - String expectedHex = "8100B10282DA01640507B4"; - TestRecord decodedTicket = UperEncoder.decode(encoded, TestRecord.class); - assert(decodedTicket != null); - assertEquals(hex,expectedHex); - } - - private void populateTicket(TestRecord ticket) { - - SequenceOfExtensionData ed = new SequenceOfExtensionData(); - populateExtensionSequence(ed); - ticket.setExtensionList(ed); - - } - - - - /* - ,extension { - { extensionId "1", extensionData '82DA'H } - ,{ extensionId "2", extensionData '83DA'H } - } - */ - private void populateExtensionSequence(SequenceOfExtensionData ed) { - ExtensionData ed1 = new ExtensionData(); - ed1.setExtensionId("1"); - byte[] ba1 = { (byte) 0x82, (byte) 0xDA }; - ed1.setExtensionData(ba1); - ExtensionData ed2 = new ExtensionData(); - ed2.setExtensionId("2"); - byte[] ba2 = { (byte) 0x83, (byte) 0xDA }; - ed2.setExtensionData(ba2); - ed.add(ed1); - ed.add(ed2); - } - - - - - -} |