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