public void FormatAllArgsValid_Expected_ResultFormattedAccordingToOutputFormat() { string result; string errorMsg; 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 result, out errorMsg); string expected = "2011/10/14"; Assert.AreEqual(expected, result); }
public void FormatAllArgsValid_WithTimeZone_Expected_ResultContainsFullTimezoneName() { string result; string errorMsg; 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 result, out errorMsg); string expected = "2011/10/14 Greenwich Mean Time"; Assert.AreEqual(expected, result); }
public void FormatOutputFormatNULLorEmpty_Expected_NoOutputFormattingPerformed() { string result; string errorMsg; IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "14101988"; dateTimeTO.InputFormat = "ddmmyyyy"; dateTimeTO.OutputFormat = ""; dateTimeTO.TimeModifierType = "Years"; dateTimeTO.TimeModifierAmount = 23; formatter.TryFormat(dateTimeTO, out result, out errorMsg); string expected = "14102011"; Assert.AreEqual(expected, result); }
public void FormatInputFormatNULLorEmpty_Expected_DateValueAssumesInputFormat() { string result; string errorMsg; 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 result, out errorMsg); string expected = "2012/8/20"; Assert.AreEqual(expected, result); }
public void FormatTimeModifierTypeNULLorEmpty_Expected_SameDateReturned() { string result; string errorMsg; IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "14101988"; dateTimeTO.InputFormat = "ddmmyyyy"; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd"; dateTimeTO.TimeModifierType = ""; dateTimeTO.TimeModifierAmount = 0; formatter.TryFormat(dateTimeTO, out result, out errorMsg); string expected = "1988/10/14"; 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 FormatDateTimeNULLorEmpty_Expected_ErrorMessageReturnedByFormatter() { bool isFormatCorrect; string result; string errorMsg; IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = null; dateTimeTO.InputFormat = "ddmmyyyy"; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd"; dateTimeTO.TimeModifierType = "Years"; dateTimeTO.TimeModifierAmount = 23; isFormatCorrect = formatter.TryFormat(dateTimeTO, out result, out errorMsg); if (isFormatCorrect) { Assert.Fail("Incorrect ouput format should not work correctly."); } else { Assert.IsTrue(!string.IsNullOrEmpty(errorMsg)); } }
public void FormatWithTrailingSpacesInInputExpectedOutputDateNotBlank() { string result; string errorMsg; 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 result, out errorMsg); Assert.AreEqual("2011/10/14", result); }
public void FormatWithTrailingZerosInOutputExpectedTrailingZerosNotRemoved() { string result; string errorMsg; 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; formatter.TryFormat(dateTimeTO, out result, out errorMsg); Assert.AreEqual("900", result); }
public void FormatTimeModifierTypeInvalid_Expected_DateNotModified() { string result; string errorMsg; 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 result, out errorMsg); Assert.IsTrue(result == "1988/10/14"); }
public void FormatInputFormatInvalid_Expected_UnableToParseInvalidInputFormat() { bool isFormatCorrect; string result; string errorMsg; IDateTimeOperationTO dateTimeTO = new DateTimeOperationTO(); dateTimeTO.DateTime = "14101988"; dateTimeTO.InputFormat = "dwakkmslyyabsdh'asdx'"; dateTimeTO.OutputFormat = @"yyyy'/'mm'/'dd"; dateTimeTO.TimeModifierType = "Years"; dateTimeTO.TimeModifierAmount = 23; isFormatCorrect = formatter.TryFormat(dateTimeTO, out result, out errorMsg); if (isFormatCorrect) { Assert.Fail("Incorrect ouput format should not work correctly."); } else { Assert.IsTrue(!string.IsNullOrEmpty(errorMsg)); } }