From 155efa2b875fc0cf64bff4de5ce3ecb86c724e4d Mon Sep 17 00:00:00 2001 From: John Doe Date: Fri, 9 Apr 2021 13:03:50 +0200 Subject: moved resource files to misc; got rid of unused junit5; fixed encoding; adapted changes to. pom.xml; --- .../asn1/test/UperEncodeObjectIdentifierTest.java | 151 +++++++------ .../barcode/asn1/test/UperEncodeStringTest.java | 8 +- .../ticketTestDB/DecodeSparpreisTicketDBTest.java | 242 ++++++++++----------- 3 files changed, 199 insertions(+), 202 deletions(-) mode change 100644 => 100755 src/test/java/org/uic/barcode/asn1/test/UperEncodeStringTest.java (limited to 'src/test/java/org') 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. -
-		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			
-		}
-    
- */ - - @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. +
+		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			
+		}
+    
+ */ + + @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 old mode 100644 new mode 100755 index 5f4edc8..75ace32 --- 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 -- cgit v1.2.3