diff options
author | CGantert345 <57003061+CGantert345@users.noreply.github.com> | 2022-04-05 11:19:47 +0200 |
---|---|---|
committer | CGantert345 <57003061+CGantert345@users.noreply.github.com> | 2022-04-05 11:19:47 +0200 |
commit | 922076d807974cefa6ade28f689a20f1a90fddeb (patch) | |
tree | 4aa039e426f36ac10470f08f21d07d0493695987 /src/test/java/org/uic/barcode/ticket | |
parent | - use different module names in ASN.1 (diff) | |
download | UIC-barcode-922076d807974cefa6ade28f689a20f1a90fddeb.tar UIC-barcode-922076d807974cefa6ade28f689a20f1a90fddeb.tar.gz UIC-barcode-922076d807974cefa6ade28f689a20f1a90fddeb.tar.bz2 UIC-barcode-922076d807974cefa6ade28f689a20f1a90fddeb.tar.lz UIC-barcode-922076d807974cefa6ade28f689a20f1a90fddeb.tar.xz UIC-barcode-922076d807974cefa6ade28f689a20f1a90fddeb.tar.zst UIC-barcode-922076d807974cefa6ade28f689a20f1a90fddeb.zip |
Diffstat (limited to 'src/test/java/org/uic/barcode/ticket')
46 files changed, 1822 insertions, 1686 deletions
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelAllElementsTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelAllElementsTestV3.java index a5b4765..c0fb248 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelAllElementsTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelAllElementsTestV3.java @@ -7,6 +7,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.HemisphereLongitudeType;
import org.uic.barcode.ticket.api.asn.omv3.IncludedOpenTicketType;
import org.uic.barcode.ticket.api.asn.omv3.LineType;
@@ -70,6 +71,8 @@ public class AsnLevelAllElementsTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCarCarriageTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCarCarriageTestV3.java index 955e2cf..39c4440 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCarCarriageTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCarCarriageTestV3.java @@ -10,6 +10,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.CarCarriageReservationData;
import org.uic.barcode.ticket.api.asn.omv3.LoadingDeckType;
import org.uic.barcode.ticket.api.asn.omv3.PriceTypeType;
@@ -41,6 +42,8 @@ public class AsnLevelCarCarriageTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCountermarkComplexTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCountermarkComplexTestV1.java index e7dbd50..21fe946 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCountermarkComplexTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCountermarkComplexTestV1.java @@ -7,6 +7,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData;
import org.uic.barcode.ticket.api.test.testtickets.CountermarkTestComplexTicketV1;
@@ -34,6 +35,8 @@ public class AsnLevelCountermarkComplexTestV1 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCountermarkComplexTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCountermarkComplexTestV3.java index 918615c..60f5375 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCountermarkComplexTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelCountermarkComplexTestV3.java @@ -7,6 +7,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.CountermarkData;
import org.uic.barcode.ticket.api.asn.omv3.TravelClassType;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
@@ -38,6 +39,8 @@ public class AsnLevelCountermarkComplexTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelDelayConfirmationTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelDelayConfirmationTestV3.java index 8a2cbde..3bcd759 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelDelayConfirmationTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelDelayConfirmationTestV3.java @@ -10,6 +10,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.LinkMode;
import org.uic.barcode.ticket.api.asn.omv3.TicketType;
import org.uic.barcode.ticket.api.asn.omv3.DelayConfirmation;
@@ -40,6 +41,8 @@ public class AsnLevelDelayConfirmationTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelParkingTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelParkingTestV3.java index e45ae13..8077a13 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelParkingTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelParkingTestV3.java @@ -7,6 +7,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.ParkingGroundData;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
import org.uic.barcode.ticket.api.test.testtickets.ParkingTestTicketV3;
@@ -35,6 +36,8 @@ public class AsnLevelParkingTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelStationPassageTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelStationPassageTestV3.java index a1496c8..b2f1c9b 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelStationPassageTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelStationPassageTestV3.java @@ -7,6 +7,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
import org.uic.barcode.ticket.api.test.testtickets.StationPassageTestTicketV3;
@@ -34,6 +35,8 @@ public class AsnLevelStationPassageTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelVoucherTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelVoucherTestV3.java index eacdabb..6d25531 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelVoucherTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/AsnLevelVoucherTestV3.java @@ -7,6 +7,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.VoucherData;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
import org.uic.barcode.ticket.api.test.testtickets.VoucherTestTicketV3;
@@ -35,6 +36,8 @@ public class AsnLevelVoucherTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/CounterMarkTimeZoneTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/CounterMarkTimeZoneTestV3.java index 1a05e6f..c83c95b 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/CounterMarkTimeZoneTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/CounterMarkTimeZoneTestV3.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
import org.uic.barcode.ticket.api.spec.ICounterMark;
@@ -87,6 +88,8 @@ public class CounterMarkTimeZoneTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
UicRailTicketData ticket1 = CountermarkTestComplexTicketV3.getUicTestTicket();
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV1.java index 315774e..d9e5ba9 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV1.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData;
import org.uic.barcode.ticket.api.spec.ICustomerCard;
@@ -85,6 +86,8 @@ public class CustomerCardTimeZoneTestV1 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
UicRailTicketData ticket1 = CustomerCardTestTicketV1.getUicTestTicket();
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV2.java b/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV2.java index e8857ab..d9ae8dc 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV2.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV2.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.asn.omv2.UicRailTicketData;
import org.uic.barcode.ticket.api.spec.ICustomerCard;
@@ -85,6 +86,9 @@ public class CustomerCardTimeZoneTestV2 { */
@Before public void prepare() {
+
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
UicRailTicketData ticket1 = CustomerCardTestTicketV2.getUicTestTicket();
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV3.java index da0879b..ad1b0da 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/CustomerCardTimeZoneTestV3.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
import org.uic.barcode.ticket.api.spec.ICustomerCard;
@@ -87,6 +88,8 @@ public class CustomerCardTimeZoneTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
UicRailTicketData ticket1 = CustomerCardTestTicketV3.getUicTestTicket();
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/DateTimeUtilsTest.java b/src/test/java/org/uic/barcode/ticket/api/test/DateTimeUtilsTest.java index 5b2e578..b818738 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/DateTimeUtilsTest.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/DateTimeUtilsTest.java @@ -2,13 +2,18 @@ package org.uic.barcode.ticket.api.test; import java.util.Calendar; import java.util.TimeZone; + +import org.junit.Before; import org.junit.Test; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.api.utils.DateTimeUtils; public class DateTimeUtilsTest{ - + @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + } @Test public void testDateDiff1() throws IllegalArgumentException, IllegalAccessException { diff --git a/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV1.java index c9b0f31..8cf0736 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV1.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IFipTicket; @@ -89,6 +90,8 @@ public class FipTimeZoneTestV1 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); UicRailTicketData ticket1 = FipTimeZoneTestTicketV1.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV2.java b/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV2.java index 89b6562..8b8c542 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV2.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV2.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv2.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IFipTicket; @@ -89,6 +90,8 @@ public class FipTimeZoneTestV2 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); UicRailTicketData ticket1 = FipTimeZoneTestTicketV2.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV3.java index a4c542e..fca31a9 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/FipTimeZoneTestV3.java @@ -1,347 +1,350 @@ -package org.uic.barcode.ticket.api.test; - -import java.io.IOException; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.TimeZone; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.uic.barcode.asn1.uper.UperEncoder; -import org.uic.barcode.ticket.EncodingFormatException; -import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData; -import org.uic.barcode.ticket.api.spec.IFipTicket; -import org.uic.barcode.ticket.api.spec.IUicRailTicket; -import org.uic.barcode.ticket.api.test.testtickets.FipTimeZoneTestTicketV3; -import org.uic.barcode.ticket.api.utils.Api2AsnEncoder; -import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoderV3; -import org.uic.barcode.ticket.api.utils.Asn2ApiDecoder; -import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoderV3; - - -/** - * The Class FipTimeZoneTestV1. - * - * - * - */ -public class FipTimeZoneTestV3 { - - /** The low level encoded test ticket test case 1 . */ - private byte[] encoded1 = null; - - /** The low level encoded test ticket test case 2 . */ - private byte[] encoded2 = null; - - /** The low level encoded test ticket test case 3 . */ - private byte[] encoded3 = null; - - /** The decoder. */ - Asn2ApiDecoder decoder = new OpenAsn2ApiDecoderV3(); - - /** The encoder. */ - Api2AsnEncoder encoder = new Api2OpenAsnEncoderV3(); - - /** The API ticket low level encoded for case 1. */ - IUicRailTicket iTicketDecodedFromAsn1Case1 = null; - - /** The API ticket low level encoded for case 2. */ - IUicRailTicket iTicketDecodedFromAsn1Case2 = null; - - /** The API ticket low level encoded for case 3. */ - IUicRailTicket iTicketDecodedFromAsn1Case3 = null; - - - /** The ticket decoded 1. */ - IUicRailTicket iTicketDecodedCase1 = null; - - /** The i ticket decoded 2. */ - IUicRailTicket iTicketDecodedCase2 = null; - - /** The i ticket decoded 3. */ - IUicRailTicket iTicketDecodedCase3 = null; - - byte[] encodedInTimeZone1 = null; - byte[] encodedInTimeZone2 = null; - byte[] encodedInTimeZone3 = null; - - String issuingDate1 = null; - String issuingDate2 = null; - String issuingDate3 = null; - - String validFrom1 = null; - String validFrom2 = null; - String validFrom3 = null; - - String validUntil1 = null; - String validUntil2 = null; - String validUntil3 = null; - - String activationDate1 = null; - String activationDate2 = null; - String activationDate3 = null; - - TimeZone defaulttimeZone = null; - - /** - * Prepare tickets. - */ - @Before public void prepare() { - - defaulttimeZone = TimeZone.getDefault(); - - UicRailTicketData ticket1 = FipTimeZoneTestTicketV3.getUicTestTicket(); - UicRailTicketData ticket2 = FipTimeZoneTestTicketV3.getUicTestTicket(); - UicRailTicketData ticket3 = FipTimeZoneTestTicketV3.getUicTestTicket(); - - //encode in UTC time zone - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - encoded1 = UperEncoder.encode(ticket1); - encoded2 = UperEncoder.encode(ticket2); - encoded3 = UperEncoder.encode(ticket3); - - } - - /** - * clean up - */ - @After public void resetTimeZone() { - TimeZone.setDefault(defaulttimeZone); - } - - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testCETCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone CET - TimeZone.setDefault(TimeZone.getTimeZone("CET")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromTo("2021.03.14-00:00"); - setValidUntilTo("2021.03.24-23:59"); - setActivatedDayTo("2021.03.14-00:00"); - - encode("CET"); - decode("CET"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" )); - assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" )); - assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" )); - - assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" )); - - assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - } - - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testGMTCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone GMT - TimeZone.setDefault(TimeZone.getTimeZone("GMT")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromTo("2021.03.14-00:00"); - setValidUntilTo("2021.03.24-23:59"); - setActivatedDayTo("2021.03.14-00:00"); - - encode("GMT"); - decode("CET"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" )); - assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" )); - assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" )); - - assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" )); - - assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - } - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testCETGMTencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone GMT - TimeZone.setDefault(TimeZone.getTimeZone("CET")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromTo("2021.03.14-00:00"); - setValidUntilTo("2021.03.24-23:59"); - setActivatedDayTo("2021.03.14-00:00"); - - encode("CET"); - decode("GMT"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 12:30:00 GMT 2021" )); - assert(issuingDate2.equals("Thu Mar 04 00:30:00 GMT 2021" )); - assert(issuingDate3.equals("Wed Mar 03 23:30:00 GMT 2021" )); - - assert(validFrom1.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(validFrom2.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(validFrom3.equals("Sun Mar 14 00:00:00 GMT 2021" )); - - assert(validUntil1.equals("Wed Mar 24 23:59:00 GMT 2021" )); - assert(validUntil2.equals("Wed Mar 24 23:59:00 GMT 2021" )); - assert(validUntil3.equals("Wed Mar 24 23:59:00 GMT 2021" )); - - assert(activationDate1.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(activationDate2.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(activationDate3.equals("Sun Mar 14 00:00:00 GMT 2021" )); - - } - - private void decodedDateToStrings() { - - issuingDate1 = iTicketDecodedCase1.getIssuerDetails().getIssuingDate().toString(); - issuingDate2 = iTicketDecodedCase2.getIssuerDetails().getIssuingDate().toString(); - issuingDate3 = iTicketDecodedCase3.getIssuerDetails().getIssuingDate().toString(); - - validFrom1 = ((IFipTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidFrom().toString(); - validFrom2 = ((IFipTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidFrom().toString(); - validFrom3 = ((IFipTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidFrom().toString(); - - validUntil1 = ((IFipTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidUntil().toString(); - validUntil2 = ((IFipTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidUntil().toString(); - validUntil3 = ((IFipTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidUntil().toString(); - - activationDate1 = ((IFipTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString(); - activationDate2 = ((IFipTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString(); - activationDate3 = ((IFipTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString(); - - } - - - private void setActivatedDayTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IFipTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IFipTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().add(date); - - ((IFipTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IFipTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().add(date); - - ((IFipTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IFipTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().add(date); - - } - - private void setValidFromTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IFipTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(date); - ((IFipTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(date); - ((IFipTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(date); - } - - private void setValidUntilTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IFipTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidUntil(date); - ((IFipTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidUntil(date); - ((IFipTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidUntil(date); - } - - - /** - * Encode in Time Zone - */ - private void encode(String timeZone) { - TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); - try { - encodedInTimeZone1 = encoder.encode(iTicketDecodedFromAsn1Case1); - encodedInTimeZone2 = encoder.encode(iTicketDecodedFromAsn1Case2); - encodedInTimeZone3 = encoder.encode(iTicketDecodedFromAsn1Case3); - } catch (EncodingFormatException e) { - e.printStackTrace(); - } - } - - /** - * Decode in Time Zone - */ - private void decode(String timeZone) { - TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); - - try { - iTicketDecodedCase1 = decoder.decodeFromAsn(encodedInTimeZone1); - iTicketDecodedCase2 = decoder.decodeFromAsn(encodedInTimeZone2); - iTicketDecodedCase3 = decoder.decodeFromAsn(encodedInTimeZone3); - } catch (IOException e) { - e.printStackTrace(); - } - } - - - /** - * Encode decode. - */ - private void decodeTestTicketUTC() { - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - try { - iTicketDecodedFromAsn1Case1 = decoder.decodeFromAsn(encoded1); - iTicketDecodedFromAsn1Case2 = decoder.decodeFromAsn(encoded2); - iTicketDecodedFromAsn1Case3 = decoder.decodeFromAsn(encoded3); - } catch (IOException e) { - e.printStackTrace(); - } - - } - -} +package org.uic.barcode.ticket.api.test;
+
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
+import org.uic.barcode.ticket.EncodingFormatException;
+import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
+import org.uic.barcode.ticket.api.spec.IFipTicket;
+import org.uic.barcode.ticket.api.spec.IUicRailTicket;
+import org.uic.barcode.ticket.api.test.testtickets.FipTimeZoneTestTicketV3;
+import org.uic.barcode.ticket.api.utils.Api2AsnEncoder;
+import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoderV3;
+import org.uic.barcode.ticket.api.utils.Asn2ApiDecoder;
+import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoderV3;
+
+
+/**
+ * The Class FipTimeZoneTestV1.
+ *
+ *
+ *
+ */
+public class FipTimeZoneTestV3 {
+
+ /** The low level encoded test ticket test case 1 . */
+ private byte[] encoded1 = null;
+
+ /** The low level encoded test ticket test case 2 . */
+ private byte[] encoded2 = null;
+
+ /** The low level encoded test ticket test case 3 . */
+ private byte[] encoded3 = null;
+
+ /** The decoder. */
+ Asn2ApiDecoder decoder = new OpenAsn2ApiDecoderV3();
+
+ /** The encoder. */
+ Api2AsnEncoder encoder = new Api2OpenAsnEncoderV3();
+
+ /** The API ticket low level encoded for case 1. */
+ IUicRailTicket iTicketDecodedFromAsn1Case1 = null;
+
+ /** The API ticket low level encoded for case 2. */
+ IUicRailTicket iTicketDecodedFromAsn1Case2 = null;
+
+ /** The API ticket low level encoded for case 3. */
+ IUicRailTicket iTicketDecodedFromAsn1Case3 = null;
+
+
+ /** The ticket decoded 1. */
+ IUicRailTicket iTicketDecodedCase1 = null;
+
+ /** The i ticket decoded 2. */
+ IUicRailTicket iTicketDecodedCase2 = null;
+
+ /** The i ticket decoded 3. */
+ IUicRailTicket iTicketDecodedCase3 = null;
+
+ byte[] encodedInTimeZone1 = null;
+ byte[] encodedInTimeZone2 = null;
+ byte[] encodedInTimeZone3 = null;
+
+ String issuingDate1 = null;
+ String issuingDate2 = null;
+ String issuingDate3 = null;
+
+ String validFrom1 = null;
+ String validFrom2 = null;
+ String validFrom3 = null;
+
+ String validUntil1 = null;
+ String validUntil2 = null;
+ String validUntil3 = null;
+
+ String activationDate1 = null;
+ String activationDate2 = null;
+ String activationDate3 = null;
+
+ TimeZone defaulttimeZone = null;
+
+ /**
+ * Prepare tickets.
+ */
+ @Before public void prepare() {
+
+ LoggerFactory.setActivateConsoleLog(true);
+
+ defaulttimeZone = TimeZone.getDefault();
+
+ UicRailTicketData ticket1 = FipTimeZoneTestTicketV3.getUicTestTicket();
+ UicRailTicketData ticket2 = FipTimeZoneTestTicketV3.getUicTestTicket();
+ UicRailTicketData ticket3 = FipTimeZoneTestTicketV3.getUicTestTicket();
+
+ //encode in UTC time zone
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+
+ encoded1 = UperEncoder.encode(ticket1);
+ encoded2 = UperEncoder.encode(ticket2);
+ encoded3 = UperEncoder.encode(ticket3);
+
+ }
+
+ /**
+ * clean up
+ */
+ @After public void resetTimeZone() {
+ TimeZone.setDefault(defaulttimeZone);
+ }
+
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testCETCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone CET
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromTo("2021.03.14-00:00");
+ setValidUntilTo("2021.03.24-23:59");
+ setActivatedDayTo("2021.03.14-00:00");
+
+ encode("CET");
+ decode("CET");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" ));
+ assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" ));
+
+ assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" ));
+
+ assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ }
+
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testGMTCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone GMT
+ TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromTo("2021.03.14-00:00");
+ setValidUntilTo("2021.03.24-23:59");
+ setActivatedDayTo("2021.03.14-00:00");
+
+ encode("GMT");
+ decode("CET");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" ));
+ assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" ));
+
+ assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" ));
+
+ assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ }
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testCETGMTencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone GMT
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromTo("2021.03.14-00:00");
+ setValidUntilTo("2021.03.24-23:59");
+ setActivatedDayTo("2021.03.14-00:00");
+
+ encode("CET");
+ decode("GMT");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 12:30:00 GMT 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 00:30:00 GMT 2021" ));
+ assert(issuingDate3.equals("Wed Mar 03 23:30:00 GMT 2021" ));
+
+ assert(validFrom1.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(validFrom2.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(validFrom3.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+
+ assert(validUntil1.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+ assert(validUntil2.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+ assert(validUntil3.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+
+ assert(activationDate1.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(activationDate2.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(activationDate3.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+
+ }
+
+ private void decodedDateToStrings() {
+
+ issuingDate1 = iTicketDecodedCase1.getIssuerDetails().getIssuingDate().toString();
+ issuingDate2 = iTicketDecodedCase2.getIssuerDetails().getIssuingDate().toString();
+ issuingDate3 = iTicketDecodedCase3.getIssuerDetails().getIssuingDate().toString();
+
+ validFrom1 = ((IFipTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidFrom().toString();
+ validFrom2 = ((IFipTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidFrom().toString();
+ validFrom3 = ((IFipTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidFrom().toString();
+
+ validUntil1 = ((IFipTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidUntil().toString();
+ validUntil2 = ((IFipTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidUntil().toString();
+ validUntil3 = ((IFipTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidUntil().toString();
+
+ activationDate1 = ((IFipTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString();
+ activationDate2 = ((IFipTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString();
+ activationDate3 = ((IFipTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString();
+
+ }
+
+
+ private void setActivatedDayTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IFipTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().clear();
+ ((IFipTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().add(date);
+
+ ((IFipTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().clear();
+ ((IFipTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().add(date);
+
+ ((IFipTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().clear();
+ ((IFipTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().add(date);
+
+ }
+
+ private void setValidFromTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IFipTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(date);
+ ((IFipTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(date);
+ ((IFipTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(date);
+ }
+
+ private void setValidUntilTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IFipTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidUntil(date);
+ ((IFipTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidUntil(date);
+ ((IFipTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidUntil(date);
+ }
+
+
+ /**
+ * Encode in Time Zone
+ */
+ private void encode(String timeZone) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
+ try {
+ encodedInTimeZone1 = encoder.encode(iTicketDecodedFromAsn1Case1);
+ encodedInTimeZone2 = encoder.encode(iTicketDecodedFromAsn1Case2);
+ encodedInTimeZone3 = encoder.encode(iTicketDecodedFromAsn1Case3);
+ } catch (EncodingFormatException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Decode in Time Zone
+ */
+ private void decode(String timeZone) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
+
+ try {
+ iTicketDecodedCase1 = decoder.decodeFromAsn(encodedInTimeZone1);
+ iTicketDecodedCase2 = decoder.decodeFromAsn(encodedInTimeZone2);
+ iTicketDecodedCase3 = decoder.decodeFromAsn(encodedInTimeZone3);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * Encode decode.
+ */
+ private void decodeTestTicketUTC() {
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+ try {
+ iTicketDecodedFromAsn1Case1 = decoder.decodeFromAsn(encoded1);
+ iTicketDecodedFromAsn1Case2 = decoder.decodeFromAsn(encoded2);
+ iTicketDecodedFromAsn1Case3 = decoder.decodeFromAsn(encoded3);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+}
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV1.java index 4b1d61e..1ee9bc1 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV1.java @@ -7,6 +7,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData; import org.uic.barcode.ticket.api.test.testtickets.OpenTestComplexTicketV1; @@ -35,6 +36,8 @@ public class OpenTicketComplexTestV1 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); //encode in UTC time zone diff --git a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV2.java b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV2.java index da167c4..86bf2d4 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV2.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV2.java @@ -7,6 +7,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.api.asn.omv2.UicRailTicketData; import org.uic.barcode.ticket.api.test.testtickets.OpenTestComplexTicketV2; @@ -35,6 +36,8 @@ public class OpenTicketComplexTestV2 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); //encode in UTC time zone diff --git a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV3.java index 21266a9..e04fbb7 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketComplexTestV3.java @@ -8,6 +8,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.IncludedOpenTicketType;
import org.uic.barcode.ticket.api.asn.omv3.OpenTicketData;
import org.uic.barcode.ticket.api.asn.omv3.PassengerType;
@@ -39,6 +40,8 @@ public class OpenTicketComplexTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketINcludedTicketDateTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketINcludedTicketDateTestV3.java index 5631489..5420675 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketINcludedTicketDateTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketINcludedTicketDateTestV3.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.CodeTableType;
import org.uic.barcode.ticket.api.asn.omv3.IncludedOpenTicketType;
import org.uic.barcode.ticket.api.asn.omv3.OpenTicketData;
@@ -42,6 +43,8 @@ public class OpenTicketINcludedTicketDateTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketRestrictedLuggageComplexTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketRestrictedLuggageComplexTestV3.java index fe0bdda..5ae24b4 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketRestrictedLuggageComplexTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketRestrictedLuggageComplexTestV3.java @@ -8,6 +8,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.IncludedOpenTicketType;
import org.uic.barcode.ticket.api.asn.omv3.OpenTicketData;
import org.uic.barcode.ticket.api.asn.omv3.PassengerType;
@@ -39,6 +40,8 @@ public class OpenTicketRestrictedLuggageComplexTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTimeZoneTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTimeZoneTestV1.java index c2d288e..8d632c8 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTimeZoneTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTimeZoneTestV1.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IOpenTicket; @@ -89,6 +90,8 @@ public class OpenTicketTimeZoneTestV1 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); UicRailTicketData ticket1 = OpenTicketTimeZoneTestTicketV1.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTimeZoneTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTimeZoneTestV3.java index 236d8b0..cc94978 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTimeZoneTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTimeZoneTestV3.java @@ -1,347 +1,350 @@ -package org.uic.barcode.ticket.api.test; - -import java.io.IOException; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.TimeZone; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.uic.barcode.asn1.uper.UperEncoder; -import org.uic.barcode.ticket.EncodingFormatException; -import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData; -import org.uic.barcode.ticket.api.spec.IOpenTicket; -import org.uic.barcode.ticket.api.spec.IUicRailTicket; -import org.uic.barcode.ticket.api.test.testtickets.OpenTicketTimeZoneTestTicketV3; -import org.uic.barcode.ticket.api.utils.Api2AsnEncoder; -import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoderV3; -import org.uic.barcode.ticket.api.utils.Asn2ApiDecoder; -import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoderV3; - - -/** - * The Class FipTimeZoneTestV2. - * - * - * - */ -public class OpenTicketTimeZoneTestV3 { - - /** The low level encoded test ticket test case 1 . */ - private byte[] encoded1 = null; - - /** The low level encoded test ticket test case 2 . */ - private byte[] encoded2 = null; - - /** The low level encoded test ticket test case 3 . */ - private byte[] encoded3 = null; - - /** The decoder. */ - Asn2ApiDecoder decoder = new OpenAsn2ApiDecoderV3(); - - /** The encoder. */ - Api2AsnEncoder encoder = new Api2OpenAsnEncoderV3(); - - /** The API ticket low level encoded for case 1. */ - IUicRailTicket iTicketDecodedFromAsn1Case1 = null; - - /** The API ticket low level encoded for case 2. */ - IUicRailTicket iTicketDecodedFromAsn1Case2 = null; - - /** The API ticket low level encoded for case 3. */ - IUicRailTicket iTicketDecodedFromAsn1Case3 = null; - - - /** The ticket decoded 1. */ - IUicRailTicket iTicketDecodedCase1 = null; - - /** The i ticket decoded 2. */ - IUicRailTicket iTicketDecodedCase2 = null; - - /** The i ticket decoded 3. */ - IUicRailTicket iTicketDecodedCase3 = null; - - byte[] encodedInTimeZone1 = null; - byte[] encodedInTimeZone2 = null; - byte[] encodedInTimeZone3 = null; - - String issuingDate1 = null; - String issuingDate2 = null; - String issuingDate3 = null; - - String validFrom1 = null; - String validFrom2 = null; - String validFrom3 = null; - - String validUntil1 = null; - String validUntil2 = null; - String validUntil3 = null; - - String activationDate1 = null; - String activationDate2 = null; - String activationDate3 = null; - - TimeZone defaulttimeZone = null; - - /** - * Prepare tickets. - */ - @Before public void prepare() { - - defaulttimeZone = TimeZone.getDefault(); - - UicRailTicketData ticket1 = OpenTicketTimeZoneTestTicketV3.getUicTestTicket(); - UicRailTicketData ticket2 = OpenTicketTimeZoneTestTicketV3.getUicTestTicket(); - UicRailTicketData ticket3 = OpenTicketTimeZoneTestTicketV3.getUicTestTicket(); - - //encode in UTC time zone - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - encoded1 = UperEncoder.encode(ticket1); - encoded2 = UperEncoder.encode(ticket2); - encoded3 = UperEncoder.encode(ticket3); - - } - - /** - * clean up - */ - @After public void resetTimeZone() { - TimeZone.setDefault(defaulttimeZone); - } - - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testCETCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone CET - TimeZone.setDefault(TimeZone.getTimeZone("CET")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromTo("2021.03.14-00:00"); - setValidUntilTo("2021.03.24-23:59"); - setActivatedDayTo("2021.03.14-00:00"); - - encode("CET"); - decode("CET"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" )); - assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" )); - assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" )); - - assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" )); - - assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - } - - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testGMTCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone GMT - TimeZone.setDefault(TimeZone.getTimeZone("GMT")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromTo("2021.03.14-00:00"); - setValidUntilTo("2021.03.24-23:59"); - setActivatedDayTo("2021.03.14-00:00"); - - encode("GMT"); - decode("CET"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" )); - assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" )); - assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" )); - - assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" )); - - assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - } - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testCETGMTencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone GMT - TimeZone.setDefault(TimeZone.getTimeZone("CET")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromTo("2021.03.14-00:00"); - setValidUntilTo("2021.03.24-23:59"); - setActivatedDayTo("2021.03.14-00:00"); - - encode("CET"); - decode("GMT"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 12:30:00 GMT 2021" )); - assert(issuingDate2.equals("Thu Mar 04 00:30:00 GMT 2021" )); - assert(issuingDate3.equals("Wed Mar 03 23:30:00 GMT 2021" )); - - assert(validFrom1.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(validFrom2.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(validFrom3.equals("Sun Mar 14 00:00:00 GMT 2021" )); - - assert(validUntil1.equals("Wed Mar 24 23:59:00 GMT 2021" )); - assert(validUntil2.equals("Wed Mar 24 23:59:00 GMT 2021" )); - assert(validUntil3.equals("Wed Mar 24 23:59:00 GMT 2021" )); - - assert(activationDate1.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(activationDate2.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(activationDate3.equals("Sun Mar 14 00:00:00 GMT 2021" )); - - } - - private void decodedDateToStrings() { - - issuingDate1 = iTicketDecodedCase1.getIssuerDetails().getIssuingDate().toString(); - issuingDate2 = iTicketDecodedCase2.getIssuerDetails().getIssuingDate().toString(); - issuingDate3 = iTicketDecodedCase3.getIssuerDetails().getIssuingDate().toString(); - - validFrom1 = ((IOpenTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidFrom().toString(); - validFrom2 = ((IOpenTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidFrom().toString(); - validFrom3 = ((IOpenTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidFrom().toString(); - - validUntil1 = ((IOpenTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidUntil().toString(); - validUntil2 = ((IOpenTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidUntil().toString(); - validUntil3 = ((IOpenTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidUntil().toString(); - - activationDate1 = ((IOpenTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString(); - activationDate2 = ((IOpenTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString(); - activationDate3 = ((IOpenTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString(); - - } - - - private void setActivatedDayTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IOpenTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IOpenTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().add(date); - - ((IOpenTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IOpenTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().add(date); - - ((IOpenTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IOpenTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().add(date); - - } - - private void setValidFromTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IOpenTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(date); - ((IOpenTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(date); - ((IOpenTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(date); - } - - private void setValidUntilTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IOpenTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidUntil(date); - ((IOpenTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidUntil(date); - ((IOpenTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidUntil(date); - } - - - /** - * Encode in Time Zone - */ - private void encode(String timeZone) { - TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); - try { - encodedInTimeZone1 = encoder.encode(iTicketDecodedFromAsn1Case1); - encodedInTimeZone2 = encoder.encode(iTicketDecodedFromAsn1Case2); - encodedInTimeZone3 = encoder.encode(iTicketDecodedFromAsn1Case3); - } catch (EncodingFormatException e) { - e.printStackTrace(); - } - } - - /** - * Decode in Time Zone - */ - private void decode(String timeZone) { - TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); - - try { - iTicketDecodedCase1 = decoder.decodeFromAsn(encodedInTimeZone1); - iTicketDecodedCase2 = decoder.decodeFromAsn(encodedInTimeZone2); - iTicketDecodedCase3 = decoder.decodeFromAsn(encodedInTimeZone3); - } catch (IOException e) { - e.printStackTrace(); - } - } - - - /** - * Encode decode. - */ - private void decodeTestTicketUTC() { - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - try { - iTicketDecodedFromAsn1Case1 = decoder.decodeFromAsn(encoded1); - iTicketDecodedFromAsn1Case2 = decoder.decodeFromAsn(encoded2); - iTicketDecodedFromAsn1Case3 = decoder.decodeFromAsn(encoded3); - } catch (IOException e) { - e.printStackTrace(); - } - - } - -} +package org.uic.barcode.ticket.api.test;
+
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
+import org.uic.barcode.ticket.EncodingFormatException;
+import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
+import org.uic.barcode.ticket.api.spec.IOpenTicket;
+import org.uic.barcode.ticket.api.spec.IUicRailTicket;
+import org.uic.barcode.ticket.api.test.testtickets.OpenTicketTimeZoneTestTicketV3;
+import org.uic.barcode.ticket.api.utils.Api2AsnEncoder;
+import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoderV3;
+import org.uic.barcode.ticket.api.utils.Asn2ApiDecoder;
+import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoderV3;
+
+
+/**
+ * The Class FipTimeZoneTestV2.
+ *
+ *
+ *
+ */
+public class OpenTicketTimeZoneTestV3 {
+
+ /** The low level encoded test ticket test case 1 . */
+ private byte[] encoded1 = null;
+
+ /** The low level encoded test ticket test case 2 . */
+ private byte[] encoded2 = null;
+
+ /** The low level encoded test ticket test case 3 . */
+ private byte[] encoded3 = null;
+
+ /** The decoder. */
+ Asn2ApiDecoder decoder = new OpenAsn2ApiDecoderV3();
+
+ /** The encoder. */
+ Api2AsnEncoder encoder = new Api2OpenAsnEncoderV3();
+
+ /** The API ticket low level encoded for case 1. */
+ IUicRailTicket iTicketDecodedFromAsn1Case1 = null;
+
+ /** The API ticket low level encoded for case 2. */
+ IUicRailTicket iTicketDecodedFromAsn1Case2 = null;
+
+ /** The API ticket low level encoded for case 3. */
+ IUicRailTicket iTicketDecodedFromAsn1Case3 = null;
+
+
+ /** The ticket decoded 1. */
+ IUicRailTicket iTicketDecodedCase1 = null;
+
+ /** The i ticket decoded 2. */
+ IUicRailTicket iTicketDecodedCase2 = null;
+
+ /** The i ticket decoded 3. */
+ IUicRailTicket iTicketDecodedCase3 = null;
+
+ byte[] encodedInTimeZone1 = null;
+ byte[] encodedInTimeZone2 = null;
+ byte[] encodedInTimeZone3 = null;
+
+ String issuingDate1 = null;
+ String issuingDate2 = null;
+ String issuingDate3 = null;
+
+ String validFrom1 = null;
+ String validFrom2 = null;
+ String validFrom3 = null;
+
+ String validUntil1 = null;
+ String validUntil2 = null;
+ String validUntil3 = null;
+
+ String activationDate1 = null;
+ String activationDate2 = null;
+ String activationDate3 = null;
+
+ TimeZone defaulttimeZone = null;
+
+ /**
+ * Prepare tickets.
+ */
+ @Before public void prepare() {
+
+ LoggerFactory.setActivateConsoleLog(true);
+
+ defaulttimeZone = TimeZone.getDefault();
+
+ UicRailTicketData ticket1 = OpenTicketTimeZoneTestTicketV3.getUicTestTicket();
+ UicRailTicketData ticket2 = OpenTicketTimeZoneTestTicketV3.getUicTestTicket();
+ UicRailTicketData ticket3 = OpenTicketTimeZoneTestTicketV3.getUicTestTicket();
+
+ //encode in UTC time zone
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+
+ encoded1 = UperEncoder.encode(ticket1);
+ encoded2 = UperEncoder.encode(ticket2);
+ encoded3 = UperEncoder.encode(ticket3);
+
+ }
+
+ /**
+ * clean up
+ */
+ @After public void resetTimeZone() {
+ TimeZone.setDefault(defaulttimeZone);
+ }
+
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testCETCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone CET
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromTo("2021.03.14-00:00");
+ setValidUntilTo("2021.03.24-23:59");
+ setActivatedDayTo("2021.03.14-00:00");
+
+ encode("CET");
+ decode("CET");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" ));
+ assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" ));
+
+ assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" ));
+
+ assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ }
+
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testGMTCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone GMT
+ TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromTo("2021.03.14-00:00");
+ setValidUntilTo("2021.03.24-23:59");
+ setActivatedDayTo("2021.03.14-00:00");
+
+ encode("GMT");
+ decode("CET");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" ));
+ assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" ));
+
+ assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" ));
+
+ assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ }
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testCETGMTencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone GMT
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromTo("2021.03.14-00:00");
+ setValidUntilTo("2021.03.24-23:59");
+ setActivatedDayTo("2021.03.14-00:00");
+
+ encode("CET");
+ decode("GMT");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 12:30:00 GMT 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 00:30:00 GMT 2021" ));
+ assert(issuingDate3.equals("Wed Mar 03 23:30:00 GMT 2021" ));
+
+ assert(validFrom1.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(validFrom2.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(validFrom3.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+
+ assert(validUntil1.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+ assert(validUntil2.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+ assert(validUntil3.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+
+ assert(activationDate1.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(activationDate2.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(activationDate3.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+
+ }
+
+ private void decodedDateToStrings() {
+
+ issuingDate1 = iTicketDecodedCase1.getIssuerDetails().getIssuingDate().toString();
+ issuingDate2 = iTicketDecodedCase2.getIssuerDetails().getIssuingDate().toString();
+ issuingDate3 = iTicketDecodedCase3.getIssuerDetails().getIssuingDate().toString();
+
+ validFrom1 = ((IOpenTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidFrom().toString();
+ validFrom2 = ((IOpenTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidFrom().toString();
+ validFrom3 = ((IOpenTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidFrom().toString();
+
+ validUntil1 = ((IOpenTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidUntil().toString();
+ validUntil2 = ((IOpenTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidUntil().toString();
+ validUntil3 = ((IOpenTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidUntil().toString();
+
+ activationDate1 = ((IOpenTicket) iTicketDecodedCase1.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString();
+ activationDate2 = ((IOpenTicket) iTicketDecodedCase2.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString();
+ activationDate3 = ((IOpenTicket) iTicketDecodedCase3.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString();
+
+ }
+
+
+ private void setActivatedDayTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IOpenTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().clear();
+ ((IOpenTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().add(date);
+
+ ((IOpenTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().clear();
+ ((IOpenTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().add(date);
+
+ ((IOpenTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().clear();
+ ((IOpenTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().add(date);
+
+ }
+
+ private void setValidFromTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IOpenTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(date);
+ ((IOpenTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(date);
+ ((IOpenTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(date);
+ }
+
+ private void setValidUntilTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IOpenTicket) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidUntil(date);
+ ((IOpenTicket) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidUntil(date);
+ ((IOpenTicket) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidUntil(date);
+ }
+
+
+ /**
+ * Encode in Time Zone
+ */
+ private void encode(String timeZone) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
+ try {
+ encodedInTimeZone1 = encoder.encode(iTicketDecodedFromAsn1Case1);
+ encodedInTimeZone2 = encoder.encode(iTicketDecodedFromAsn1Case2);
+ encodedInTimeZone3 = encoder.encode(iTicketDecodedFromAsn1Case3);
+ } catch (EncodingFormatException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Decode in Time Zone
+ */
+ private void decode(String timeZone) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
+
+ try {
+ iTicketDecodedCase1 = decoder.decodeFromAsn(encodedInTimeZone1);
+ iTicketDecodedCase2 = decoder.decodeFromAsn(encodedInTimeZone2);
+ iTicketDecodedCase3 = decoder.decodeFromAsn(encodedInTimeZone3);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * Encode decode.
+ */
+ private void decodeTestTicketUTC() {
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+ try {
+ iTicketDecodedFromAsn1Case1 = decoder.decodeFromAsn(encoded1);
+ iTicketDecodedFromAsn1Case2 = decoder.decodeFromAsn(encoded2);
+ iTicketDecodedFromAsn1Case3 = decoder.decodeFromAsn(encoded3);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+}
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTrainLinkDateTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTrainLinkDateTestV3.java index ae6a75a..75de2ae 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTrainLinkDateTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/OpenTicketTrainLinkDateTestV3.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.OpenTicketData;
import org.uic.barcode.ticket.api.asn.omv3.TrainLinkType;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
@@ -40,6 +41,8 @@ public class OpenTicketTrainLinkDateTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV1.java index 0cda25e..3855967 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV1.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData;
import org.uic.barcode.ticket.api.spec.IParkingGround;
@@ -85,6 +86,8 @@ public class ParkingTimeZoneTestV1 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
UicRailTicketData ticket1 = ParkingTestTicketV1.getUicTestTicket();
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV2.java b/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV2.java index 3833034..b4c2560 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV2.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV2.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.asn.omv2.UicRailTicketData;
import org.uic.barcode.ticket.api.spec.IParkingGround;
@@ -85,6 +86,8 @@ public class ParkingTimeZoneTestV2 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
UicRailTicketData ticket1 = ParkingTestTicketV2.getUicTestTicket();
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV3.java index 88c7a6e..e6bdf8f 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/ParkingTimeZoneTestV3.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
import org.uic.barcode.ticket.api.spec.IParkingGround;
@@ -87,6 +88,8 @@ public class ParkingTimeZoneTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
UicRailTicketData ticket1 = ParkingTestTicketV3.getUicTestTicket();
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/PassComplexTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/PassComplexTestV3.java index 6b73221..9dc3bb5 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/PassComplexTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/PassComplexTestV3.java @@ -7,6 +7,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.BoardingOrArrivalType;
import org.uic.barcode.ticket.api.asn.omv3.PassData;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
@@ -35,6 +36,8 @@ public class PassComplexTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV1.java index e7aeae8..ad7a0dd 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV1.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IPass; @@ -132,6 +133,8 @@ public class PassTimeZoneTestV1 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); UicRailTicketData ticket1 = PassTimeZoneTestTicketCase1V1.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV2.java b/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV2.java index decc26b..6b71547 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV2.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV2.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv2.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IPass; @@ -89,6 +90,8 @@ public class PassTimeZoneTestV2 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); UicRailTicketData ticket1 = PassTimeZoneTestTicketV2.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV3.java index d8ea9f3..7a2f392 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/PassTimeZoneTestV3.java @@ -1,347 +1,350 @@ -package org.uic.barcode.ticket.api.test; - -import java.io.IOException; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.TimeZone; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.uic.barcode.asn1.uper.UperEncoder; -import org.uic.barcode.ticket.EncodingFormatException; -import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData; -import org.uic.barcode.ticket.api.spec.IPass; -import org.uic.barcode.ticket.api.spec.IUicRailTicket; -import org.uic.barcode.ticket.api.test.testtickets.PassTimeZoneTestTicketV3; -import org.uic.barcode.ticket.api.utils.Api2AsnEncoder; -import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoderV3; -import org.uic.barcode.ticket.api.utils.Asn2ApiDecoder; -import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoderV3; - - -/** - * The Class FipTimeZoneTestV2. - * - * - * - */ -public class PassTimeZoneTestV3 { - - /** The low level encoded test ticket test case 1 . */ - private byte[] encoded1 = null; - - /** The low level encoded test ticket test case 2 . */ - private byte[] encoded2 = null; - - /** The low level encoded test ticket test case 3 . */ - private byte[] encoded3 = null; - - /** The decoder. */ - Asn2ApiDecoder decoder = new OpenAsn2ApiDecoderV3(); - - /** The encoder. */ - Api2AsnEncoder encoder = new Api2OpenAsnEncoderV3(); - - /** The API ticket low level encoded for case 1. */ - IUicRailTicket iTicketDecodedFromAsn1Case1 = null; - - /** The API ticket low level encoded for case 2. */ - IUicRailTicket iTicketDecodedFromAsn1Case2 = null; - - /** The API ticket low level encoded for case 3. */ - IUicRailTicket iTicketDecodedFromAsn1Case3 = null; - - - /** The ticket decoded 1. */ - IUicRailTicket iTicketDecodedCase1 = null; - - /** The i ticket decoded 2. */ - IUicRailTicket iTicketDecodedCase2 = null; - - /** The i ticket decoded 3. */ - IUicRailTicket iTicketDecodedCase3 = null; - - byte[] encodedInTimeZone1 = null; - byte[] encodedInTimeZone2 = null; - byte[] encodedInTimeZone3 = null; - - String issuingDate1 = null; - String issuingDate2 = null; - String issuingDate3 = null; - - String validFrom1 = null; - String validFrom2 = null; - String validFrom3 = null; - - String validUntil1 = null; - String validUntil2 = null; - String validUntil3 = null; - - String activationDate1 = null; - String activationDate2 = null; - String activationDate3 = null; - - TimeZone defaulttimeZone = null; - - /** - * Prepare tickets. - */ - @Before public void prepare() { - - defaulttimeZone = TimeZone.getDefault(); - - UicRailTicketData ticket1 = PassTimeZoneTestTicketV3.getUicTestTicket(); - UicRailTicketData ticket2 = PassTimeZoneTestTicketV3.getUicTestTicket(); - UicRailTicketData ticket3 = PassTimeZoneTestTicketV3.getUicTestTicket(); - - //encode in UTC time zone - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - encoded1 = UperEncoder.encode(ticket1); - encoded2 = UperEncoder.encode(ticket2); - encoded3 = UperEncoder.encode(ticket3); - - } - - /** - * clean up - */ - @After public void resetTimeZone() { - TimeZone.setDefault(defaulttimeZone); - } - - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testCETCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone CET - TimeZone.setDefault(TimeZone.getTimeZone("CET")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromTo("2021.03.14-00:00"); - setValidUntilTo("2021.03.24-23:59"); - setActivatedDayTo("2021.03.14-00:00"); - - encode("CET"); - decode("CET"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" )); - assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" )); - assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" )); - - assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" )); - - assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - } - - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testGMTCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone GMT - TimeZone.setDefault(TimeZone.getTimeZone("GMT")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromTo("2021.03.14-00:00"); - setValidUntilTo("2021.03.24-23:59"); - setActivatedDayTo("2021.03.14-00:00"); - - encode("GMT"); - decode("CET"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" )); - assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" )); - assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" )); - - assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" )); - - assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - } - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testCETGMTencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone GMT - TimeZone.setDefault(TimeZone.getTimeZone("CET")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromTo("2021.03.14-00:00"); - setValidUntilTo("2021.03.24-23:59"); - setActivatedDayTo("2021.03.14-00:00"); - - encode("CET"); - decode("GMT"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 12:30:00 GMT 2021" )); - assert(issuingDate2.equals("Thu Mar 04 00:30:00 GMT 2021" )); - assert(issuingDate3.equals("Wed Mar 03 23:30:00 GMT 2021" )); - - assert(validFrom1.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(validFrom2.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(validFrom3.equals("Sun Mar 14 00:00:00 GMT 2021" )); - - assert(validUntil1.equals("Wed Mar 24 23:59:00 GMT 2021" )); - assert(validUntil2.equals("Wed Mar 24 23:59:00 GMT 2021" )); - assert(validUntil3.equals("Wed Mar 24 23:59:00 GMT 2021" )); - - assert(activationDate1.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(activationDate2.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(activationDate3.equals("Sun Mar 14 00:00:00 GMT 2021" )); - - } - - private void decodedDateToStrings() { - - issuingDate1 = iTicketDecodedCase1.getIssuerDetails().getIssuingDate().toString(); - issuingDate2 = iTicketDecodedCase2.getIssuerDetails().getIssuingDate().toString(); - issuingDate3 = iTicketDecodedCase3.getIssuerDetails().getIssuingDate().toString(); - - validFrom1 = ((IPass) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidFrom().toString(); - validFrom2 = ((IPass) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidFrom().toString(); - validFrom3 = ((IPass) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidFrom().toString(); - - validUntil1 = ((IPass) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidUntil().toString(); - validUntil2 = ((IPass) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidUntil().toString(); - validUntil3 = ((IPass) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidUntil().toString(); - - activationDate1 = ((IPass) iTicketDecodedCase1.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString(); - activationDate2 = ((IPass) iTicketDecodedCase2.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString(); - activationDate3 = ((IPass) iTicketDecodedCase3.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString(); - - } - - - private void setActivatedDayTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().add(date); - - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().add(date); - - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().add(date); - - } - - private void setValidFromTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(date); - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(date); - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(date); - } - - private void setValidUntilTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidUntil(date); - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidUntil(date); - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidUntil(date); - } - - - /** - * Encode in Time Zone - */ - private void encode(String timeZone) { - TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); - try { - encodedInTimeZone1 = encoder.encode(iTicketDecodedFromAsn1Case1); - encodedInTimeZone2 = encoder.encode(iTicketDecodedFromAsn1Case2); - encodedInTimeZone3 = encoder.encode(iTicketDecodedFromAsn1Case3); - } catch (EncodingFormatException e) { - e.printStackTrace(); - } - } - - /** - * Decode in Time Zone - */ - private void decode(String timeZone) { - TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); - - try { - iTicketDecodedCase1 = decoder.decodeFromAsn(encodedInTimeZone1); - iTicketDecodedCase2 = decoder.decodeFromAsn(encodedInTimeZone2); - iTicketDecodedCase3 = decoder.decodeFromAsn(encodedInTimeZone3); - } catch (IOException e) { - e.printStackTrace(); - } - } - - - /** - * Encode decode. - */ - private void decodeTestTicketUTC() { - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - try { - iTicketDecodedFromAsn1Case1 = decoder.decodeFromAsn(encoded1); - iTicketDecodedFromAsn1Case2 = decoder.decodeFromAsn(encoded2); - iTicketDecodedFromAsn1Case3 = decoder.decodeFromAsn(encoded3); - } catch (IOException e) { - e.printStackTrace(); - } - - } - -} +package org.uic.barcode.ticket.api.test;
+
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
+import org.uic.barcode.ticket.EncodingFormatException;
+import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
+import org.uic.barcode.ticket.api.spec.IPass;
+import org.uic.barcode.ticket.api.spec.IUicRailTicket;
+import org.uic.barcode.ticket.api.test.testtickets.PassTimeZoneTestTicketV3;
+import org.uic.barcode.ticket.api.utils.Api2AsnEncoder;
+import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoderV3;
+import org.uic.barcode.ticket.api.utils.Asn2ApiDecoder;
+import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoderV3;
+
+
+/**
+ * The Class FipTimeZoneTestV2.
+ *
+ *
+ *
+ */
+public class PassTimeZoneTestV3 {
+
+ /** The low level encoded test ticket test case 1 . */
+ private byte[] encoded1 = null;
+
+ /** The low level encoded test ticket test case 2 . */
+ private byte[] encoded2 = null;
+
+ /** The low level encoded test ticket test case 3 . */
+ private byte[] encoded3 = null;
+
+ /** The decoder. */
+ Asn2ApiDecoder decoder = new OpenAsn2ApiDecoderV3();
+
+ /** The encoder. */
+ Api2AsnEncoder encoder = new Api2OpenAsnEncoderV3();
+
+ /** The API ticket low level encoded for case 1. */
+ IUicRailTicket iTicketDecodedFromAsn1Case1 = null;
+
+ /** The API ticket low level encoded for case 2. */
+ IUicRailTicket iTicketDecodedFromAsn1Case2 = null;
+
+ /** The API ticket low level encoded for case 3. */
+ IUicRailTicket iTicketDecodedFromAsn1Case3 = null;
+
+
+ /** The ticket decoded 1. */
+ IUicRailTicket iTicketDecodedCase1 = null;
+
+ /** The i ticket decoded 2. */
+ IUicRailTicket iTicketDecodedCase2 = null;
+
+ /** The i ticket decoded 3. */
+ IUicRailTicket iTicketDecodedCase3 = null;
+
+ byte[] encodedInTimeZone1 = null;
+ byte[] encodedInTimeZone2 = null;
+ byte[] encodedInTimeZone3 = null;
+
+ String issuingDate1 = null;
+ String issuingDate2 = null;
+ String issuingDate3 = null;
+
+ String validFrom1 = null;
+ String validFrom2 = null;
+ String validFrom3 = null;
+
+ String validUntil1 = null;
+ String validUntil2 = null;
+ String validUntil3 = null;
+
+ String activationDate1 = null;
+ String activationDate2 = null;
+ String activationDate3 = null;
+
+ TimeZone defaulttimeZone = null;
+
+ /**
+ * Prepare tickets.
+ */
+ @Before public void prepare() {
+
+ LoggerFactory.setActivateConsoleLog(true);
+
+ defaulttimeZone = TimeZone.getDefault();
+
+ UicRailTicketData ticket1 = PassTimeZoneTestTicketV3.getUicTestTicket();
+ UicRailTicketData ticket2 = PassTimeZoneTestTicketV3.getUicTestTicket();
+ UicRailTicketData ticket3 = PassTimeZoneTestTicketV3.getUicTestTicket();
+
+ //encode in UTC time zone
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+
+ encoded1 = UperEncoder.encode(ticket1);
+ encoded2 = UperEncoder.encode(ticket2);
+ encoded3 = UperEncoder.encode(ticket3);
+
+ }
+
+ /**
+ * clean up
+ */
+ @After public void resetTimeZone() {
+ TimeZone.setDefault(defaulttimeZone);
+ }
+
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testCETCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone CET
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromTo("2021.03.14-00:00");
+ setValidUntilTo("2021.03.24-23:59");
+ setActivatedDayTo("2021.03.14-00:00");
+
+ encode("CET");
+ decode("CET");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" ));
+ assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" ));
+
+ assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" ));
+
+ assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ }
+
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testGMTCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone GMT
+ TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromTo("2021.03.14-00:00");
+ setValidUntilTo("2021.03.24-23:59");
+ setActivatedDayTo("2021.03.14-00:00");
+
+ encode("GMT");
+ decode("CET");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" ));
+ assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" ));
+
+ assert(validFrom1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFrom3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ assert(validUntil1.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil2.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntil3.equals("Wed Mar 24 23:59:00 CET 2021" ));
+
+ assert(activationDate1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(activationDate3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ }
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testCETGMTencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone GMT
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromTo("2021.03.14-00:00");
+ setValidUntilTo("2021.03.24-23:59");
+ setActivatedDayTo("2021.03.14-00:00");
+
+ encode("CET");
+ decode("GMT");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 12:30:00 GMT 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 00:30:00 GMT 2021" ));
+ assert(issuingDate3.equals("Wed Mar 03 23:30:00 GMT 2021" ));
+
+ assert(validFrom1.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(validFrom2.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(validFrom3.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+
+ assert(validUntil1.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+ assert(validUntil2.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+ assert(validUntil3.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+
+ assert(activationDate1.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(activationDate2.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(activationDate3.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+
+ }
+
+ private void decodedDateToStrings() {
+
+ issuingDate1 = iTicketDecodedCase1.getIssuerDetails().getIssuingDate().toString();
+ issuingDate2 = iTicketDecodedCase2.getIssuerDetails().getIssuingDate().toString();
+ issuingDate3 = iTicketDecodedCase3.getIssuerDetails().getIssuingDate().toString();
+
+ validFrom1 = ((IPass) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidFrom().toString();
+ validFrom2 = ((IPass) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidFrom().toString();
+ validFrom3 = ((IPass) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidFrom().toString();
+
+ validUntil1 = ((IPass) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidUntil().toString();
+ validUntil2 = ((IPass) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidUntil().toString();
+ validUntil3 = ((IPass) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidUntil().toString();
+
+ activationDate1 = ((IPass) iTicketDecodedCase1.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString();
+ activationDate2 = ((IPass) iTicketDecodedCase2.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString();
+ activationDate3 = ((IPass) iTicketDecodedCase3.getDocumentData().iterator().next()).getActivatedDays().iterator().next().toString();
+
+ }
+
+
+ private void setActivatedDayTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().clear();
+ ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().add(date);
+
+ ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().clear();
+ ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().add(date);
+
+ ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().clear();
+ ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().add(date);
+
+ }
+
+ private void setValidFromTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(date);
+ ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(date);
+ ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(date);
+ }
+
+ private void setValidUntilTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidUntil(date);
+ ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidUntil(date);
+ ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidUntil(date);
+ }
+
+
+ /**
+ * Encode in Time Zone
+ */
+ private void encode(String timeZone) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
+ try {
+ encodedInTimeZone1 = encoder.encode(iTicketDecodedFromAsn1Case1);
+ encodedInTimeZone2 = encoder.encode(iTicketDecodedFromAsn1Case2);
+ encodedInTimeZone3 = encoder.encode(iTicketDecodedFromAsn1Case3);
+ } catch (EncodingFormatException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Decode in Time Zone
+ */
+ private void decode(String timeZone) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
+
+ try {
+ iTicketDecodedCase1 = decoder.decodeFromAsn(encodedInTimeZone1);
+ iTicketDecodedCase2 = decoder.decodeFromAsn(encodedInTimeZone2);
+ iTicketDecodedCase3 = decoder.decodeFromAsn(encodedInTimeZone3);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * Encode decode.
+ */
+ private void decodeTestTicketUTC() {
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+ try {
+ iTicketDecodedFromAsn1Case1 = decoder.decodeFromAsn(encoded1);
+ iTicketDecodedFromAsn1Case2 = decoder.decodeFromAsn(encoded2);
+ iTicketDecodedFromAsn1Case3 = decoder.decodeFromAsn(encoded3);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+}
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/PassTrainValidityTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/PassTrainValidityTestV3.java index 2e78ef3..3691a69 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/PassTrainValidityTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/PassTrainValidityTestV3.java @@ -10,6 +10,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.api.asn.omv3.BoardingOrArrivalType;
import org.uic.barcode.ticket.api.asn.omv3.PassData;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
@@ -38,6 +39,8 @@ public class PassTrainValidityTestV3 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
//encode in UTC time zone
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV1.java index 5bf78cb..ac0ab37 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV1.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IReservation; @@ -85,6 +86,8 @@ public class ReservationTimeZoneTestV1 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); UicRailTicketData ticket1 = ReservationTestTicketV1.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV2.java b/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV2.java index 34d3bc2..72e7313 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV2.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV2.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv2.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IReservation; @@ -85,6 +86,8 @@ public class ReservationTimeZoneTestV2 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); UicRailTicketData ticket1 = ReservationTestTicketV2.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV3.java index 3eb43e1..e479e10 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/ReservationTimeZoneTestV3.java @@ -1,314 +1,317 @@ -package org.uic.barcode.ticket.api.test; - -import java.io.IOException; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.TimeZone; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.uic.barcode.asn1.uper.UperEncoder; -import org.uic.barcode.ticket.EncodingFormatException; -import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData; -import org.uic.barcode.ticket.api.spec.IReservation; -import org.uic.barcode.ticket.api.spec.IUicRailTicket; -import org.uic.barcode.ticket.api.test.testtickets.ReservationTestTicketV3; -import org.uic.barcode.ticket.api.utils.Api2AsnEncoder; -import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoderV3; -import org.uic.barcode.ticket.api.utils.Asn2ApiDecoder; -import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoderV3; - - -/** - * The Class FipTimeZoneTestV3. - * - * - * - */ -public class ReservationTimeZoneTestV3 { - - /** The low level encoded test ticket test case 1 . */ - private byte[] encoded1 = null; - - /** The low level encoded test ticket test case 2 . */ - private byte[] encoded2 = null; - - /** The low level encoded test ticket test case 3 . */ - private byte[] encoded3 = null; - - /** The decoder. */ - Asn2ApiDecoder decoder = new OpenAsn2ApiDecoderV3(); - - /** The encoder. */ - Api2AsnEncoder encoder = new Api2OpenAsnEncoderV3(); - - /** The API ticket low level encoded for case 1. */ - IUicRailTicket iTicketDecodedFromAsn1Case1 = null; - - /** The API ticket low level encoded for case 2. */ - IUicRailTicket iTicketDecodedFromAsn1Case2 = null; - - /** The API ticket low level encoded for case 3. */ - IUicRailTicket iTicketDecodedFromAsn1Case3 = null; - - - /** The ticket decoded 1. */ - IUicRailTicket iTicketDecodedCase1 = null; - - /** The i ticket decoded 2. */ - IUicRailTicket iTicketDecodedCase2 = null; - - /** The i ticket decoded 3. */ - IUicRailTicket iTicketDecodedCase3 = null; - - byte[] encodedInTimeZone1 = null; - byte[] encodedInTimeZone2 = null; - byte[] encodedInTimeZone3 = null; - - String issuingDate1 = null; - String issuingDate2 = null; - String issuingDate3 = null; - - String departureDate1 = null; - String departureDate2 = null; - String departureDate3 = null; - - String arrivalDate1 = null; - String arrivalDate2 = null; - String arrivalDate3 = null; - - TimeZone defaulttimeZone = null; - - /** - * Prepare tickets. - */ - @Before public void prepare() { - - defaulttimeZone = TimeZone.getDefault(); - - UicRailTicketData ticket1 = ReservationTestTicketV3.getUicTestTicket(); - UicRailTicketData ticket2 = ReservationTestTicketV3.getUicTestTicket(); - UicRailTicketData ticket3 = ReservationTestTicketV3.getUicTestTicket(); - - //encode in UTC time zone - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - encoded1 = UperEncoder.encode(ticket1); - encoded2 = UperEncoder.encode(ticket2); - encoded3 = UperEncoder.encode(ticket3); - - } - - /** - * clean up - */ - @After public void resetTimeZone() { - TimeZone.setDefault(defaulttimeZone); - } - - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testCETCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone CET - TimeZone.setDefault(TimeZone.getTimeZone("CET")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setdepartureDateTo("2021.03.14-00:00"); - setarrivalDateTo("2021.03.24-23:59"); - - encode("CET"); - decode("CET"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" )); - assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" )); - assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" )); - - assert(departureDate1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(departureDate2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(departureDate3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - assert(arrivalDate1.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(arrivalDate2.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(arrivalDate3.equals("Wed Mar 24 23:59:00 CET 2021" )); - - - } - - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testGMTCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone GMT - TimeZone.setDefault(TimeZone.getTimeZone("GMT")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setdepartureDateTo("2021.03.14-00:00"); - setarrivalDateTo("2021.03.24-23:59"); - - encode("GMT"); - decode("CET"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" )); - assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" )); - assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" )); - - assert(departureDate1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(departureDate2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(departureDate3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - assert(arrivalDate1.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(arrivalDate2.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(arrivalDate3.equals("Wed Mar 24 23:59:00 CET 2021" )); - - - } - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testCETGMTencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone GMT - TimeZone.setDefault(TimeZone.getTimeZone("CET")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setdepartureDateTo("2021.03.14-00:00"); - setarrivalDateTo("2021.03.24-23:59"); - - encode("CET"); - decode("GMT"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 12:30:00 GMT 2021" )); - assert(issuingDate2.equals("Thu Mar 04 00:30:00 GMT 2021" )); - assert(issuingDate3.equals("Wed Mar 03 23:30:00 GMT 2021" )); - - assert(departureDate1.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(departureDate2.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(departureDate3.equals("Sun Mar 14 00:00:00 GMT 2021" )); - - assert(arrivalDate1.equals("Wed Mar 24 23:59:00 GMT 2021" )); - assert(arrivalDate2.equals("Wed Mar 24 23:59:00 GMT 2021" )); - assert(arrivalDate3.equals("Wed Mar 24 23:59:00 GMT 2021" )); - - - } - - private void decodedDateToStrings() { - - issuingDate1 = iTicketDecodedCase1.getIssuerDetails().getIssuingDate().toString(); - issuingDate2 = iTicketDecodedCase2.getIssuerDetails().getIssuingDate().toString(); - issuingDate3 = iTicketDecodedCase3.getIssuerDetails().getIssuingDate().toString(); - - departureDate1 = ((IReservation) iTicketDecodedCase1.getDocumentData().iterator().next()).getDepartureDate().toString(); - departureDate2 = ((IReservation) iTicketDecodedCase2.getDocumentData().iterator().next()).getDepartureDate().toString(); - departureDate3 = ((IReservation) iTicketDecodedCase3.getDocumentData().iterator().next()).getDepartureDate().toString(); - - arrivalDate1 = ((IReservation) iTicketDecodedCase1.getDocumentData().iterator().next()).getArrivalDate().toString(); - arrivalDate2 = ((IReservation) iTicketDecodedCase2.getDocumentData().iterator().next()).getArrivalDate().toString(); - arrivalDate3 = ((IReservation) iTicketDecodedCase3.getDocumentData().iterator().next()).getArrivalDate().toString(); - - - } - - - private void setdepartureDateTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IReservation) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setDepartureDate(date); - ((IReservation) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setDepartureDate(date); - ((IReservation) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setDepartureDate(date); - } - - private void setarrivalDateTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IReservation) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setArrivalDate(date); - ((IReservation) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setArrivalDate(date); - ((IReservation) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setArrivalDate(date); - } - - - /** - * Encode in Time Zone - */ - private void encode(String timeZone) { - TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); - try { - encodedInTimeZone1 = encoder.encode(iTicketDecodedFromAsn1Case1); - encodedInTimeZone2 = encoder.encode(iTicketDecodedFromAsn1Case2); - encodedInTimeZone3 = encoder.encode(iTicketDecodedFromAsn1Case3); - } catch (EncodingFormatException e) { - e.printStackTrace(); - } - } - - /** - * Decode in Time Zone - */ - private void decode(String timeZone) { - TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); - - try { - iTicketDecodedCase1 = decoder.decodeFromAsn(encodedInTimeZone1); - iTicketDecodedCase2 = decoder.decodeFromAsn(encodedInTimeZone2); - iTicketDecodedCase3 = decoder.decodeFromAsn(encodedInTimeZone3); - } catch (IOException e) { - e.printStackTrace(); - } - } - - - /** - * Encode decode. - */ - private void decodeTestTicketUTC() { - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - try { - iTicketDecodedFromAsn1Case1 = decoder.decodeFromAsn(encoded1); - iTicketDecodedFromAsn1Case2 = decoder.decodeFromAsn(encoded2); - iTicketDecodedFromAsn1Case3 = decoder.decodeFromAsn(encoded3); - } catch (IOException e) { - e.printStackTrace(); - } - - } - -} +package org.uic.barcode.ticket.api.test;
+
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
+import org.uic.barcode.ticket.EncodingFormatException;
+import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
+import org.uic.barcode.ticket.api.spec.IReservation;
+import org.uic.barcode.ticket.api.spec.IUicRailTicket;
+import org.uic.barcode.ticket.api.test.testtickets.ReservationTestTicketV3;
+import org.uic.barcode.ticket.api.utils.Api2AsnEncoder;
+import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoderV3;
+import org.uic.barcode.ticket.api.utils.Asn2ApiDecoder;
+import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoderV3;
+
+
+/**
+ * The Class FipTimeZoneTestV3.
+ *
+ *
+ *
+ */
+public class ReservationTimeZoneTestV3 {
+
+ /** The low level encoded test ticket test case 1 . */
+ private byte[] encoded1 = null;
+
+ /** The low level encoded test ticket test case 2 . */
+ private byte[] encoded2 = null;
+
+ /** The low level encoded test ticket test case 3 . */
+ private byte[] encoded3 = null;
+
+ /** The decoder. */
+ Asn2ApiDecoder decoder = new OpenAsn2ApiDecoderV3();
+
+ /** The encoder. */
+ Api2AsnEncoder encoder = new Api2OpenAsnEncoderV3();
+
+ /** The API ticket low level encoded for case 1. */
+ IUicRailTicket iTicketDecodedFromAsn1Case1 = null;
+
+ /** The API ticket low level encoded for case 2. */
+ IUicRailTicket iTicketDecodedFromAsn1Case2 = null;
+
+ /** The API ticket low level encoded for case 3. */
+ IUicRailTicket iTicketDecodedFromAsn1Case3 = null;
+
+
+ /** The ticket decoded 1. */
+ IUicRailTicket iTicketDecodedCase1 = null;
+
+ /** The i ticket decoded 2. */
+ IUicRailTicket iTicketDecodedCase2 = null;
+
+ /** The i ticket decoded 3. */
+ IUicRailTicket iTicketDecodedCase3 = null;
+
+ byte[] encodedInTimeZone1 = null;
+ byte[] encodedInTimeZone2 = null;
+ byte[] encodedInTimeZone3 = null;
+
+ String issuingDate1 = null;
+ String issuingDate2 = null;
+ String issuingDate3 = null;
+
+ String departureDate1 = null;
+ String departureDate2 = null;
+ String departureDate3 = null;
+
+ String arrivalDate1 = null;
+ String arrivalDate2 = null;
+ String arrivalDate3 = null;
+
+ TimeZone defaulttimeZone = null;
+
+ /**
+ * Prepare tickets.
+ */
+ @Before public void prepare() {
+
+ LoggerFactory.setActivateConsoleLog(true);
+
+ defaulttimeZone = TimeZone.getDefault();
+
+ UicRailTicketData ticket1 = ReservationTestTicketV3.getUicTestTicket();
+ UicRailTicketData ticket2 = ReservationTestTicketV3.getUicTestTicket();
+ UicRailTicketData ticket3 = ReservationTestTicketV3.getUicTestTicket();
+
+ //encode in UTC time zone
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+
+ encoded1 = UperEncoder.encode(ticket1);
+ encoded2 = UperEncoder.encode(ticket2);
+ encoded3 = UperEncoder.encode(ticket3);
+
+ }
+
+ /**
+ * clean up
+ */
+ @After public void resetTimeZone() {
+ TimeZone.setDefault(defaulttimeZone);
+ }
+
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testCETCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone CET
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setdepartureDateTo("2021.03.14-00:00");
+ setarrivalDateTo("2021.03.24-23:59");
+
+ encode("CET");
+ decode("CET");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" ));
+ assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" ));
+
+ assert(departureDate1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(departureDate2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(departureDate3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ assert(arrivalDate1.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(arrivalDate2.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(arrivalDate3.equals("Wed Mar 24 23:59:00 CET 2021" ));
+
+
+ }
+
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testGMTCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone GMT
+ TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setdepartureDateTo("2021.03.14-00:00");
+ setarrivalDateTo("2021.03.24-23:59");
+
+ encode("GMT");
+ decode("CET");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" ));
+ assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" ));
+
+ assert(departureDate1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(departureDate2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(departureDate3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ assert(arrivalDate1.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(arrivalDate2.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(arrivalDate3.equals("Wed Mar 24 23:59:00 CET 2021" ));
+
+
+ }
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testCETGMTencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone GMT
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setdepartureDateTo("2021.03.14-00:00");
+ setarrivalDateTo("2021.03.24-23:59");
+
+ encode("CET");
+ decode("GMT");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 12:30:00 GMT 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 00:30:00 GMT 2021" ));
+ assert(issuingDate3.equals("Wed Mar 03 23:30:00 GMT 2021" ));
+
+ assert(departureDate1.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(departureDate2.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(departureDate3.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+
+ assert(arrivalDate1.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+ assert(arrivalDate2.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+ assert(arrivalDate3.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+
+
+ }
+
+ private void decodedDateToStrings() {
+
+ issuingDate1 = iTicketDecodedCase1.getIssuerDetails().getIssuingDate().toString();
+ issuingDate2 = iTicketDecodedCase2.getIssuerDetails().getIssuingDate().toString();
+ issuingDate3 = iTicketDecodedCase3.getIssuerDetails().getIssuingDate().toString();
+
+ departureDate1 = ((IReservation) iTicketDecodedCase1.getDocumentData().iterator().next()).getDepartureDate().toString();
+ departureDate2 = ((IReservation) iTicketDecodedCase2.getDocumentData().iterator().next()).getDepartureDate().toString();
+ departureDate3 = ((IReservation) iTicketDecodedCase3.getDocumentData().iterator().next()).getDepartureDate().toString();
+
+ arrivalDate1 = ((IReservation) iTicketDecodedCase1.getDocumentData().iterator().next()).getArrivalDate().toString();
+ arrivalDate2 = ((IReservation) iTicketDecodedCase2.getDocumentData().iterator().next()).getArrivalDate().toString();
+ arrivalDate3 = ((IReservation) iTicketDecodedCase3.getDocumentData().iterator().next()).getArrivalDate().toString();
+
+
+ }
+
+
+ private void setdepartureDateTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IReservation) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setDepartureDate(date);
+ ((IReservation) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setDepartureDate(date);
+ ((IReservation) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setDepartureDate(date);
+ }
+
+ private void setarrivalDateTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IReservation) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setArrivalDate(date);
+ ((IReservation) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setArrivalDate(date);
+ ((IReservation) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setArrivalDate(date);
+ }
+
+
+ /**
+ * Encode in Time Zone
+ */
+ private void encode(String timeZone) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
+ try {
+ encodedInTimeZone1 = encoder.encode(iTicketDecodedFromAsn1Case1);
+ encodedInTimeZone2 = encoder.encode(iTicketDecodedFromAsn1Case2);
+ encodedInTimeZone3 = encoder.encode(iTicketDecodedFromAsn1Case3);
+ } catch (EncodingFormatException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Decode in Time Zone
+ */
+ private void decode(String timeZone) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
+
+ try {
+ iTicketDecodedCase1 = decoder.decodeFromAsn(encodedInTimeZone1);
+ iTicketDecodedCase2 = decoder.decodeFromAsn(encodedInTimeZone2);
+ iTicketDecodedCase3 = decoder.decodeFromAsn(encodedInTimeZone3);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * Encode decode.
+ */
+ private void decodeTestTicketUTC() {
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+ try {
+ iTicketDecodedFromAsn1Case1 = decoder.decodeFromAsn(encoded1);
+ iTicketDecodedFromAsn1Case2 = decoder.decodeFromAsn(encoded2);
+ iTicketDecodedFromAsn1Case3 = decoder.decodeFromAsn(encoded3);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+}
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV1.java index aedf569..f8379f1 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV1.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IStationPassage; @@ -85,6 +86,8 @@ public class StationPassageTimeZoneTestV1 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); UicRailTicketData ticket1 = StationPassageTestTicketV1.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV2.java b/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV2.java index e87e968..dffd5a8 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV2.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV2.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv2.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IStationPassage; @@ -85,6 +86,8 @@ public class StationPassageTimeZoneTestV2 { */ @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + defaulttimeZone = TimeZone.getDefault(); UicRailTicketData ticket1 = StationPassageTestTicketV2.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV3.java index c60225d..ffe8916 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/StationPassageTimeZoneTestV3.java @@ -1,314 +1,317 @@ -package org.uic.barcode.ticket.api.test; - -import java.io.IOException; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.TimeZone; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.uic.barcode.asn1.uper.UperEncoder; -import org.uic.barcode.ticket.EncodingFormatException; -import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData; -import org.uic.barcode.ticket.api.spec.IStationPassage; -import org.uic.barcode.ticket.api.spec.IUicRailTicket; -import org.uic.barcode.ticket.api.test.testtickets.StationPassageTestTicketV3; -import org.uic.barcode.ticket.api.utils.Api2AsnEncoder; -import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoderV3; -import org.uic.barcode.ticket.api.utils.Asn2ApiDecoder; -import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoderV3; - - -/** - * The Class FipTimeZoneTestV3. - * - * - * - */ -public class StationPassageTimeZoneTestV3 { - - /** The low level encoded test ticket test case 1 . */ - private byte[] encoded1 = null; - - /** The low level encoded test ticket test case 2 . */ - private byte[] encoded2 = null; - - /** The low level encoded test ticket test case 3 . */ - private byte[] encoded3 = null; - - /** The decoder. */ - Asn2ApiDecoder decoder = new OpenAsn2ApiDecoderV3(); - - /** The encoder. */ - Api2AsnEncoder encoder = new Api2OpenAsnEncoderV3(); - - /** The API ticket low level encoded for case 1. */ - IUicRailTicket iTicketDecodedFromAsn1Case1 = null; - - /** The API ticket low level encoded for case 2. */ - IUicRailTicket iTicketDecodedFromAsn1Case2 = null; - - /** The API ticket low level encoded for case 3. */ - IUicRailTicket iTicketDecodedFromAsn1Case3 = null; - - - /** The ticket decoded 1. */ - IUicRailTicket iTicketDecodedCase1 = null; - - /** The i ticket decoded 2. */ - IUicRailTicket iTicketDecodedCase2 = null; - - /** The i ticket decoded 3. */ - IUicRailTicket iTicketDecodedCase3 = null; - - byte[] encodedInTimeZone1 = null; - byte[] encodedInTimeZone2 = null; - byte[] encodedInTimeZone3 = null; - - String issuingDate1 = null; - String issuingDate2 = null; - String issuingDate3 = null; - - String validFromDate1 = null; - String validFromDate2 = null; - String validFromDate3 = null; - - String validUntilDate1 = null; - String validUntilDate2 = null; - String validUntilDate3 = null; - - TimeZone defaulttimeZone = null; - - /** - * Prepare tickets. - */ - @Before public void prepare() { - - defaulttimeZone = TimeZone.getDefault(); - - UicRailTicketData ticket1 = StationPassageTestTicketV3.getUicTestTicket(); - UicRailTicketData ticket2 = StationPassageTestTicketV3.getUicTestTicket(); - UicRailTicketData ticket3 = StationPassageTestTicketV3.getUicTestTicket(); - - //encode in UTC time zone - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - encoded1 = UperEncoder.encode(ticket1); - encoded2 = UperEncoder.encode(ticket2); - encoded3 = UperEncoder.encode(ticket3); - - } - - /** - * clean up - */ - @After public void resetTimeZone() { - TimeZone.setDefault(defaulttimeZone); - } - - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testCETCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone CET - TimeZone.setDefault(TimeZone.getTimeZone("CET")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromDateTo("2021.03.14-00:00"); - setUntilDateTo("2021.03.24-23:59"); - - encode("CET"); - decode("CET"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" )); - assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" )); - assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" )); - - assert(validFromDate1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFromDate2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFromDate3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - assert(validUntilDate1.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntilDate2.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntilDate3.equals("Wed Mar 24 23:59:00 CET 2021" )); - - - } - - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testGMTCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone GMT - TimeZone.setDefault(TimeZone.getTimeZone("GMT")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromDateTo("2021.03.14-00:00"); - setUntilDateTo("2021.03.24-23:59"); - - encode("GMT"); - decode("CET"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" )); - assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" )); - assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" )); - - assert(validFromDate1.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFromDate2.equals("Sun Mar 14 00:00:00 CET 2021" )); - assert(validFromDate3.equals("Sun Mar 14 00:00:00 CET 2021" )); - - assert(validUntilDate1.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntilDate2.equals("Wed Mar 24 23:59:00 CET 2021" )); - assert(validUntilDate3.equals("Wed Mar 24 23:59:00 CET 2021" )); - - - } - - /** - * Test encode test tickets in UTC and decode in CET. - * - * @throws IllegalArgumentException the illegal argument exception - * @throws IllegalAccessException the illegal access exception - * @throws ParseException - */ - @Test public void testCETGMTencoding() throws IllegalArgumentException, IllegalAccessException, ParseException { - - //get tickets - decodeTestTicketUTC(); - - //set the dates in the time zone GMT - TimeZone.setDefault(TimeZone.getTimeZone("CET")); - iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" )); - iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" )); - iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" )); - - setValidFromDateTo("2021.03.14-00:00"); - setUntilDateTo("2021.03.24-23:59"); - - encode("CET"); - decode("GMT"); - decodedDateToStrings(); - - assert(issuingDate1.equals("Thu Mar 04 12:30:00 GMT 2021" )); - assert(issuingDate2.equals("Thu Mar 04 00:30:00 GMT 2021" )); - assert(issuingDate3.equals("Wed Mar 03 23:30:00 GMT 2021" )); - - assert(validFromDate1.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(validFromDate2.equals("Sun Mar 14 00:00:00 GMT 2021" )); - assert(validFromDate3.equals("Sun Mar 14 00:00:00 GMT 2021" )); - - assert(validUntilDate1.equals("Wed Mar 24 23:59:00 GMT 2021" )); - assert(validUntilDate2.equals("Wed Mar 24 23:59:00 GMT 2021" )); - assert(validUntilDate3.equals("Wed Mar 24 23:59:00 GMT 2021" )); - - - } - - private void decodedDateToStrings() { - - issuingDate1 = iTicketDecodedCase1.getIssuerDetails().getIssuingDate().toString(); - issuingDate2 = iTicketDecodedCase2.getIssuerDetails().getIssuingDate().toString(); - issuingDate3 = iTicketDecodedCase3.getIssuerDetails().getIssuingDate().toString(); - - validFromDate1 = ((IStationPassage) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidFrom().toString(); - validFromDate2 = ((IStationPassage) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidFrom().toString(); - validFromDate3 = ((IStationPassage) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidFrom().toString(); - - validUntilDate1 = ((IStationPassage) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidUntil().toString(); - validUntilDate2 = ((IStationPassage) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidUntil().toString(); - validUntilDate3 = ((IStationPassage) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidUntil().toString(); - - - } - - - private void setValidFromDateTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IStationPassage) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(date); - ((IStationPassage) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(date); - ((IStationPassage) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(date); - } - - private void setUntilDateTo(String dateString) throws ParseException { - DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ); - Date date = dateFormat.parse(dateString); - ((IStationPassage) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidUntil(date); - ((IStationPassage) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidUntil(date); - ((IStationPassage) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidUntil(date); - } - - - /** - * Encode in Time Zone - */ - private void encode(String timeZone) { - TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); - try { - encodedInTimeZone1 = encoder.encode(iTicketDecodedFromAsn1Case1); - encodedInTimeZone2 = encoder.encode(iTicketDecodedFromAsn1Case2); - encodedInTimeZone3 = encoder.encode(iTicketDecodedFromAsn1Case3); - } catch (EncodingFormatException e) { - e.printStackTrace(); - } - } - - /** - * Decode in Time Zone - */ - private void decode(String timeZone) { - TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); - - try { - iTicketDecodedCase1 = decoder.decodeFromAsn(encodedInTimeZone1); - iTicketDecodedCase2 = decoder.decodeFromAsn(encodedInTimeZone2); - iTicketDecodedCase3 = decoder.decodeFromAsn(encodedInTimeZone3); - } catch (IOException e) { - e.printStackTrace(); - } - } - - - /** - * Encode decode. - */ - private void decodeTestTicketUTC() { - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - try { - iTicketDecodedFromAsn1Case1 = decoder.decodeFromAsn(encoded1); - iTicketDecodedFromAsn1Case2 = decoder.decodeFromAsn(encoded2); - iTicketDecodedFromAsn1Case3 = decoder.decodeFromAsn(encoded3); - } catch (IOException e) { - e.printStackTrace(); - } - - } - -} +package org.uic.barcode.ticket.api.test;
+
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
+import org.uic.barcode.ticket.EncodingFormatException;
+import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
+import org.uic.barcode.ticket.api.spec.IStationPassage;
+import org.uic.barcode.ticket.api.spec.IUicRailTicket;
+import org.uic.barcode.ticket.api.test.testtickets.StationPassageTestTicketV3;
+import org.uic.barcode.ticket.api.utils.Api2AsnEncoder;
+import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoderV3;
+import org.uic.barcode.ticket.api.utils.Asn2ApiDecoder;
+import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoderV3;
+
+
+/**
+ * The Class FipTimeZoneTestV3.
+ *
+ *
+ *
+ */
+public class StationPassageTimeZoneTestV3 {
+
+ /** The low level encoded test ticket test case 1 . */
+ private byte[] encoded1 = null;
+
+ /** The low level encoded test ticket test case 2 . */
+ private byte[] encoded2 = null;
+
+ /** The low level encoded test ticket test case 3 . */
+ private byte[] encoded3 = null;
+
+ /** The decoder. */
+ Asn2ApiDecoder decoder = new OpenAsn2ApiDecoderV3();
+
+ /** The encoder. */
+ Api2AsnEncoder encoder = new Api2OpenAsnEncoderV3();
+
+ /** The API ticket low level encoded for case 1. */
+ IUicRailTicket iTicketDecodedFromAsn1Case1 = null;
+
+ /** The API ticket low level encoded for case 2. */
+ IUicRailTicket iTicketDecodedFromAsn1Case2 = null;
+
+ /** The API ticket low level encoded for case 3. */
+ IUicRailTicket iTicketDecodedFromAsn1Case3 = null;
+
+
+ /** The ticket decoded 1. */
+ IUicRailTicket iTicketDecodedCase1 = null;
+
+ /** The i ticket decoded 2. */
+ IUicRailTicket iTicketDecodedCase2 = null;
+
+ /** The i ticket decoded 3. */
+ IUicRailTicket iTicketDecodedCase3 = null;
+
+ byte[] encodedInTimeZone1 = null;
+ byte[] encodedInTimeZone2 = null;
+ byte[] encodedInTimeZone3 = null;
+
+ String issuingDate1 = null;
+ String issuingDate2 = null;
+ String issuingDate3 = null;
+
+ String validFromDate1 = null;
+ String validFromDate2 = null;
+ String validFromDate3 = null;
+
+ String validUntilDate1 = null;
+ String validUntilDate2 = null;
+ String validUntilDate3 = null;
+
+ TimeZone defaulttimeZone = null;
+
+ /**
+ * Prepare tickets.
+ */
+ @Before public void prepare() {
+
+ LoggerFactory.setActivateConsoleLog(true);
+
+ defaulttimeZone = TimeZone.getDefault();
+
+ UicRailTicketData ticket1 = StationPassageTestTicketV3.getUicTestTicket();
+ UicRailTicketData ticket2 = StationPassageTestTicketV3.getUicTestTicket();
+ UicRailTicketData ticket3 = StationPassageTestTicketV3.getUicTestTicket();
+
+ //encode in UTC time zone
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+
+ encoded1 = UperEncoder.encode(ticket1);
+ encoded2 = UperEncoder.encode(ticket2);
+ encoded3 = UperEncoder.encode(ticket3);
+
+ }
+
+ /**
+ * clean up
+ */
+ @After public void resetTimeZone() {
+ TimeZone.setDefault(defaulttimeZone);
+ }
+
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testCETCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone CET
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromDateTo("2021.03.14-00:00");
+ setUntilDateTo("2021.03.24-23:59");
+
+ encode("CET");
+ decode("CET");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" ));
+ assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" ));
+
+ assert(validFromDate1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFromDate2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFromDate3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ assert(validUntilDate1.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntilDate2.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntilDate3.equals("Wed Mar 24 23:59:00 CET 2021" ));
+
+
+ }
+
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testGMTCETencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone GMT
+ TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromDateTo("2021.03.14-00:00");
+ setUntilDateTo("2021.03.24-23:59");
+
+ encode("GMT");
+ decode("CET");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 13:30:00 CET 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 01:30:00 CET 2021" ));
+ assert(issuingDate3.equals("Thu Mar 04 00:30:00 CET 2021" ));
+
+ assert(validFromDate1.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFromDate2.equals("Sun Mar 14 00:00:00 CET 2021" ));
+ assert(validFromDate3.equals("Sun Mar 14 00:00:00 CET 2021" ));
+
+ assert(validUntilDate1.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntilDate2.equals("Wed Mar 24 23:59:00 CET 2021" ));
+ assert(validUntilDate3.equals("Wed Mar 24 23:59:00 CET 2021" ));
+
+
+ }
+
+ /**
+ * Test encode test tickets in UTC and decode in CET.
+ *
+ * @throws IllegalArgumentException the illegal argument exception
+ * @throws IllegalAccessException the illegal access exception
+ * @throws ParseException
+ */
+ @Test public void testCETGMTencoding() throws IllegalArgumentException, IllegalAccessException, ParseException {
+
+ //get tickets
+ decodeTestTicketUTC();
+
+ //set the dates in the time zone GMT
+ TimeZone.setDefault(TimeZone.getTimeZone("CET"));
+ iTicketDecodedFromAsn1Case1.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-12:30" ));
+ iTicketDecodedFromAsn1Case2.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.04-00:30" ));
+ iTicketDecodedFromAsn1Case3.getIssuerDetails().setIssuingDate(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse( "2021.03.03-23:30" ));
+
+ setValidFromDateTo("2021.03.14-00:00");
+ setUntilDateTo("2021.03.24-23:59");
+
+ encode("CET");
+ decode("GMT");
+ decodedDateToStrings();
+
+ assert(issuingDate1.equals("Thu Mar 04 12:30:00 GMT 2021" ));
+ assert(issuingDate2.equals("Thu Mar 04 00:30:00 GMT 2021" ));
+ assert(issuingDate3.equals("Wed Mar 03 23:30:00 GMT 2021" ));
+
+ assert(validFromDate1.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(validFromDate2.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+ assert(validFromDate3.equals("Sun Mar 14 00:00:00 GMT 2021" ));
+
+ assert(validUntilDate1.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+ assert(validUntilDate2.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+ assert(validUntilDate3.equals("Wed Mar 24 23:59:00 GMT 2021" ));
+
+
+ }
+
+ private void decodedDateToStrings() {
+
+ issuingDate1 = iTicketDecodedCase1.getIssuerDetails().getIssuingDate().toString();
+ issuingDate2 = iTicketDecodedCase2.getIssuerDetails().getIssuingDate().toString();
+ issuingDate3 = iTicketDecodedCase3.getIssuerDetails().getIssuingDate().toString();
+
+ validFromDate1 = ((IStationPassage) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidFrom().toString();
+ validFromDate2 = ((IStationPassage) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidFrom().toString();
+ validFromDate3 = ((IStationPassage) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidFrom().toString();
+
+ validUntilDate1 = ((IStationPassage) iTicketDecodedCase1.getDocumentData().iterator().next()).getValidUntil().toString();
+ validUntilDate2 = ((IStationPassage) iTicketDecodedCase2.getDocumentData().iterator().next()).getValidUntil().toString();
+ validUntilDate3 = ((IStationPassage) iTicketDecodedCase3.getDocumentData().iterator().next()).getValidUntil().toString();
+
+
+ }
+
+
+ private void setValidFromDateTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IStationPassage) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(date);
+ ((IStationPassage) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(date);
+ ((IStationPassage) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(date);
+ }
+
+ private void setUntilDateTo(String dateString) throws ParseException {
+ DateFormat dateFormat = new SimpleDateFormat( "yyyy.MM.dd-HH:mm" );
+ Date date = dateFormat.parse(dateString);
+ ((IStationPassage) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidUntil(date);
+ ((IStationPassage) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidUntil(date);
+ ((IStationPassage) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidUntil(date);
+ }
+
+
+ /**
+ * Encode in Time Zone
+ */
+ private void encode(String timeZone) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
+ try {
+ encodedInTimeZone1 = encoder.encode(iTicketDecodedFromAsn1Case1);
+ encodedInTimeZone2 = encoder.encode(iTicketDecodedFromAsn1Case2);
+ encodedInTimeZone3 = encoder.encode(iTicketDecodedFromAsn1Case3);
+ } catch (EncodingFormatException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Decode in Time Zone
+ */
+ private void decode(String timeZone) {
+ TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
+
+ try {
+ iTicketDecodedCase1 = decoder.decodeFromAsn(encodedInTimeZone1);
+ iTicketDecodedCase2 = decoder.decodeFromAsn(encodedInTimeZone2);
+ iTicketDecodedCase3 = decoder.decodeFromAsn(encodedInTimeZone3);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * Encode decode.
+ */
+ private void decodeTestTicketUTC() {
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+ try {
+ iTicketDecodedFromAsn1Case1 = decoder.decodeFromAsn(encoded1);
+ iTicketDecodedFromAsn1Case2 = decoder.decodeFromAsn(encoded2);
+ iTicketDecodedFromAsn1Case3 = decoder.decodeFromAsn(encoded3);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+}
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeOpenTicketTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeOpenTicketTestV1.java index cb20d79..d9a2944 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeOpenTicketTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeOpenTicketTestV1.java @@ -5,8 +5,10 @@ import static org.junit.Assert.assertEquals; import java.io.IOException; import java.util.logging.Level; +import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IUicRailTicket; @@ -17,6 +19,9 @@ import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoder; public class UperEncodeOpenTicketTestV1 { + @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + } @Test public void testDecodeTicket() throws IllegalArgumentException, IllegalAccessException { diff --git a/src/test/java/org/uic/barcode/ticket/api/test/UperEncodePassTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/UperEncodePassTestV1.java index 7436f5d..a60296a 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/UperEncodePassTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/UperEncodePassTestV1.java @@ -5,8 +5,10 @@ import static org.junit.Assert.assertEquals; import java.io.IOException; import java.util.logging.Level; +import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData; import org.uic.barcode.ticket.api.spec.IUicRailTicket; @@ -17,6 +19,9 @@ import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoder; public class UperEncodePassTestV1 { + @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + } @Test public void testDecodeTicket() throws IllegalArgumentException, IllegalAccessException { UicRailTicketData ticket = PassTestTicketV1.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeTicketLinkTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeTicketLinkTestV1.java index 0a4b04c..a512ff3 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeTicketLinkTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeTicketLinkTestV1.java @@ -5,8 +5,10 @@ import static org.junit.Assert.assertEquals; import java.io.IOException; import java.util.logging.Level; +import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData; import org.uic.barcode.ticket.api.spec.ILinkMode; import org.uic.barcode.ticket.api.spec.ITicketLink; @@ -19,7 +21,9 @@ import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoder; public class UperEncodeTicketLinkTestV1 { - + @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + } @Test public void testEncodeTicket() throws IllegalArgumentException, IllegalAccessException { diff --git a/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeTicketTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeTicketTestV1.java index cf8eec6..fd59308 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeTicketTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeTicketTestV1.java @@ -4,8 +4,10 @@ import static org.junit.Assert.assertEquals; import java.util.logging.Level; +import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData; import org.uic.barcode.ticket.api.test.testtickets.SimpleUicTestTicket; @@ -85,7 +87,9 @@ public class UperEncodeTicketTestV1 { </pre> */ - + @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + } @Test public void testEncodeTicket() throws IllegalArgumentException, IllegalAccessException { UicRailTicketData ticket = SimpleUicTestTicket.getUicTestTicket(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeUICTicketExtensionTest.java b/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeUICTicketExtensionTest.java index da59f67..6dda463 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeUICTicketExtensionTest.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/UperEncodeUICTicketExtensionTest.java @@ -4,10 +4,12 @@ import static org.junit.Assert.assertEquals; import java.util.logging.Level; +import org.junit.Before; import org.junit.Test; import org.uic.barcode.asn1.datatypes.Asn1Optional; import org.uic.barcode.asn1.datatypes.Sequence; import org.uic.barcode.asn1.uper.UperEncoder; +import org.uic.barcode.logger.LoggerFactory; import org.uic.barcode.ticket.api.asn.omv1.ExtensionData; import org.uic.barcode.ticket.api.asn.omv1.SequenceOfExtensionData; @@ -35,20 +37,7 @@ public class UperEncodeUICTicketExtensionTest { } } -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> @@ -66,6 +55,9 @@ Encoded successfully in 11 bytes: } } + @Before public void prepare() { + LoggerFactory.setActivateConsoleLog(true); + } @Test public void testEncodeTicket() throws IllegalArgumentException, IllegalAccessException { TestRecord ticket = new TestRecord(); diff --git a/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV1.java b/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV1.java index 423908b..e2629a3 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV1.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV1.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData;
import org.uic.barcode.ticket.api.spec.IVoucher;
@@ -85,6 +86,8 @@ public class VoucherTimeZoneTestV1 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
UicRailTicketData ticket1 = VoucherTestTicketV1.getUicTestTicket();
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV2.java b/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV2.java index c7c2512..f7b4618 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV2.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV2.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.asn.omv2.UicRailTicketData;
import org.uic.barcode.ticket.api.spec.IVoucher;
@@ -87,6 +88,8 @@ public class VoucherTimeZoneTestV2 { */
@Before public void prepare() {
+ LoggerFactory.setActivateConsoleLog(true);
+
defaulttimeZone = TimeZone.getDefault();
UicRailTicketData ticket1 = VoucherTestTicketV2.getUicTestTicket();
diff --git a/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV3.java b/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV3.java index 22b17c2..b76b6cc 100644 --- a/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV3.java +++ b/src/test/java/org/uic/barcode/ticket/api/test/VoucherTimeZoneTestV3.java @@ -11,6 +11,7 @@ import org.junit.After; import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.asn1.uper.UperEncoder;
+import org.uic.barcode.logger.LoggerFactory;
import org.uic.barcode.ticket.EncodingFormatException;
import org.uic.barcode.ticket.api.asn.omv3.UicRailTicketData;
import org.uic.barcode.ticket.api.spec.IVoucher;
@@ -86,6 +87,8 @@ public class VoucherTimeZoneTestV3 { * Prepare tickets.
*/
@Before public void prepare() {
+
+ LoggerFactory.setActivateConsoleLog(true);
defaulttimeZone = TimeZone.getDefault();
|