Bytes2you.Validation.UnitTests.Testing.Helpers.Ensure.ArgumentExceptionIsThrown C# (CSharp) Method

ArgumentExceptionIsThrown() public static method

public static ArgumentExceptionIsThrown ( System.Action action, string expectedArgumentName, string expectedMessage = null ) : void
action System.Action
expectedArgumentName string
expectedMessage string
return void
        public static void ArgumentExceptionIsThrown(Action action, string expectedArgumentName, string expectedMessage = null)
        {
            if (action == null)
            {
                throw new ArgumentNullException("method");
            }

            if (expectedArgumentName == null)
            {
                throw new ArgumentNullException("expectedArgumentName");
            }

            if (expectedArgumentName == string.Empty)
            {
                throw new ArgumentException(ValidationPredicateMessages.NullOrEmptyStringMessage, "expectedArgumentName");
            }

            ArgumentException ex = null;
            try
            {
                action();
            }
            catch (ArgumentException e)
            {
                ex = e;
            }

            Assert.AreEqual(typeof(ArgumentException), ex.GetType());
            Assert.IsNotNull(ex);
            Assert.AreEqual(expectedArgumentName, ex.ParamName);

            if (expectedMessage != null)
            {
                Assert.AreEqual(ex.Message, expectedMessage);
            }
        }