public void testParsing() { SifFormatter SIF1x = new Sif1xFormatter(); SifFormatter SIF2x = new Sif2xFormatter(); Boolean BooleanValue = true; //mjn declare types as nullable Boolean? BooleanNull = null; int? intNull = null; assertBooleanParsing(SIF1x, "Yes", BooleanValue); Assert.AreEqual("", SIF1x.ToString(BooleanNull), "Null Bool Value"); //( (Boolean)null )); assertBooleanParsing(SIF2x, "true", BooleanValue); Assert.IsNull(SIF2x.ToString(BooleanNull), "Null Bool Value"); bool? testValue = SIF2x.ToBool( "1"); Assert.IsTrue(testValue.Value, "Boolean Value" ); testValue = SIF2x.ToBool("0"); Assert.IsFalse(testValue.Value, "Boolean Value" ); float floatValue =99.34f; assertFloatParsing(SIF1x, "99.34", floatValue); Assert.IsNull( SIF1x.ToString((float?)null)); assertFloatParsing(SIF2x, "99.34", floatValue); Assert.IsNull( SIF2x.ToString((float?)null)); floatValue = 321651.09934f; assertFloatParsing(SIF1x, "321651.1", floatValue); assertFloatParsing(SIF2x, "321651.1", floatValue); //INF, -INF and NaN assertFloatParsing(SIF1x, "INF", float.PositiveInfinity ); assertFloatParsing(SIF1x, "-INF", float.NegativeInfinity ); float? nan = SIF1x.ToFloat( "NaN" ); Assert.IsTrue( float.IsNaN( nan.Value ) ); assertFloatParsing(SIF2x, "INF", float.PositiveInfinity ); assertFloatParsing(SIF2x, "-INF", float.NegativeInfinity ); nan = SIF2x.ToFloat("NaN"); Assert.IsTrue(float.IsNaN(nan.Value)); int intValue = 9998877; // new int(9998877); assertintParsing(SIF1x, "9998877", intValue); Assertion.AssertEquals("Null int Value", "", SIF1x.ToString(intNull)); assertintParsing(SIF2x, "9998877", intValue); Assertion.AssertNull("Null int Value", SIF2x.ToString(intNull)); DateTime? sampleDate = new DateTime(1999, 10, 01); AssertDateParsing(SIF1x, "19991001", sampleDate); Assertion.AssertEquals("Null Value", "", SIF1x.ToDateString(null)); AssertDateParsing(SIF2x, "1999-10-01" /* + tzOffset */, sampleDate); Assertion.AssertNull("Null Date Value", SIF2x.ToDateString(null)); }
public void testSIF2xDateTimeParsing() { SifFormatter formatter = new Sif2xFormatter(); String testValue = formatter.ToDateTimeString(null); Assert.IsNull(testValue, "Date value should be null" ); DateTime assertedDate = new DateTime(1999, 9, 1, 22, 2, 4 ); TimeSpan utcOffset = TimeZone.CurrentTimeZone.GetUtcOffset(assertedDate); Console.Write( "UTC Offset: "); Console.WriteLine( utcOffset ); Console.WriteLine(); Nullable<DateTime> assertedDateTime = new Nullable<DateTime>(assertedDate); String sifString = formatter.ToDateTimeString(assertedDateTime); AssertDateTimeParsing(assertedDateTime, formatter, sifString, "Re-Parse of original"); String test1 = "1999-09-01T22:02:04"; AssertDateTimeParsing(assertedDateTime, formatter, test1, "Date Time"); DateTime UTcTime = assertedDate.ToUniversalTime(); String test2 = UTcTime.ToString("s") + "Z"; AssertDateTimeParsing(assertedDateTime, formatter, test2, "UTC Time (Z)"); // test2 = UTcTime.ToString("s") + "+0:00"; // AssertDateTimeParsing(assertedDateTime, formatter, test2, "UTC Time (+00:00)"); // Test the time, using Eastern time DateTime easternTime = UTcTime.AddHours(-5); String test3 = easternTime.ToString("s") + "-05:00"; AssertDateTimeParsing(assertedDateTime, formatter, test3, "Eastern Time"); // Test the time, using european time DateTime europeanTime = UTcTime.AddHours( 3 ); String test4 = europeanTime.ToString( "s" ) + "+03:00"; AssertDateTimeParsing(assertedDateTime, formatter, test4, "European Time"); }
public void testSIF2xTimeParsing() { SifFormatter formatter = new Sif2xFormatter(); String testValue = formatter.ToTimeString(null); Assert.IsNull(testValue, "Date value should be null" ); DateTime now = DateTime.Now; DateTime assertedDate = new DateTime( now.Year, now.Month, now.Day, 21, 0, 59); Nullable<DateTime> assertedDateTime = new Nullable<DateTime>(assertedDate); String sifString = formatter.ToDateTimeString(assertedDateTime); AssertTimeParsing(assertedDateTime, formatter, sifString, "Re-Parse of original"); String test1 = "21:00:59"; AssertTimeParsing(assertedDateTime, formatter, test1, "Date Time"); DateTime UTcTime = assertedDate.ToUniversalTime(); String test2 = UTcTime.ToString("HH:mm:ss") + "Z"; AssertTimeParsing(assertedDateTime, formatter, test2, "UTC Time (Z)"); // test2 = UTcTime.ToString("HH:mm:ss") + "+0:00"; // AssertTimeParsing(assertedDateTime, formatter, test2, "UTC Time (+00:00)"); // Test the time, using Eastern time DateTime easternTime = UTcTime.AddHours(-5); String test3 = easternTime.ToString("HH:mm:ss") + "-05:00"; AssertTimeParsing(assertedDateTime, formatter, test3, "Eastern Time"); // Test the time, using european time DateTime europeanTime = UTcTime.AddHours(3); String test4 = europeanTime.ToString("HH:mm:s.s") + "+03:00"; AssertTimeParsing(assertedDateTime, formatter, test4, "European Time"); test4 = "2008-04-21T14:16:00.3651098Z"; DateTime t = formatter.ToDateTime( test4 ).Value; Console.WriteLine( t ); }