/// <summary> /// Facilitates testing an exception message to start with another substring /// </summary> /// <param name="continuation"></param> /// <param name="search"></param> /// <returns></returns> public static IStringPropertyContinuation With( this IStringPropertyStartingContinuation continuation, string search ) { return(continuation.With(search, null as string)); }
/// <summary> /// Facilitates testing an exception message to start with another substring /// </summary> /// <param name="continuation"></param> /// <param name="search"></param> /// <param name="customMessage"></param> /// <returns></returns> public static IStringPropertyContinuation With( this IStringPropertyStartingContinuation continuation, string search, string customMessage ) { return(continuation.With(search, () => customMessage)); }
/// <summary> /// Facilitates testing an exception message to start with another substring /// </summary> /// <param name="continuation"></param> /// <param name="search"></param> /// <param name="messageGenerator"></param> /// <returns></returns> public static IStringPropertyContinuation With( this IStringPropertyStartingContinuation continuation, string search, Func <string> messageGenerator ) { continuation.AddMatcher( actual => { var passed = actual?.StartsWith(search, StringComparison.InvariantCultureIgnoreCase) ?? false; return(new MatcherResult( passed, FinalMessageFor( () => $"Expected {actual.Stringify()} {passed.AsNot()}to start with {search.Stringify()}", messageGenerator ) )); }); return(continuation.More()); }
/// <summary> /// Facilitates chained expectations on the existing .Starting /// </summary> /// <param name="continuation"></param> /// <returns></returns> public static IStringPropertyContinuation More( this IStringPropertyStartingContinuation continuation ) { return((continuation as IExpectationContext <string>).More()); }