package org.bouncycastle.asn1.test; import org.bouncycastle.asn1.ASN1UTCTime; import org.bouncycastle.asn1.DERUTCTime; import org.bouncycastle.util.test.SimpleTest; /** * X.690 test example */ public class UTCTimeTest extends SimpleTest { String[] input = { "020122122220Z", "020122122220-1000", "020122122220+1000", "020122122220+00", "0201221222Z", "0201221222-1000", "0201221222+1000", "0201221222+00", "550122122220Z", "5501221222Z" }; String[] output = { "20020122122220GMT+00:00", "20020122122220GMT-10:00", "20020122122220GMT+10:00", "20020122122220GMT+00:00", "20020122122200GMT+00:00", "20020122122200GMT-10:00", "20020122122200GMT+10:00", "20020122122200GMT+00:00", "19550122122220GMT+00:00", "19550122122200GMT+00:00" }; String[] zOutput1 = { "20020122122220Z", "20020122222220Z", "20020122022220Z", "20020122122220Z", "20020122122200Z", "20020122222200Z", "20020122022200Z", "20020122122200Z", "19550122122220Z", "19550122122200Z" }; String[] zOutput2 = { "20020122122220Z", "20020122222220Z", "20020122022220Z", "20020122122220Z", "20020122122200Z", "20020122222200Z", "20020122022200Z", "20020122122200Z", "19550122122220Z", "19550122122200Z" }; public String getName() { return "UTCTime"; } public void performTest() throws Exception { for (int i = 0; i != input.length; i++) { DERUTCTime t = new DERUTCTime(input[i]); if (!t.getAdjustedTime().equals(output[i])) { fail("failed conversion test " + i); } t = new ASN1UTCTime(zOutput1[i].substring(2)); if (!new ASN1UTCTime(t.getAdjustedDate()).getAdjustedTime().equals(t.getAdjustedTime())) { fail("failed equality test"); } } } public static void main( String[] args) { runTest(new UTCTimeTest()); } }