From 9f75546ee8fe2ad3ab07fee7bd9503340a5174fe Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Mon, 22 Mar 2021 11:47:46 +0100 Subject: additional tests for time zones fix for fip ticket --- .../ticket/api/test/PassTimeZoneTestV1.java | 124 +++++++++++++-------- 1 file changed, 80 insertions(+), 44 deletions(-) (limited to 'src/org/uic/barcode/ticket/api/test/PassTimeZoneTestV1.java') diff --git a/src/org/uic/barcode/ticket/api/test/PassTimeZoneTestV1.java b/src/org/uic/barcode/ticket/api/test/PassTimeZoneTestV1.java index 1c0553f..e7aeae8 100644 --- a/src/org/uic/barcode/ticket/api/test/PassTimeZoneTestV1.java +++ b/src/org/uic/barcode/ticket/api/test/PassTimeZoneTestV1.java @@ -1,8 +1,10 @@ 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; @@ -13,6 +15,9 @@ import org.uic.barcode.ticket.EncodingFormatException; import org.uic.barcode.ticket.api.asn.omv1.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.PassTimeZoneTestTicketCase1V1; +import org.uic.barcode.ticket.api.test.testtickets.PassTimeZoneTestTicketCase2V1; +import org.uic.barcode.ticket.api.test.testtickets.PassTimeZoneTestTicketCase3V1; import org.uic.barcode.ticket.api.utils.Api2OpenAsnEncoder; import org.uic.barcode.ticket.api.utils.OpenAsn2ApiDecoder; @@ -112,6 +117,10 @@ public class PassTimeZoneTestV1 { String validFrom2 = null; String validFrom3 = null; + String validUntil1 = null; + String validUntil2 = null; + String validUntil3 = null; + String activationDate1 = null; String activationDate2 = null; String activationDate3 = null; @@ -168,6 +177,10 @@ public class PassTimeZoneTestV1 { 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" )); @@ -193,11 +206,15 @@ public class PassTimeZoneTestV1 { 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" )); @@ -222,20 +239,11 @@ public class PassTimeZoneTestV1 { 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" )); - - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00")); - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00")); - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00")); - - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().add((new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00"))); - - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().add((new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00"))); - - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().add((new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00"))); - + + setValidFromTo("2021.03.14-00:00"); + setValidUntilTo("2021.03.24-23:59"); + setActivatedDayTo("2021.03.14-00:00"); + encode("CET"); decode("CET"); decodedDateToStrings(); @@ -248,12 +256,17 @@ public class PassTimeZoneTestV1 { 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. * @@ -272,19 +285,10 @@ public class PassTimeZoneTestV1 { 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" )); - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00")); - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00")); - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00")); - - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().add((new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00"))); - - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().add((new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00"))); - - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().add((new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00"))); - + setValidFromTo("2021.03.14-00:00"); + setValidUntilTo("2021.03.24-23:59"); + setActivatedDayTo("2021.03.14-00:00"); + encode("GMT"); decode("CET"); decodedDateToStrings(); @@ -297,6 +301,10 @@ public class PassTimeZoneTestV1 { 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" )); @@ -320,20 +328,11 @@ public class PassTimeZoneTestV1 { 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" )); - - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).setValidFrom(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00")); - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).setValidFrom(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00")); - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).setValidFrom(new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00")); - - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case1.getDocumentData().iterator().next()).getActivatedDays().add((new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00"))); - - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case2.getDocumentData().iterator().next()).getActivatedDays().add((new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00"))); - - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().clear(); - ((IPass) iTicketDecodedFromAsn1Case3.getDocumentData().iterator().next()).getActivatedDays().add((new SimpleDateFormat( "yyyy.MM.dd-HH:mm" ).parse("2021.03.14-00:00"))); + setValidFromTo("2021.03.14-00:00"); + setValidUntilTo("2021.03.24-23:59"); + setActivatedDayTo("2021.03.14-00:00"); + encode("CET"); decode("GMT"); decodedDateToStrings(); @@ -346,6 +345,10 @@ public class PassTimeZoneTestV1 { 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" )); @@ -358,17 +361,50 @@ public class PassTimeZoneTestV1 { 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); + } /** -- cgit v1.2.3