jessyhoule icon

C# / Custom MS Test Asserts

jessyhoule | PRO | 09/17/15 05:25:28 PM UTC | 0 ⭐ | 236 👁️ | Never ⏰ | []
C# |

1.84 KB

|

None

|

0 👍

/

0 👎

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);
        }
    }
}

Comments