public void FormatWithTrailingSpacesInInputExpectedOutputDateNotBlank() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "14101988 "; dateTimeTO.InputFormat = "ddmmyyyy "; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd"; dateTimeTO.TimeModifierType = "Years"; dateTimeTO.TimeModifierAmount = 23; formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); Assert.AreEqual("2011/10/14", result); }
public void FormatWithTrailingZerosInOutputExpectedTrailingZerosNotRemoved() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "2013/02/07 08:38:56.953 PM"; dateTimeTO.InputFormat = "yyyy/mm/dd 12h:min:ss.sp am/pm"; dateTimeTO.OutputFormat = "sp"; dateTimeTO.TimeModifierType = "Milliseconds"; dateTimeTO.TimeModifierAmount = -53; formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); Assert.AreEqual("900", result); }
public void FormatTimeModifierTypeInvalid_Expected_DateNotModified() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "14101988"; dateTimeTO.InputFormat = "ddmmyyyy"; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd"; dateTimeTO.TimeModifierType = "WrongType"; dateTimeTO.TimeModifierAmount = 23; formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); Assert.IsTrue(result == "1988/10/14"); }
public void FormatOutputFormatNULLorEmpty_Expected_NoOutputFormattingPerformed() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "14101988"; dateTimeTO.InputFormat = "ddmmyyyy"; dateTimeTO.OutputFormat = ""; dateTimeTO.TimeModifierType = "Years"; dateTimeTO.TimeModifierAmount = 23; formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); const string expected = "14102011"; Assert.AreEqual(expected, result); }
public void FormatTimeModifierTypeNULLorEmpty_Expected_SameDateReturned() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "14101988"; dateTimeTO.InputFormat = "ddmmyyyy"; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd"; dateTimeTO.TimeModifierType = ""; dateTimeTO.TimeModifierAmount = 0; formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); const string expected = "1988/10/14"; Assert.AreEqual(expected, result); }
public void FormatAllArgsValid_Expected_ResultFormattedAccordingToOutputFormat() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "14101988"; dateTimeTO.InputFormat = "ddmmyyyy"; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd"; dateTimeTO.TimeModifierType = "Years"; dateTimeTO.TimeModifierAmount = 23; formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); const string expected = "2011/10/14"; Assert.AreEqual(expected, result); }
public void FormatAllArgsValid_WithTimeZone_Expected_ResultContainsFullTimezoneName() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "14101988GMT"; dateTimeTO.InputFormat = "ddmmyyyyZ"; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd' 'ZZZ"; dateTimeTO.TimeModifierType = "Years"; dateTimeTO.TimeModifierAmount = 23; formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); const string expected = "2011/10/14 Greenwich Mean Time"; Assert.AreEqual(expected, result); }
public void FormatInputFormatNULLorEmptyExpectedFullDateTimeFormatUsed() { string result; string errorMsg; IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "Monday, May 06, 2013 10:29:50 AM"; dateTimeTO.InputFormat = null; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd' '12h':'min':'ss' 'am/pm"; formatter.TryFormat(dateTimeTO, out result, out errorMsg); string expected = "2013/05/06 10:29:50 AM"; Assert.AreEqual(expected, result, "Date time did not default input format to full date time"); }
public void FormatInputFormatNULLorEmptyExpectedInvariantFormatUsed() { string result = string.Empty; string errorMsg = string.Empty; IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "05/06/2013 10:29:50"; dateTimeTO.InputFormat = null; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd' '12h':'min':'ss' 'am/pm"; formatter.TryFormat(dateTimeTO, out result, out errorMsg); string expected = "2013/05/06 10:29:50 AM"; Assert.AreEqual(expected, result, "Date time did not default input format to invariant culture"); }
public void FormatInputFormatNULLorEmpty_Expected_DateValueAssumesInputFormat() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "2012/8/20"; dateTimeTO.InputFormat = @"yyyy'/'m'/'d"; dateTimeTO.OutputFormat = ""; dateTimeTO.TimeModifierType = ""; dateTimeTO.TimeModifierAmount = 0; formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); const string expected = "2012/8/20"; Assert.AreEqual(expected, result); }
public void FormatWithTrailingZerosInOutputExpectedTrailingZerosNotRemoved() { bool isFormatCorrect; string result = string.Empty; string errorMsg = string.Empty; IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "2013/02/07 08:38:56.953 PM"; dateTimeTO.InputFormat = "yyyy/mm/dd 12h:min:ss.sp am/pm"; dateTimeTO.OutputFormat = "sp"; dateTimeTO.TimeModifierType = "Split Secs"; dateTimeTO.TimeModifierAmount = -53; isFormatCorrect = formatter.TryFormat(dateTimeTO, out result, out errorMsg); Assert.AreEqual("900", result); }
public void StandardDateTimeFormatter_DateOnly_TryFormat_TimeModifierType_Empty() { IDateTimeOperationTO dateTimeOperationTO = new DateTimeOperationTO { DateTime = "14101988", InputFormat = "ddMMyyyy", OutputFormat = @"yyyy/MM/dd", TimeModifierType = "", TimeModifierAmount = 23 }; var standardDateTimeFormatter = new StandardDateTimeFormatter(); var formatResult = standardDateTimeFormatter.TryFormat(dateTimeOperationTO, out string result, out string errorMsg); Assert.IsTrue(formatResult); Assert.AreEqual("1988/10/14", result); Assert.AreEqual("", errorMsg); }
public void StandardDateTimeFormatter_DateAndTime_TryFormat_TimeModifierType_AddHours_PM_To_AM() { IDateTimeOperationTO dateTimeOperationTO = new DateTimeOperationTO { DateTime = "2011/10/14 08:00:00.000 PM", InputFormat = @"yyyy/MM/dd hh:mm:ss.fff tt", OutputFormat = @"yyyy/MM/dd hh:mm:ss.fff tt", TimeModifierType = "Hours", TimeModifierAmount = -34 }; var standardDateTimeFormatter = new StandardDateTimeFormatter(); var formatResult = standardDateTimeFormatter.TryFormat(dateTimeOperationTO, out string result, out string errorMsg); Assert.IsTrue(formatResult); Assert.AreEqual("2011/10/13 10:00:00.000 AM", result); Assert.AreEqual("", errorMsg); }
public void StandardDateTimeFormatter_TryFormat_DateTime_SystemRegionDefaultFormat() { IDateTimeOperationTO dateTimeOperationTO = new DateTimeOperationTO { DateTime = "14101988", InputFormat = "ddmmyyyy", OutputFormat = @"", TimeModifierType = "Years", TimeModifierAmount = 23 }; var standardDateTimeFormatter = new StandardDateTimeFormatter(); var formatResult = standardDateTimeFormatter.TryFormat(dateTimeOperationTO, out string result, out string errorMsg); Assert.IsTrue(formatResult); Assert.AreEqual("01/14/2011 00:10:00", result); Assert.AreEqual("", errorMsg); }
public void StandardDateTimeFormatter_DateAndTime_TryFormat_TimeModifierType_SubtractMilliSeconds() { IDateTimeOperationTO dateTimeOperationTO = new DateTimeOperationTO { DateTime = "2011/10/14 08:00:00.953", InputFormat = @"yyyy/MM/dd hh:mm:ss.fff", OutputFormat = @"yyyy/MM/dd hh:mm:ss.fff", TimeModifierType = "Milliseconds", TimeModifierAmount = -953 }; var standardDateTimeFormatter = new StandardDateTimeFormatter(); var formatResult = standardDateTimeFormatter.TryFormat(dateTimeOperationTO, out string result, out string errorMsg); Assert.IsTrue(formatResult); Assert.AreEqual("2011/10/14 08:00:00.000", result); Assert.AreEqual("", errorMsg); }
public void StandardDateTimeFormatter_DateAndTime_TryFormat_TimeModifierType_AddMinutes() { IDateTimeOperationTO dateTimeOperationTO = new DateTimeOperationTO { DateTime = "2011/10/14 08:00:00", InputFormat = @"yyyy/MM/dd hh:mm:ss", OutputFormat = @"yyyy/MM/dd hh:mm:ss", TimeModifierType = "Minutes", TimeModifierAmount = 55 }; var standardDateTimeFormatter = new StandardDateTimeFormatter(); var formatResult = standardDateTimeFormatter.TryFormat(dateTimeOperationTO, out string result, out string errorMsg); Assert.IsTrue(formatResult); Assert.AreEqual("2011/10/14 08:55:00", result); Assert.AreEqual("", errorMsg); }
public void StandardDateTimeFormatter_DateOnly_TryFormat_TimeModifierType_SubtractDays() { IDateTimeOperationTO dateTimeOperationTO = new DateTimeOperationTO { DateTime = "14102011 09:00:00", InputFormat = "ddMMyyyy hh:mm:ss", OutputFormat = @"yyyy/MM/dd hh:mm:ss", TimeModifierType = "Days", TimeModifierAmount = -15 }; var standardDateTimeFormatter = new StandardDateTimeFormatter(); var formatResult = standardDateTimeFormatter.TryFormat(dateTimeOperationTO, out string result, out string errorMsg); Assert.IsTrue(formatResult); Assert.AreEqual("2011/09/29 09:00:00", result); Assert.AreEqual("", errorMsg); }
public void FormatInputFormatInvalid_Expected_UnableToParseInvalidInputFormat() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "14101988"; dateTimeTO.InputFormat = "dwakkmslyyabsdh'asdx'"; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd"; dateTimeTO.TimeModifierType = "Years"; dateTimeTO.TimeModifierAmount = 23; var isFormatCorrect = formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); if (isFormatCorrect) { Assert.Fail("Incorrect ouput format should not work correctly."); } else { Assert.IsTrue(!string.IsNullOrEmpty(errorMsg)); } }
public void FormatDateTimeInvalid_Expected_ErrorMessageReturnedByFormatter() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "WrongFormat"; dateTimeTO.InputFormat = "ddmmyyyy"; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd"; dateTimeTO.TimeModifierType = "Years"; dateTimeTO.TimeModifierAmount = 23; var isFormatCorrect = formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); if (isFormatCorrect) { Assert.Fail("Incorrect ouput format should not work correctly."); } else { Assert.IsTrue(!string.IsNullOrEmpty(errorMsg)); } }
public void FormatDateTimeNULLorEmpty_Expected_ErrorMessageReturnedByFormatter() { IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = null; dateTimeTO.InputFormat = "ddmmyyyy"; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd"; dateTimeTO.TimeModifierType = "Years"; dateTimeTO.TimeModifierAmount = 23; var isFormatCorrect = formatter.TryFormat(dateTimeTO, out string result, out string errorMsg); if (isFormatCorrect) { Assert.Fail("Incorrect ouput format should not work correctly."); } else { Assert.AreEqual("Could not parse input datetime with given input format (if you left the input format blank then even after trying default datetime formats from other cultures)", errorMsg); } }
public void StandardDateTimeFormatter_TryFormat_DateTime_Empty_SystemRegionDefaultFormat() { var format = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat; IDateTimeOperationTO dateTimeOperationTO = new DateTimeOperationTO { DateTime = "", InputFormat = "ddmmyyyy", OutputFormat = format.ShortDatePattern, TimeModifierType = "Years", TimeModifierAmount = 23 }; var standardDateTimeFormatter = new StandardDateTimeFormatter(); var formatResult = standardDateTimeFormatter.TryFormat(dateTimeOperationTO, out string result, out string errorMsg); Assert.IsTrue(formatResult); var expectedDate = DateTime.Now.AddYears(23); var expected = expectedDate.ToShortDateString(); Assert.AreEqual(expected, result); Assert.AreEqual("", errorMsg); }