static void test(List<DTTest> dates, TestFormat test_format) { int errors = 0; Console.WriteLine("\n\n################################## " + test_format.ToString()); DateTimeRoutines.ParsedDateTime t; foreach (DTTest test in dates) { string date = test.test; Console.WriteLine(""); Console.WriteLine("* " + date); switch (test_format) { case TestFormat.DATE: if (date.TryParseDate(DateTimeRoutines.DateTimeFormat.USA_DATE, out t)) if (t.DateTime.Date == test.answer.Date) Console.WriteLine(t.DateTime.ToString()); else { Console.WriteLine(">>>>>> ERROR: " + t.DateTime.Date.ToString() + " <> " + test.answer.Date.ToString()); errors++; } else { if (DateTime.Now.Year != test.answer.Year || DateTime.Now.Month != test.answer.Month || DateTime.Now.Day != test.answer.Day) { Console.WriteLine(">>>>>> ERROR: not found"); errors++; } else Console.WriteLine("-----"); } break; case TestFormat.DATE_TIME: if (date.TryParseDateOrTime(DateTimeRoutines.DateTimeFormat.USA_DATE, out t)) if (t.IsUtcOffsetFound && test.answer.Kind == DateTimeKind.Utc && t.UtcDateTime == test.answer || !t.IsUtcOffsetFound && t.DateTime == test.answer) Console.WriteLine(t.DateTime.ToString()); else { Console.WriteLine(">>>>>> ERROR: " + t.DateTime.ToString() + " <> " + test.answer.ToString() + " and " + t.UtcDateTime.ToString() + " <> " + test.answer.ToString()); errors++; } else { Console.WriteLine(">>>>>> ERROR: not found"); errors++; } break; case TestFormat.TIME: if (date.TryParseTime(DateTimeRoutines.DateTimeFormat.USA_DATE, out t, null)) if (t.IsUtcOffsetFound && test.answer.Kind == DateTimeKind.Utc && t.UtcDateTime.TimeOfDay == test.answer.TimeOfDay || !t.IsUtcOffsetFound && t.DateTime.TimeOfDay == test.answer.TimeOfDay) Console.WriteLine(t.DateTime.ToLongTimeString()); else { Console.WriteLine(">>>>>> ERROR: " + t.DateTime.TimeOfDay.ToString() + " <> " + test.answer.TimeOfDay.ToString() + " and " + t.UtcDateTime.TimeOfDay.ToString() + " <> " + test.answer.TimeOfDay.ToString()); errors++; } else { if (0 != test.answer.Hour || 0 != test.answer.Minute || 0 != test.answer.Second) { Console.WriteLine(">>>>>> ERROR: not found"); errors++; } else Console.WriteLine("-----"); } break; } } Console.WriteLine("\n\n@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERRORS: " + errors.ToString() + "\n\n"); total_errors += errors; }
static void test(TestFormat test_format) { ArrayList dates = new ArrayList(); dates.Add(new DTTest(@"Member since: 10-Feb-2008", new DateTime(2008, 2, 10, 0, 0, 0))); dates.Add(new DTTest(@"Last Update: 18:16 11 Feb '08 ", new DateTime(2008, 2, 11, 18, 16, 0))); dates.Add(new DTTest(@"date Tue, Feb 10, 2008 at 11:06 AM", new DateTime(2008, 2, 10, 11, 06, 0))); dates.Add(new DTTest(@"see at 12/31/2007 14:16:32", new DateTime(2007, 12, 31, 14, 16, 32))); dates.Add(new DTTest(@"sack finish 14:16:32 November 15 2008, 1-144 app", new DateTime(2008, 11, 15, 14, 16, 32))); dates.Add(new DTTest(@"Genesis Message - Wed 04 Feb 08 - 19:40", new DateTime(2008, 2, 4, 19, 40, 0))); dates.Add(new DTTest(@"The day 07/31/07 14:16:32 is ", new DateTime(2007, 7, 31, 14, 16, 32))); dates.Add(new DTTest(@"Shipping is on us until December 24, 2008 within the U.S. ", new DateTime(2008, 12, 24, 0, 0, 0))); dates.Add(new DTTest(@" 2008 within the U.S. at 14:16:32", new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 14, 16, 32))); dates.Add(new DTTest(@"5th November, 1994, 8:15:30 pm", new DateTime(1994, 11, 5, 20, 15, 30))); dates.Add(new DTTest(@"7 boxes January 31 , 14:16:32.", new DateTime(DateTime.Now.Year, 1, 31, 14, 16, 32))); dates.Add(new DTTest(@"the blue sky of Sept 30th 2008 14:16:32", new DateTime(2008, 9, 30, 14, 16, 32))); dates.Add(new DTTest(@" e.g. 1997-07-16T19:20:30+01:00", new DateTime(1997, 7, 16, 19, 20, 30))); dates.Add(new DTTest(@"Apr 1st, 2008 14:16:32 tufa 6767", new DateTime(2008, 4, 1, 14, 16, 32))); dates.Add(new DTTest(@"wait for 07/31/07 14:16:32", new DateTime(2007, 7, 31, 14, 16, 32))); dates.Add(new DTTest(@"later 12.31.08 and before 1.01.09", new DateTime(2008, 12, 31, 0, 0, 0))); dates.Add(new DTTest(@"Expires: Sept 30th 2008 14:16:32", new DateTime(2008, 9, 30, 14, 16, 32))); dates.Add(new DTTest(@"Offer expires Apr 1st, 2007, 14:16:32", new DateTime(2007, 4, 1, 14, 16, 32))); dates.Add(new DTTest(@"Expires 14:16:32 January 31.", new DateTime(DateTime.Now.Year, 1, 31, 14, 16, 32))); dates.Add(new DTTest(@"Expires 14:16:32 January 31-st.", new DateTime(DateTime.Now.Year, 1, 31, 14, 16, 32))); dates.Add(new DTTest(@"Expires 23rd January 2010.", new DateTime(2010, 1, 23, 0, 0, 0))); dates.Add(new DTTest(@"Expires January 22nd, 2010.", new DateTime(2010, 1, 22, 0, 0, 0))); dates.Add(new DTTest(@"Expires DEC 22, 2010.", new DateTime(2010, 12, 22, 0, 0, 0))); dates.Add(new DTTest(@"Version: 1.0.0.692 6/1/2010 2:28:04 AM ", new DateTime(2010, 6, 1, 2, 28, 4))); dates.Add(new DTTest(@"Version: 1.0.0.692 04/21/11 12:30am ", new DateTime(2011, 4, 21, 00, 30, 00))); dates.Add(new DTTest(@"Version: 1.0.0.692 04/21/11 12:30pm ", new DateTime(2011, 4, 21, 12, 30, 00))); int errors = 0; Console.WriteLine("\n\n################################## " + test_format.ToString()); DateTimeRoutines.ParsedDateTime t; foreach (DTTest test in dates) { string date = test.test; Console.WriteLine(""); Console.WriteLine("* " + date); switch (test_format) { case TestFormat.DATE: if (date.TryParseDate(DateTimeRoutines.DateTimeFormat.USA_DATE, out t)) if (t.DateTime.Year != test.answer.Year || t.DateTime.Month != test.answer.Month || t.DateTime.Day != test.answer.Day) { Console.WriteLine(">>>>>> ERROR: " + t.DateTime.ToString() + " <> " + test.answer.ToString()); errors++; } else Console.WriteLine(t.DateTime.ToShortDateString()); else { if (DateTime.Now.Year != test.answer.Year || DateTime.Now.Month != test.answer.Month || DateTime.Now.Day != test.answer.Day) { Console.WriteLine(">>>>>> ERROR: not found"); errors++; } else Console.WriteLine("-----"); } break; case TestFormat.DATE_TIME: if (date.TryParseDateOrTime(DateTimeRoutines.DateTimeFormat.USA_DATE, out t)) if (t.DateTime != test.answer) { Console.WriteLine(">>>>>> ERROR: " + t.DateTime.ToString() + " <> " + test.answer.ToString()); errors++; } else Console.WriteLine(t.DateTime.ToString()); else { Console.WriteLine(">>>>>> ERROR: not found"); errors++; } break; case TestFormat.TIME: if (date.TryParseTime(DateTimeRoutines.DateTimeFormat.USA_DATE, out t, null)) if (t.DateTime.Hour != test.answer.Hour || t.DateTime.Minute != test.answer.Minute || t.DateTime.Second != test.answer.Second) { Console.WriteLine(">>>>>> ERROR: " + t.DateTime.ToString() + " <> " + test.answer.ToString()); errors++; } else Console.WriteLine(t.DateTime.ToLongTimeString()); else { if (0 != test.answer.Hour || 0 != test.answer.Minute || 0 != test.answer.Second) { Console.WriteLine(">>>>>> ERROR: not found"); errors++; } else Console.WriteLine("-----"); } break; } } Console.WriteLine("\n\n@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERRORS: " + errors.ToString() + "\n\n"); total_errors += errors; }
static void test(List <DTTest> dates, TestFormat test_format) { int errors = 0; Console.WriteLine("\n\n################################## " + test_format.ToString()); DateTimeRoutines.ParsedDateTime t; foreach (DTTest test in dates) { string date = test.test; Console.WriteLine(""); Console.WriteLine("* " + date); switch (test_format) { case TestFormat.DATE: if (date.TryParseDate(DateTimeRoutines.DateTimeFormat.USA_DATE, out t)) { if (t.DateTime.Date == test.answer.Date) { Console.WriteLine(t.DateTime.ToString()); } else { Console.WriteLine(">>>>>> ERROR: " + t.DateTime.Date.ToString() + " <> " + test.answer.Date.ToString()); errors++; } } else { if (DateTime.Now.Year != test.answer.Year || DateTime.Now.Month != test.answer.Month || DateTime.Now.Day != test.answer.Day) { Console.WriteLine(">>>>>> ERROR: not found"); errors++; } else { Console.WriteLine("-----"); } } break; case TestFormat.DATE_TIME: if (date.TryParseDateOrTime(DateTimeRoutines.DateTimeFormat.USA_DATE, out t)) { if (t.IsUtcOffsetFound && test.answer.Kind == DateTimeKind.Utc && t.UtcDateTime == test.answer || !t.IsUtcOffsetFound && t.DateTime == test.answer) { Console.WriteLine(t.DateTime.ToString()); } else { Console.WriteLine(">>>>>> ERROR: " + t.DateTime.ToString() + " <> " + test.answer.ToString() + " and " + t.UtcDateTime.ToString() + " <> " + test.answer.ToString()); errors++; } } else { Console.WriteLine(">>>>>> ERROR: not found"); errors++; } break; case TestFormat.TIME: if (date.TryParseTime(DateTimeRoutines.DateTimeFormat.USA_DATE, out t, null)) { if (t.IsUtcOffsetFound && test.answer.Kind == DateTimeKind.Utc && t.UtcDateTime.TimeOfDay == test.answer.TimeOfDay || !t.IsUtcOffsetFound && t.DateTime.TimeOfDay == test.answer.TimeOfDay) { Console.WriteLine(t.DateTime.ToLongTimeString()); } else { Console.WriteLine(">>>>>> ERROR: " + t.DateTime.TimeOfDay.ToString() + " <> " + test.answer.TimeOfDay.ToString() + " and " + t.UtcDateTime.TimeOfDay.ToString() + " <> " + test.answer.TimeOfDay.ToString()); errors++; } } else { if (0 != test.answer.Hour || 0 != test.answer.Minute || 0 != test.answer.Second) { Console.WriteLine(">>>>>> ERROR: not found"); errors++; } else { Console.WriteLine("-----"); } } break; } } Console.WriteLine("\n\n@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERRORS: " + errors.ToString() + "\n\n"); total_errors += errors; }