summary refs log tree commit diff
path: root/crypto/test/src/asn1/test/UTCTimeTest.cs
blob: bac0e1188c64415c3a5cfdc3578ab7a7c3f9b177 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using System;

using NUnit.Framework;

using Org.BouncyCastle.Utilities.Test;

namespace Org.BouncyCastle.Asn1.Tests
{
	/**
	* X.690 test example
	*/
	[TestFixture]
	public class UtcTimeTest
		: SimpleTest
	{
		private static readonly string[] input =
		{
			"020122122220Z",
			"020122122220-1000",
			"020122122220+1000",
			"020122122220+00",
			"0201221222Z",
			"0201221222-1000",
			"0201221222+1000",
			"0201221222+00",
			"550122122220Z",
			"5501221222Z"
		};

		private static readonly 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"
		};

		private static readonly string[] zOutput1 =
		{
			"20020122122220Z",
			"20020122222220Z",
			"20020122022220Z",
			"20020122122220Z",
			"20020122122200Z",
			"20020122222200Z",
			"20020122022200Z",
			"20020122122200Z",
			"19550122122220Z",
			"19550122122200Z"
		};

		private static readonly string[] zOutput2 =
		{
			"20020122122220Z",
			"20020122222220Z",
			"20020122022220Z",
			"20020122122220Z",
			"20020122122200Z",
			"20020122222200Z",
			"20020122022200Z",
			"20020122122200Z",
			"19550122122220Z",
			"19550122122200Z"
		};

		public override string Name
		{
			get { return "UTCTime"; }
		}

		public override void PerformTest()
		{
//			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.AdjustedTimeString.Equals(output[i]))
				{
					Fail("failed conversion test " + i);
				}

//				if (!yyyyF.format(t.getAdjustedDate()).Equals(zOutput1[i]))
				if (!t.ToAdjustedDateTime().ToString(@"yyyyMMddHHmmss\Z").Equals(zOutput1[i]))
				{
					Fail("failed date conversion test " + i);
				}

//				if (!yyF.format(t.getDate()).Equals(zOutput2[i]))
				if (!t.ToDateTime().ToString(@"yyyyMMddHHmmss\Z").Equals(zOutput2[i]))
				{
					Fail("failed date shortened conversion test " + i);
				}
			}
		}

		[Test]
		public void TestFunction()
		{
			string resultText = Perform().ToString();

			Assert.AreEqual(Name + ": Okay", resultText);
		}
	}
}