public static void AreEqual(DateTime?expectedDate, DateTime?actualDate, DateTimeDeltaType deltaType, int count) { if (expectedDate == null && actualDate == null) { return; } else if (expectedDate == null) { throw new NullReferenceException("The expected date was null"); } else if (actualDate == null) { throw new NullReferenceException("The actual date was null"); } var expectedDelta = GetTimeSpanDeltaByType(deltaType, count); var totalSecondsDifference = Math.Abs(((DateTime)actualDate - (DateTime)expectedDate).TotalSeconds); if (totalSecondsDifference > expectedDelta.TotalSeconds) { throw new Exception(string.Format("Expected Date: {0}, Actual Date: {1} \nExpected Delta: {2}, Actual Delta in seconds- {3} (Delta Type: {4})", expectedDate, actualDate, expectedDelta, totalSecondsDifference, deltaType)); } }
private static TimeSpan GetTimeSpanDeltaByType(DateTimeDeltaType type, int count) { TimeSpan result; switch (type) { case DateTimeDeltaType.Days: result = new TimeSpan(count, 0, 0, 0); break; case DateTimeDeltaType.Minutes: result = new TimeSpan(0, count, 0); break; case DateTimeDeltaType.Hours: result = new TimeSpan(count, 0, 0); break; case DateTimeDeltaType.Seconds: result = new TimeSpan(0, 0, count); break; default: throw new NotImplementedException("The type is not implemented yet."); } return(result); }
public static void Validate(DateTime? expectedDate, DateTime? actualDate, DateTimeDeltaType deltaType, int count) { if (expectedDate == null && actualDate == null) { return; } else if (expectedDate == null) { throw new NullReferenceException("The expected date was null"); } else if (actualDate == null) { throw new NullReferenceException("The actual date was null"); } TimeSpan expectedDelta = GetTimeSpanDeltaByType(deltaType, count); double totalSecondsDifference = Math.Abs(((DateTime)actualDate - (DateTime)expectedDate).TotalSeconds); if (totalSecondsDifference > expectedDelta.TotalSeconds) { throw new Exception(string.Format("Expected Date: {0}, Actual Date: {1} \nExpected Delta: {2}, Actual Delta in seconds- {3} (Delta Type: {4})", expectedDate, actualDate, expectedDelta, totalSecondsDifference, deltaType)); } }
public static void AreEqual( DateTime?expectedDate, DateTime?actualDate, DateTimeDeltaType deltaType, int count, string exceptionMessage = "") { if (expectedDate == null && actualDate == null) { return; } if (expectedDate == null) { throw new NullReferenceException("The expected date was null"); } if (actualDate == null) { throw new NullReferenceException("The actual date was null"); } var expectedDelta = GetTimeSpanDeltaByType(deltaType, count); var totalSecondsDifference = Math.Abs(((DateTime)actualDate - (DateTime)expectedDate).TotalSeconds); if (totalSecondsDifference > expectedDelta.TotalSeconds) { throw new Exception($"{exceptionMessage}\nExpected Date: {expectedDate}, Actual Date: {actualDate} \nExpected Delta: {expectedDelta}, Actual Delta in seconds- {totalSecondsDifference} (Delta Type: {deltaType})"); } }
private static TimeSpan GetTimeSpanDeltaByType(DateTimeDeltaType type, int count) { TimeSpan result = default(TimeSpan); switch (type) { case DateTimeDeltaType.Days: result = new TimeSpan(count, 0, 0, 0); break; case DateTimeDeltaType.Minutes: result = new TimeSpan(0, count, 0); break; default: throw new NotImplementedException("The delta type is not implemented."); } return result; }