@@ -8976,6 +8976,67 @@ private static String DateTimeToString(
8976
8976
return new String (charbuf );
8977
8977
}
8978
8978
8979
+ private static void TestDateTimeStringNumberOne (String str , long num ) {
8980
+ CBORObject dtstring = CBORObject .FromObject (str ).WithTag (0 );
8981
+ CBORObject dtnum = CBORObject .FromObject (num ).WithTag (1 );
8982
+ TestDateTimeStringNumberOne (dtstring , dtnum );
8983
+ }
8984
+ private static void TestDateTimeStringNumberOne (String str , double num ) {
8985
+ CBORObject dtstring = CBORObject .FromObject (str ).WithTag (0 );
8986
+ CBORObject dtnum = CBORObject .FromObject (num ).WithTag (1 );
8987
+ TestDateTimeStringNumberOne (dtstring , dtnum );
8988
+ }
8989
+ private static void TestDateTimeStringNumberOne (CBORObject dtstring ,
8990
+ CBORObject dtnum ) {
8991
+ CBORDateConverter convNumber = CBORDateConverter .TaggedNumber ;
8992
+ CBORDateConverter convString = CBORDateConverter .TaggedString ;
8993
+ CBORObject cbor ;
8994
+ EInteger [] eiYear = new EInteger [1 ];
8995
+ int [] lesserFields = new int [7 ];
8996
+ String strnum = dtstring + ", " + dtnum ;
8997
+ cbor = convNumber .ToCBORObject (convNumber .FromCBORObject (dtstring ));
8998
+ Assert .assertEquals (strnum , dtnum , cbor );
8999
+ if (!convNumber .TryGetDateTimeFields (dtstring , eiYear , lesserFields )) {
9000
+ Assert .fail (strnum );
9001
+ }
9002
+ cbor = convNumber .DateTimeFieldsToCBORObject (eiYear [0 ], lesserFields );
9003
+ Assert .assertEquals (strnum , dtnum , cbor );
9004
+ cbor = convString .DateTimeFieldsToCBORObject (eiYear [0 ], lesserFields );
9005
+ Assert .assertEquals (strnum , dtstring , cbor );
9006
+ cbor = convString .ToCBORObject (convString .FromCBORObject (dtnum ));
9007
+ Assert .assertEquals (strnum , dtstring , cbor );
9008
+ if (!convString .TryGetDateTimeFields (dtnum , eiYear , lesserFields )) {
9009
+ Assert .fail (strnum );
9010
+ }
9011
+ cbor = convNumber .DateTimeFieldsToCBORObject (eiYear [0 ], lesserFields );
9012
+ Assert .assertEquals (strnum , dtnum , cbor );
9013
+ cbor = convString .DateTimeFieldsToCBORObject (eiYear [0 ], lesserFields );
9014
+ Assert .assertEquals (strnum , dtstring , cbor );
9015
+ }
9016
+
9017
+ @ Test
9018
+ public void TestDateTimeStringNumber () {
9019
+ TestDateTimeStringNumberOne ("1970-01-01T00:00:00.25Z" , 0.25 );
9020
+ TestDateTimeStringNumberOne ("1970-01-01T00:00:00.75Z" , 0.75 );
9021
+ TestDateTimeStringNumberOne ("1969-12-31T23:59:59.75Z" , -0.25 );
9022
+ TestDateTimeStringNumberOne ("1969-12-31T23:59:59.25Z" , -0.75 );
9023
+ TestDateTimeStringNumberOne ("1970-01-03T00:00:00Z" , 172800 );
9024
+ TestDateTimeStringNumberOne ("1970-01-03T00:00:00Z" , 172800 );
9025
+ TestDateTimeStringNumberOne ("1970-01-03T00:00:00Z" , 172800 );
9026
+ TestDateTimeStringNumberOne ("2001-01-03T00:00:00Z" , 978480000 );
9027
+ TestDateTimeStringNumberOne ("2001-01-03T00:00:00.25Z" , 978480000.25 );
9028
+ TestDateTimeStringNumberOne ("1960-01-03T00:00:00Z" , -315446400 );
9029
+ TestDateTimeStringNumberOne ("1400-01-03T00:00:00Z" , -17987270400L );
9030
+ TestDateTimeStringNumberOne ("2100-01-03T00:00:00Z" , 4102617600L );
9031
+ TestDateTimeStringNumberOne ("1970-01-03T00:00:01Z" , 172801 );
9032
+ TestDateTimeStringNumberOne ("2001-01-03T00:00:01Z" , 978480001 );
9033
+ TestDateTimeStringNumberOne ("1960-01-03T00:00:01Z" , -315446399 );
9034
+ TestDateTimeStringNumberOne ("1960-01-03T00:00:00.25Z" , -315446399.75 );
9035
+ TestDateTimeStringNumberOne ("1960-01-03T00:00:00.75Z" , -315446399.25 );
9036
+ TestDateTimeStringNumberOne ("1400-01-03T00:00:01Z" , -17987270399L );
9037
+ TestDateTimeStringNumberOne ("2100-01-03T00:00:01Z" , 4102617601L );
9038
+ }
9039
+
8979
9040
@ Test
8980
9041
public void TestDateTime () {
8981
9042
ArrayList <String > dateList = new ArrayList <String >();
0 commit comments