screwturn-4/TestScaffolding/Tools.cs
2009-09-30 13:47:13 +00:00

56 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
namespace ScrewTurn.Wiki.Tests {
/// <summary>
/// Implement some useful testing tool.s
/// </summary>
public static class Tools {
private const string DateTimeFormat = "yyyy-MM-dd-HH-mm-ss";
/// <summary>
/// Prints a date/time in the "yyyy/MM/dd HH:mm:ss" format.
/// </summary>
/// <param name="dt">The date/time to print.</param>
/// <returns>The string value.</returns>
private static string PrintDateTime(DateTime dt) {
return dt.ToString(DateTimeFormat);
}
/// <summary>
/// Asserts that two date/time values are equal.
/// </summary>
/// <param name="expected">The expected date/time value.</param>
/// <param name="actual">The actual date/time value.</param>
/// <param name="ignoreUpToOneSecond">A value indicating whether to ignore a difference up to 10 seconds.</param>
public static void AssertDateTimesAreEqual(DateTime expected, DateTime actual, bool ignoreUpToTenSecondsDifference) {
if(ignoreUpToTenSecondsDifference) {
TimeSpan span = expected - actual;
Assert.IsTrue(Math.Abs(span.TotalSeconds) <= 10, "Wrong date/time value");
/*Assert.AreEqual(
PrintDateTime(expected).Substring(0, DateTimeFormat.Length - 1),
PrintDateTime(actual).Substring(0, DateTimeFormat.Length - 1),
"Wrong date/time value");*/
}
else {
Assert.AreEqual(PrintDateTime(expected), PrintDateTime(actual), "Wrong date/time value");
}
}
/// <summary>
/// Asserts that two date/time values are equal.
/// </summary>
/// <param name="expected">The expected date/time value.</param>
/// <param name="actual">The actual date/time value.</param>
public static void AssertDateTimesAreEqual(DateTime expected, DateTime actual) {
AssertDateTimesAreEqual(expected, actual, false);
}
}
}