@@ -8976,6 +8976,67 @@ private static String DateTimeToString(
89768976 return new String (charbuf );
89778977 }
89788978
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+
89799040 @ Test
89809041 public void TestDateTime () {
89819042 ArrayList <String > dateList = new ArrayList <String >();
0 commit comments