diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/asn1/test/UTCTimeTest.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/asn1/test/UTCTimeTest.java | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/UTCTimeTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/UTCTimeTest.java new file mode 100644 index 0000000..8067e78 --- /dev/null +++ b/bcprov/src/main/java/org/bouncycastle/asn1/test/UTCTimeTest.java @@ -0,0 +1,108 @@ +package org.bouncycastle.asn1.test; + +import org.bouncycastle.asn1.DERUTCTime; +import org.bouncycastle.util.test.SimpleTest; + +import java.text.SimpleDateFormat; +import java.util.SimpleTimeZone; + +/** + * 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 + { + SimpleDateFormat yyyyF = new SimpleDateFormat("yyyyMMddHHmmss'Z'"); + SimpleDateFormat yyF = new SimpleDateFormat("yyyyMMddHHmmss'Z'"); + + yyyyF.setTimeZone(new SimpleTimeZone(0,"Z")); + yyF.setTimeZone(new SimpleTimeZone(0,"Z")); + + 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); + } + + if (!yyyyF.format(t.getAdjustedDate()).equals(zOutput1[i])) + { + fail("failed date conversion test " + i); + } + + if (!yyF.format(t.getDate()).equals(zOutput2[i])) + { + fail("failed date shortened conversion test " + i); + } + } + } + + public static void main( + String[] args) + { + runTest(new UTCTimeTest()); + } +} |