using System; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Ashley.Distribution.Wms.Tests.TestUtility { public static class CustomAssert { public static void IsGreater(IComparable expected, IComparable actual, string message = null) { if (expected.CompareTo(actual) == 1) { return; } AssertError("CustomAssert.IsGreater", expected, actual, message); } public static void IsGreaterOrEqual(IComparable expected, IComparable actual, string message = null) { if (expected.CompareTo(actual) > -1) { return; } AssertError("CustomAssert.IsGreaterOrEqual", expected, actual, message); } public static void IsLess(IComparable expected, IComparable actual, string message = null) { if (expected.CompareTo(actual) == -1) { return; } AssertError("CustomAssert.IsLess", expected, actual, message); } public static void IsLessOrEqual(IComparable expected, IComparable actual, string message = null) { if (expected.CompareTo(actual) < 1) { return; } AssertError("CustomAssert.IsLessOrEqual", expected, actual, message); } private static void AssertError(string descriptor, IComparable expected, IComparable actual, string customMessage) { var fullCustomMessage = string.Format("{0} failed. Expected: {1}. Actual {2}.", descriptor, expected, actual); var assertMessage = !string.IsNullOrEmpty(customMessage) ? customMessage : fullCustomMessage; throw new AssertFailedException(assertMessage); } } }