summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/uic
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/uic')
-rw-r--r--src/test/java/org/uic/barcode/asn1/test/UperEncodeObjectIdentifierTest.java151
-rw-r--r--src/test/java/org/uic/barcode/asn1/test/UperEncodeStringTest.java8
-rw-r--r--src/test/java/org/uic/barcode/ticketTestDB/DecodeSparpreisTicketDBTest.java242
3 files changed, 199 insertions, 202 deletions
diff --git a/src/test/java/org/uic/barcode/asn1/test/UperEncodeObjectIdentifierTest.java b/src/test/java/org/uic/barcode/asn1/test/UperEncodeObjectIdentifierTest.java
index edf3348..4b09604 100644
--- a/src/test/java/org/uic/barcode/asn1/test/UperEncodeObjectIdentifierTest.java
+++ b/src/test/java/org/uic/barcode/asn1/test/UperEncodeObjectIdentifierTest.java
@@ -1,76 +1,75 @@
-package org.uic.barcode.asn1.test;
-
-import static org.junit.Assert.assertEquals;
-import java.util.logging.Level;
-
-import org.junit.jupiter.api.Test;
-import org.uic.barcode.asn1.datatypes.Asn1Optional;
-import org.uic.barcode.asn1.datatypes.CharacterRestriction;
-import org.uic.barcode.asn1.datatypes.FieldOrder;
-import org.uic.barcode.asn1.datatypes.RestrictedString;
-import org.uic.barcode.asn1.datatypes.Sequence;
-import org.uic.barcode.asn1.uper.UperEncoder;
-
-class UperEncodeObjectIdentifierTest {
-
-
- /**
- * Example from the Standard on UPER.
- <pre>
- TestRecord ::= [APPLICATION 0] IMPLICIT SEQUENCE {
- value1 OBJECT IDENTIFIER,
- value2 OBJECT IDENTIFIER,
- value3 OBJECT IDENTIFIER
- }
-
- value TestRecord ::= {
- value1 2.16.840.1.101.3.4.3.1,
- value2 2.16.840.1.101.3.4.3.2,
- value3 1.2.840.10045.3.1.7
- }
- </pre>
- */
-
- @Sequence
- public static class TestRecord {
-
- @FieldOrder(order = 0)
- @RestrictedString(CharacterRestriction.ObjectIdentifier)
- String value1 = "2.16.840.1.101.3.4.3.1"; //DSA SHA224
-
- @FieldOrder(order = 1)
- @RestrictedString(CharacterRestriction.ObjectIdentifier)
- String value2 = "2.16.840.1.101.3.4.3.2"; //DSA SHA248
-
- @FieldOrder(order = 2)
- @RestrictedString(CharacterRestriction.ObjectIdentifier)
- String value3 = "1.2.840.10045.3.1.7"; //ECC
-
- public TestRecord() {}
-
- }
-
- @Test
- public void testEncode() throws IllegalArgumentException, IllegalAccessException {
- TestRecord record = new TestRecord();
- byte[] encoded = UperEncoder.encode(record);
- String hex = UperEncoder.hexStringFromBytes(encoded);
- UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex));
- assertEquals("0960864801650304030109608648016503040302082A8648CE3D030107",hex);
- }
-
- @Test
- public void testDecode() throws IllegalArgumentException, IllegalAccessException {
- TestRecord record = new TestRecord();
- byte[] encoded = UperEncoder.encode(record);
- String hex = UperEncoder.hexStringFromBytes(encoded);
- UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex));
- assertEquals("0960864801650304030109608648016503040302082A8648CE3D030107",hex);
- TestRecord result = UperEncoder.decode(encoded, TestRecord.class);
- assertEquals(result.value1,record.value1);
- assertEquals(result.value2,record.value2);
- assertEquals(result.value3,record.value3);
- }
-
-
-}
+package org.uic.barcode.asn1.test;
+
+import static org.junit.Assert.assertEquals;
+import java.util.logging.Level;
+
+import org.junit.Test;
+import org.uic.barcode.asn1.datatypes.CharacterRestriction;
+import org.uic.barcode.asn1.datatypes.FieldOrder;
+import org.uic.barcode.asn1.datatypes.RestrictedString;
+import org.uic.barcode.asn1.datatypes.Sequence;
+import org.uic.barcode.asn1.uper.UperEncoder;
+
+public class UperEncodeObjectIdentifierTest {
+
+
+ /**
+ * Example from the Standard on UPER.
+ <pre>
+ TestRecord ::= [APPLICATION 0] IMPLICIT SEQUENCE {
+ value1 OBJECT IDENTIFIER,
+ value2 OBJECT IDENTIFIER,
+ value3 OBJECT IDENTIFIER
+ }
+
+ value TestRecord ::= {
+ value1 2.16.840.1.101.3.4.3.1,
+ value2 2.16.840.1.101.3.4.3.2,
+ value3 1.2.840.10045.3.1.7
+ }
+ </pre>
+ */
+
+ @Sequence
+ public static class TestRecord {
+
+ @FieldOrder(order = 0)
+ @RestrictedString(CharacterRestriction.ObjectIdentifier)
+ String value1 = "2.16.840.1.101.3.4.3.1"; //DSA SHA224
+
+ @FieldOrder(order = 1)
+ @RestrictedString(CharacterRestriction.ObjectIdentifier)
+ String value2 = "2.16.840.1.101.3.4.3.2"; //DSA SHA248
+
+ @FieldOrder(order = 2)
+ @RestrictedString(CharacterRestriction.ObjectIdentifier)
+ String value3 = "1.2.840.10045.3.1.7"; //ECC
+
+ public TestRecord() {}
+
+ }
+
+ @Test
+ public void testEncode() throws IllegalArgumentException, IllegalAccessException {
+ TestRecord record = new TestRecord();
+ byte[] encoded = UperEncoder.encode(record);
+ String hex = UperEncoder.hexStringFromBytes(encoded);
+ UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex));
+ assertEquals("0960864801650304030109608648016503040302082A8648CE3D030107",hex);
+ }
+
+ @Test
+ public void testDecode() throws IllegalArgumentException, IllegalAccessException {
+ TestRecord record = new TestRecord();
+ byte[] encoded = UperEncoder.encode(record);
+ String hex = UperEncoder.hexStringFromBytes(encoded);
+ UperEncoder.logger.log(Level.FINEST,String.format("data hex: %s", hex));
+ assertEquals("0960864801650304030109608648016503040302082A8648CE3D030107",hex);
+ TestRecord result = UperEncoder.decode(encoded, TestRecord.class);
+ assertEquals(result.value1,record.value1);
+ assertEquals(result.value2,record.value2);
+ assertEquals(result.value3,record.value3);
+ }
+
+
+}
diff --git a/src/test/java/org/uic/barcode/asn1/test/UperEncodeStringTest.java b/src/test/java/org/uic/barcode/asn1/test/UperEncodeStringTest.java
index 5f4edc8..75ace32 100644
--- a/src/test/java/org/uic/barcode/asn1/test/UperEncodeStringTest.java
+++ b/src/test/java/org/uic/barcode/asn1/test/UperEncodeStringTest.java
@@ -50,7 +50,7 @@ public class UperEncodeStringTest {
@Test public void testEncode() throws IllegalArgumentException, IllegalAccessException {
- //Teststring: AêñüC
+ //Teststring: AêñüC
String original = new String("A" + "\u00ea" + "\u00f1" + "\u00fc" + "C");
TestRecord record = new TestRecord(original, "Meier");
@@ -63,7 +63,7 @@ public class UperEncodeStringTest {
@Test public void testEncodeUtf8() throws IllegalArgumentException, IllegalAccessException {
- //"你好�"
+ //"你好�"
String original = new String("\u00e4" + "\u00bd" + "\u00a0" + "\u00e5" + "\u00a5" + "\u00bd" + "\u00e5" + "\u0090" + "\u0097");
TestRecord record = new TestRecord(original, "Meier");
byte[] encoded = UperEncoder.encode(record);
@@ -76,7 +76,7 @@ public class UperEncodeStringTest {
@Test public void testDecode() throws IllegalArgumentException, IllegalAccessException {
- //Teststring: AêñüC
+ //Teststring: AêñüC
String original = new String("A" + "\u00ea" + "\u00f1" + "\u00fc" + "C");
TestRecord record = new TestRecord(original, "Meier");
@@ -91,7 +91,7 @@ public class UperEncodeStringTest {
@Test public void testDecodeUtf8() throws IllegalArgumentException, IllegalAccessException {
- //"你好�"
+ //"你好�"
String original = new String("\u00e4" + "\u00bd" + "\u00a0" + "\u00e5" + "\u00a5" + "\u00bd" + "\u00e5" + "\u0090" + "\u0097");
TestRecord record = new TestRecord(original, "Meier");
byte[] encoded = UperEncoder.encode(record);
diff --git a/src/test/java/org/uic/barcode/ticketTestDB/DecodeSparpreisTicketDBTest.java b/src/test/java/org/uic/barcode/ticketTestDB/DecodeSparpreisTicketDBTest.java
index 480ab39..979b3ca 100644
--- a/src/test/java/org/uic/barcode/ticketTestDB/DecodeSparpreisTicketDBTest.java
+++ b/src/test/java/org/uic/barcode/ticketTestDB/DecodeSparpreisTicketDBTest.java
@@ -1,123 +1,121 @@
-package org.uic.barcode.ticketTestDB;
-
-import static org.junit.jupiter.api.Assertions.assertAll;
-
-import java.util.TimeZone;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.uic.barcode.Decoder;
-import org.uic.barcode.asn1.uper.UperEncoder;
-import org.uic.barcode.staticFrame.ticketLayoutBarcode.TicketLayout;
-import org.uic.barcode.ticket.api.spec.IOpenTicket;
-import org.uic.barcode.ticket.api.spec.IPassengerType;
-import org.uic.barcode.ticket.api.spec.ITariff;
-import org.uic.barcode.ticket.api.spec.ITrainLink;
-import org.uic.barcode.ticket.api.spec.ITraveler;
-import org.uic.barcode.ticket.api.spec.IUicRailTicket;
-
-public class DecodeSparpreisTicketDBTest {
-
- TimeZone defaulttimeZone = null;
-
- /**
- * Prepare tickets.
- */
- @Before public void prepare() {
- defaulttimeZone = TimeZone.getDefault();
- //decode in local CET time zone
- TimeZone.setDefault(TimeZone.getTimeZone("CET"));
- }
-
-
- /**
- * clean up
- */
- @After public void resetTimeZone() {
- TimeZone.setDefault(defaulttimeZone);
- }
-
- @Test
- public void testDecoder() throws Exception {
-
-
- byte[] content = UperEncoder.bytesFromHexString(getEncodingV2Hex());
-
- // try to decode
- Decoder decoder = new Decoder(content);
- TicketLayout layout = decoder.getLayout();
- IUicRailTicket ticket = decoder.getUicTicket();
-
-
- Assert.assertNotNull(ticket);
-
- Assert.assertNotNull(ticket.getDocumentData());
- Assert.assertNotNull(ticket.getIssuerDetails());
- Assert.assertNotNull(ticket.getTravelerDetails());
-
- assert(ticket.getIssuerDetails().getIssuer().equals("1080"));
- assert(ticket.getIssuerDetails().getIssuerPNR().equals("D260V48G"));
- String issuingDate = ticket.getIssuerDetails().getIssuingDate().toString();
- assert(issuingDate.equals("Fri Oct 30 11:50:00 CET 2020"));
- assert(ticket.getIssuerDetails().getSecurityProvider().equals("1080"));
- assert(ticket.getIssuerDetails().isSecurePaperTicket() == false);
- assert(ticket.getIssuerDetails().isActivated() == true);
- assert(ticket.getIssuerDetails().isSpecimen() == false);
-
- assert(ticket.getTravelerDetails().getTravelers().size() == 1);
- ITraveler traveler = ticket.getTravelerDetails().getTravelers().iterator().next();
- assert(traveler.getFirstName().equals("Karsten"));
- assert(traveler.getLastName().equals("Will"));
- assert(traveler.isTicketHolder() == true);
-
- assert(ticket.getDocumentData().size() == 1);
- IOpenTicket openTicket = (IOpenTicket) ticket.getDocumentData().iterator().next();
- Assert.assertNotNull(openTicket.getValidRegionList());
- assert(openTicket.getReference().equals("CN0CTUMY"));
- String fromDate = openTicket.getValidFrom().toString();
- assert(fromDate.equals("Thu Nov 05 00:00:00 CET 2020"));
- assert(openTicket.getValidFromUTCoffset() == -4L);
- String toDate = openTicket.getValidUntil().toString();
- assert(toDate.equals("Fri Nov 06 10:00:00 CET 2020"));
- assert(openTicket.getValidUntilUTCoffset() == -4L);
-
- Assert.assertNotNull(openTicket.getTariffs());
- assert(openTicket.getTariffs().size() == 1);
- ITariff tariff = openTicket.getTariffs().iterator().next();
- assert(tariff.getNumberOfPassengers() == 1);
- assert(tariff.getPassengerType().equals(IPassengerType.adult));
- assert(tariff.getTariffDescription().equals("Super Sparpreis"));
-
- ITrainLink tl = (ITrainLink) openTicket.getValidRegionList().iterator().next();
- Assert.assertNotNull(tl);
- assert(tl.getTrain().equals("ICE973"));
- String departureDate = tl.getDepartureDateTime().toString();
- assert(departureDate.equals("Fri Nov 06 11:58:00 CET 2020"));
- Assert.assertNull(layout);
- Assert.assertNotNull(decoder);
- }
-
- public static String getEncodingV2Hex() {
-
- return "2355543032313038303030303032782e" +
- "2fe184a1d85e89e9338b298ec61aeba2" +
- "48ce722056ca940a967c8a1d39126e2c" +
- "628c4fcea91ba35216a0a350f894de5e" +
- "bd7b8909920fde947feede0e20c43031" +
- "3939789c01bc0043ff555f464c455831" +
- "333031383862b20086e10dc125ea2815" +
- "110881051c844464d985668e23a00a80" +
- "000e96c2e4e6e8cadc08aed2d8d90104" +
- "44d7be0100221ce610ea559b64364c38" +
- "a82361d1cb5e1e5d32a3d0979bd099c8" +
- "426b0b7373432b4b6852932baba3634b" +
- "733b2b715ab34b09d101e18981c181f1" +
- "424221521291521292a17a3a920a1152" +
- "5a095282314952b20a49529952826278" +
- "083001a4c38ae5bb303ace7003800700" +
- "14b00240400f53757065722053706172" +
- "7072656973c41e4a03";
- }
+package org.uic.barcode.ticketTestDB;
+
+import java.util.TimeZone;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.uic.barcode.Decoder;
+import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.staticFrame.ticketLayoutBarcode.TicketLayout;
+import org.uic.barcode.ticket.api.spec.IOpenTicket;
+import org.uic.barcode.ticket.api.spec.IPassengerType;
+import org.uic.barcode.ticket.api.spec.ITariff;
+import org.uic.barcode.ticket.api.spec.ITrainLink;
+import org.uic.barcode.ticket.api.spec.ITraveler;
+import org.uic.barcode.ticket.api.spec.IUicRailTicket;
+
+public class DecodeSparpreisTicketDBTest {
+
+ TimeZone defaulttimeZone = null;
+
+ /**
+ * Prepare tickets.
+ */
+ @Before public void prepare() {
+ defaulttimeZone = TimeZone.getDefault();
+ //decode in local CET time zone
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ }
+
+
+ /**
+ * clean up
+ */
+ @After public void resetTimeZone() {
+ TimeZone.setDefault(defaulttimeZone);
+ }
+
+ @Test
+ public void testDecoder() throws Exception {
+
+
+ byte[] content = UperEncoder.bytesFromHexString(getEncodingV2Hex());
+
+ // try to decode
+ Decoder decoder = new Decoder(content);
+ TicketLayout layout = decoder.getLayout();
+ IUicRailTicket ticket = decoder.getUicTicket();
+
+
+ Assert.assertNotNull(ticket);
+
+ Assert.assertNotNull(ticket.getDocumentData());
+ Assert.assertNotNull(ticket.getIssuerDetails());
+ Assert.assertNotNull(ticket.getTravelerDetails());
+
+ assert(ticket.getIssuerDetails().getIssuer().equals("1080"));
+ assert(ticket.getIssuerDetails().getIssuerPNR().equals("D260V48G"));
+ String issuingDate = ticket.getIssuerDetails().getIssuingDate().toString();
+ assert(issuingDate.equals("Fri Oct 30 11:50:00 CET 2020"));
+ assert(ticket.getIssuerDetails().getSecurityProvider().equals("1080"));
+ assert(ticket.getIssuerDetails().isSecurePaperTicket() == false);
+ assert(ticket.getIssuerDetails().isActivated() == true);
+ assert(ticket.getIssuerDetails().isSpecimen() == false);
+
+ assert(ticket.getTravelerDetails().getTravelers().size() == 1);
+ ITraveler traveler = ticket.getTravelerDetails().getTravelers().iterator().next();
+ assert(traveler.getFirstName().equals("Karsten"));
+ assert(traveler.getLastName().equals("Will"));
+ assert(traveler.isTicketHolder() == true);
+
+ assert(ticket.getDocumentData().size() == 1);
+ IOpenTicket openTicket = (IOpenTicket) ticket.getDocumentData().iterator().next();
+ Assert.assertNotNull(openTicket.getValidRegionList());
+ assert(openTicket.getReference().equals("CN0CTUMY"));
+ String fromDate = openTicket.getValidFrom().toString();
+ assert(fromDate.equals("Thu Nov 05 00:00:00 CET 2020"));
+ assert(openTicket.getValidFromUTCoffset() == -4L);
+ String toDate = openTicket.getValidUntil().toString();
+ assert(toDate.equals("Fri Nov 06 10:00:00 CET 2020"));
+ assert(openTicket.getValidUntilUTCoffset() == -4L);
+
+ Assert.assertNotNull(openTicket.getTariffs());
+ assert(openTicket.getTariffs().size() == 1);
+ ITariff tariff = openTicket.getTariffs().iterator().next();
+ assert(tariff.getNumberOfPassengers() == 1);
+ assert(tariff.getPassengerType().equals(IPassengerType.adult));
+ assert(tariff.getTariffDescription().equals("Super Sparpreis"));
+
+ ITrainLink tl = (ITrainLink) openTicket.getValidRegionList().iterator().next();
+ Assert.assertNotNull(tl);
+ assert(tl.getTrain().equals("ICE973"));
+ String departureDate = tl.getDepartureDateTime().toString();
+ assert(departureDate.equals("Fri Nov 06 11:58:00 CET 2020"));
+ Assert.assertNull(layout);
+ Assert.assertNotNull(decoder);
+ }
+
+ public static String getEncodingV2Hex() {
+
+ return "2355543032313038303030303032782e" +
+ "2fe184a1d85e89e9338b298ec61aeba2" +
+ "48ce722056ca940a967c8a1d39126e2c" +
+ "628c4fcea91ba35216a0a350f894de5e" +
+ "bd7b8909920fde947feede0e20c43031" +
+ "3939789c01bc0043ff555f464c455831" +
+ "333031383862b20086e10dc125ea2815" +
+ "110881051c844464d985668e23a00a80" +
+ "000e96c2e4e6e8cadc08aed2d8d90104" +
+ "44d7be0100221ce610ea559b64364c38" +
+ "a82361d1cb5e1e5d32a3d0979bd099c8" +
+ "426b0b7373432b4b6852932baba3634b" +
+ "733b2b715ab34b09d101e18981c181f1" +
+ "424221521291521292a17a3a920a1152" +
+ "5a095282314952b20a49529952826278" +
+ "083001a4c38ae5bb303ace7003800700" +
+ "14b00240400f53757065722053706172" +
+ "7072656973c41e4a03";
+ }
} \ No newline at end of file