public static void AddMatcher( this IExceptionMessageContinuation continuation, Func <string, IMatcherResult> matcher ) { AddMatcherPrivate(continuation, matcher); }
public static void Containing(this IExceptionMessageContinuation src, string search) { src.AddMatcher(s => { var passed = s?.Contains(search) ?? false; return(new MatcherResult( passed, StringExpectationMethods.MessageForContainsResult( passed, s, search ) )); }); }
/// <summary> /// Used to test exception messages /// </summary> /// <param name="src">Continuation carrying an exception message</param> /// <param name="search">String to look for in the message</param> /// <returns>Another continuation so you can do .And() on it</returns> public static IStringContainContinuation Containing( this IExceptionMessageContinuation src, string search) { var result = Factory.Create <string, ExceptionMessageContainuationToStringContainContinuation>( null, src as IExpectationContext <string> ); src.AddMatcher(s => { result.Actual = s; var passed = s?.Contains(search) ?? false; return(new MatcherResult( passed, MessageHelpers.MessageForContainsResult( passed, s, search ) )); }); return(result); }
/// <summary> /// Used to test exception messages /// </summary> /// <param name="src">Continuation containing exception message to test</param> /// <param name="test">Custom function to test the message -- return true if the test should pass</param> /// <returns>Another continuation so you can do .And()</returns> public static IStringContainContinuation Matching( this IExceptionMessageContinuation src, Func <string, bool> test) { var result = Factory.Create <string, ExceptionMessageContainuationToStringContainContinuation>( null, src as IExpectationContext <string> ); src.AddMatcher(s => { result.Actual = s; var passed = test(s); return(new MatcherResult( passed, MessageHelpers.MessageForMatchResult( passed, s ) )); }); return(result); }