<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NSubstitute</name>
    </assembly>
    <members>
        <member name="T:NSubstitute.Arg">
            <summary>
            Argument matchers used for specifying calls to substitutes.
            </summary>
        </member>
        <member name="M:NSubstitute.Arg.Any``1">
            <summary>
            Match any argument value compatible with type <typeparamref name="T"/>.
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Arg.Is``1(``0)">
            <summary>
            Match argument that is equal to <paramref name="value"/>.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Arg.Is``1(System.Linq.Expressions.Expression{System.Predicate{``0}})">
            <summary>
            Match argument that satisfies <paramref name="predicate"/>. 
            If the <paramref name="predicate"/> throws an exception for an argument it will be treated as non-matching.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="predicate"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Arg.Invoke">
            <summary>
            Invoke any <see cref="T:System.Action"/> argument whenever a matching call is made to the substitute.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Arg.Invoke``1(``0)">
            <summary>
            Invoke any <see cref="T:System.Action`1"/> argument with specified argument whenever a matching call is made to the substitute.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="arg"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Arg.Invoke``2(``0,``1)">
            <summary>
            Invoke any <see cref="T:System.Action`2"/> argument with specified arguments whenever a matching call is made to the substitute.
            </summary>
            <typeparam name="T1"></typeparam>
            <typeparam name="T2"></typeparam>
            <param name="arg1"></param>
            <param name="arg2"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Arg.Invoke``3(``0,``1,``2)">
            <summary>
            Invoke any <see cref="T:System.Action`3"/> argument with specified arguments whenever a matching call is made to the substitute.
            </summary>
            <typeparam name="T1"></typeparam>
            <typeparam name="T2"></typeparam>
            <typeparam name="T3"></typeparam>
            <param name="arg1"></param>
            <param name="arg2"></param>
            <param name="arg3"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Arg.Invoke``4(``0,``1,``2,``3)">
            <summary>
            Invoke any <see cref="T:System.Action`4"/> argument with specified arguments whenever a matching call is made to the substitute.
            </summary>
            <typeparam name="T1"></typeparam>
            <typeparam name="T2"></typeparam>
            <typeparam name="T3"></typeparam>
            <typeparam name="T4"></typeparam>
            <param name="arg1"></param>
            <param name="arg2"></param>
            <param name="arg3"></param>
            <param name="arg4"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Arg.InvokeDelegate``1(System.Object[])">
            <summary>
            Invoke any <typeparamref name="TDelegate"/> argument with specified arguments whenever a matching call is made to the substitute.
            </summary>
            <typeparam name="TDelegate"></typeparam>
            <param name="arguments">Arguments to pass to delegate.</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Arg.Do``1(System.Action{``0})">
            <summary>
            Capture any argument compatible with type <typeparamref name="T"/> and use it to call the <paramref name="useArgument"/> function 
            whenever a matching call is made to the substitute.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="useArgument"></param>
            <returns></returns>
        </member>
        <member name="T:NSubstitute.Callback">
            <summary>
            Perform this chain of callbacks and/or always callback when called.
            </summary>
        </member>
        <member name="M:NSubstitute.Callback.First(System.Action{NSubstitute.Core.CallInfo})">
            <summary>
            Perform as first in chain of callback when called.
            </summary>
            <param name="doThis"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callback.Always(System.Action{NSubstitute.Core.CallInfo})">
            <summary>
            Perform this action always when callback is called.
            </summary>
            <param name="doThis"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callback.FirstThrow``1(System.Func{NSubstitute.Core.CallInfo,``0})">
            <summary>
            Throw exception returned by function as first callback in chain of callback when called.
            </summary>
            <param name="throwThis"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callback.FirstThrow``1(``0)">
            <summary>
            Throw this exception as first callback in chain of callback when called.
            </summary>
            <param name="exception"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callback.AlwaysThrow``1(System.Func{NSubstitute.Core.CallInfo,``0})">
            <summary>
            Throw exception returned by function always when callback is called.
            </summary>
            <typeparam name="TException">The type of the exception.</typeparam>
            <param name="throwThis">The throw this.</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callback.AlwaysThrow``1(``0)">
            <summary>
            Throw this exception always when callback is called.
            </summary>
            <typeparam name="TException">The type of the exception.</typeparam>
            <param name="exception">The exception.</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callbacks.ConfiguredCallback.Then(System.Action{NSubstitute.Core.CallInfo})">
            <summary>
            Perform this action once in chain of called callbacks.
            </summary>
            <param name="doThis"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callbacks.ConfiguredCallback.ThenKeepDoing(System.Action{NSubstitute.Core.CallInfo})">
            <summary>
            Keep doing this action after the other callbacks have run.
            </summary>
            <param name="doThis"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callbacks.ConfiguredCallback.ThenKeepThrowing``1(System.Func{NSubstitute.Core.CallInfo,``0})">
            <summary>
            Keep throwing this exception after the other callbacks have run.
            </summary>
            <typeparam name="TException"></typeparam>
            <param name="throwThis"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callbacks.ConfiguredCallback.ThenKeepThrowing``1(``0)">
            <summary>
            Keep throwing this exception after the other callbacks have run.
            </summary>
            <typeparam name="TException"></typeparam>
            <param name="throwThis"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callbacks.ConfiguredCallback.ThenThrow``1(System.Func{NSubstitute.Core.CallInfo,``0})">
            <summary>
            Throw exception returned by function once when called in a chain of callbacks.
            </summary>
            <typeparam name="TException">The type of the exception</typeparam>
            <param name="throwThis">Produce the exception to throw for a CallInfo</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callbacks.ConfiguredCallback.ThenThrow``1(``0)">
            <summary>
            Throw this exception once when called in a chain of callbacks.
            </summary>
            <typeparam name="TException">The type of the exception</typeparam>
            <param name="exception">The exception to throw</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Callbacks.EndCallbackChain.AndAlways(System.Action{NSubstitute.Core.CallInfo})">
            <summary>
            Perform the given action for every call.
            </summary>
            <param name="doThis">The action to perform for every call</param>
            <returns></returns>
        </member>
        <member name="F:NSubstitute.ClearOptions.ReceivedCalls">
            <summary>
            Clear all the received calls
            </summary>
        </member>
        <member name="F:NSubstitute.ClearOptions.ReturnValues">
            <summary>
            Clear all configured return results (including auto-substituted values).
            </summary>
        </member>
        <member name="F:NSubstitute.ClearOptions.CallActions">
            <summary>
            Clear all call actions configured for this substitute (via When..Do, Arg.Invoke, and Arg.Do)
            </summary>
        </member>
        <member name="F:NSubstitute.ClearOptions.All">
            <summary>
            Clears all received calls and configured return values and callbacks.
            </summary>
        </member>
        <member name="T:NSubstitute.Core.Arguments.IArgumentMatcher">
            <summary>
            Provides a specification for arguments for use with <see ctype="Arg.Matches (IArgumentMatcher)" />.
            Can additionally implement <see ctype="IDescribeNonMatches" /> to give descriptions when arguments do not match.
            </summary>
        </member>
        <member name="M:NSubstitute.Core.Arguments.IArgumentMatcher.IsSatisfiedBy(System.Object)">
            <summary>
            Checks whether the <paramref name="argument"/> satisfies the condition of the matcher.
            If this throws an exception the argument will be treated as non-matching.
            </summary>
            <param name="argument"></param>
            <returns></returns>
        </member>
        <member name="T:NSubstitute.Core.Arguments.IArgumentMatcher`1">
            <summary>
            Provides a specification for arguments for use with <see ctype="Arg.Matches &lt; T &gt;(IArgumentMatcher)" />.
            Can additionally implement <see ctype="IDescribeNonMatches" /> to give descriptions when arguments do not match.
            </summary>
            <typeparam name="T">Matches arguments of type <typeparamref name="T"/> or compatible type.</typeparam>
        </member>
        <member name="M:NSubstitute.Core.Arguments.IArgumentMatcher`1.IsSatisfiedBy(`0)">
            <summary>
            Checks whether the <paramref name="argument"/> satisfies the condition of the matcher.
            If this throws an exception the argument will be treated as non-matching.
            </summary>
            <param name="argument"></param>
            <returns></returns>
        </member>
        <member name="T:NSubstitute.Core.CallCollection.CallWrapper">
            <summary>
            Wrapper to track that particular entry was deleted.
            That is needed because concurrent collections don't have a Delete method.
            We null the hold value to not leak memory.
            </summary>
        </member>
        <member name="P:NSubstitute.Core.CallInfo.Item(System.Int32)">
            <summary>
            Gets the nth argument to this call.
            </summary>
            <param name="index">Index of argument</param>
            <returns>The value of the argument at the given index</returns>
        </member>
        <member name="M:NSubstitute.Core.CallInfo.Args">
            <summary>
            Get the arguments passed to this call.
            </summary>
            <returns>Array of all arguments passed to this call</returns>
        </member>
        <member name="M:NSubstitute.Core.CallInfo.ArgTypes">
            <summary>
            Gets the types of all the arguments passed to this call.
            </summary>
            <returns>Array of types of all arguments passed to this call</returns>
        </member>
        <member name="M:NSubstitute.Core.CallInfo.Arg``1">
            <summary>
            Gets the argument of type `T` passed to this call. This will throw if there are no arguments
            of this type, or if there is more than one matching argument.
            </summary>
            <typeparam name="T">The type of the argument to retrieve</typeparam>
            <returns>The argument passed to the call, or throws if there is not exactly one argument of this type</returns>
        </member>
        <member name="M:NSubstitute.Core.CallInfo.ArgAt``1(System.Int32)">
            <summary>
            Gets the argument passed to this call at the specified zero-based position, converted to type `T`.
            This will throw if there are no arguments, if the argument is out of range or if it
            cannot be converted to the specified type.
            </summary>
            <typeparam name="T">The type of the argument to retrieve</typeparam>
            <param name="position">The zero-based position of the argument to retrieve</param>
            <returns>The argument passed to the call, or throws if there is not exactly one argument of this type</returns>
        </member>
        <member name="M:NSubstitute.Core.ConfiguredCall.AndDoes(System.Action{NSubstitute.Core.CallInfo})">
            <summary>
            Adds a callback to execute for matching calls.
            </summary>
            <param name="action">an action to call</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Core.Extensions.Zip``3(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``1,``2})">
            <summary>
            Combines two enumerables into a new enumerable using the given selector.
            </summary>
            <typeparam name="TFirst"></typeparam>
            <typeparam name="TSecond"></typeparam>
            <typeparam name="TResult"></typeparam>
            <param name="first"></param>
            <param name="second"></param>
            <param name="selector"></param>
            <returns></returns>
            <remarks>
            This implementation was sanity-checked against the 
            <a href="http://msmvps.com/blogs/jon_skeet/archive/2011/01/14/reimplementing-linq-to-objects-part-35-zip.aspx">Edulinq implementation</a> and
            <a href="http://blogs.msdn.com/b/ericlippert/archive/2009/05/07/zip-me-up.aspx">Eric Lippert's implementation</a>.
            </remarks>
        </member>
        <member name="M:NSubstitute.Core.Extensions.IsCompatibleWith(System.Object,System.Type)">
            <summary>
            Checks if the instance can be used when a <paramref name="type"/> is expected.
            </summary>
            <param name="instance"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Core.Extensions.Join(System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Join the <paramref name="strings"/> using <paramref name="seperator"/>.
            </summary>
            <param name="strings"></param>
            <param name="seperator"></param>
            <returns></returns>
        </member>
        <member name="T:NSubstitute.Core.CallHandlerFactory">
            <summary>
                Factory method which creates <see cref="T:NSubstitute.Core.ICallHandler" /> from the <see cref="T:NSubstitute.Core.ISubstituteState" />.
            </summary>
        </member>
        <member name="M:NSubstitute.Core.IDescribeNonMatches.DescribeFor(System.Object)">
            <summary>
            Describes how the <paramref name="argument" /> does not match the condition specified by this class, or <see cref="F:System.String.Empty"/>
            if a detailed description can not be provided for the argument.
            </summary>
            <param name="argument"></param>
            <returns>Description of the non-match, or <see cref="F:System.String.Empty" /> if no description can be provided.</returns>
        </member>
        <member name="T:NSubstitute.Core.Maybe`1">
            <summary>
            Particularly poor implementation of Maybe/Option type.
            This is just filling an immediate need; use FSharpOption or XSharpx or similar for a 
            real implementation.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:NSubstitute.Core.RobustThreadLocal`1">
            <summary>
            Delegates to ThreadLocal&lt;T&gt;, but wraps Value property access in try/catch to swallow ObjectDisposedExceptions.
            These can occur if the Value property is accessed from the finalizer thread. Because we can't detect this, we'll
            just swallow the exception (the finalizer thread won't be using any of the values from thread local storage anyway).
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="F:NSubstitute.Core.SubstituteConfig.OverrideAllCalls">
            <summary>
            Standard substitute behaviour; replace all calls with substituted behaviour.
            </summary>
        </member>
        <member name="F:NSubstitute.Core.SubstituteConfig.CallBaseByDefault">
            <summary>
            Partial substitute; use base behaviour unless explicitly overriden.
            </summary>
        </member>
        <member name="M:NSubstitute.Core.SubstituteFactory.Create(System.Type[],System.Object[])">
            <summary>
            Create a substitute for the given types.
            </summary>
            <param name="typesToProxy"></param>
            <param name="constructorArguments"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Core.SubstituteFactory.CreatePartial(System.Type[],System.Object[])">
            <summary>
            Create an instance of the given types, with calls configured to call the base implementation
            where possible. Parts of the instance can be substituted using 
            <see cref="M:NSubstitute.SubstituteExtensions.Returns``1(``0,``0,``0[])">Returns()</see>.
            </summary>
            <param name="typesToProxy"></param>
            <param name="constructorArguments"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Core.WhenCalled`1.Do(System.Action{NSubstitute.Core.CallInfo})">
            <summary>
            Perform this action when called.
            </summary>
            <param name="callbackWithArguments"></param>
        </member>
        <member name="M:NSubstitute.Core.WhenCalled`1.Do(NSubstitute.Callback)">
            <summary>
            Perform this configured callcback when called.
            </summary>
            <param name="callback"></param>
        </member>
        <member name="M:NSubstitute.Core.WhenCalled`1.DoNotCallBase">
            <summary>
            Do not call the base implementation on future calls. For use with partial substitutes.
            </summary>
        </member>
        <member name="M:NSubstitute.Core.WhenCalled`1.Throw(System.Exception)">
            <summary>
            Throw the specified exception when called.
            </summary>
        </member>
        <member name="M:NSubstitute.Core.WhenCalled`1.Throw``1">
            <summary>
            Throw an exception of the given type when called.
            </summary>
        </member>
        <member name="M:NSubstitute.Core.WhenCalled`1.Throw(System.Func{NSubstitute.Core.CallInfo,System.Exception})">
            <summary>
            Throw an exception generated by the specified function when called.
            </summary>
        </member>
        <member name="M:NSubstitute.Experimental.Received.InOrder(System.Action)">
            <summary>
            *EXPERIMENTAL* Asserts the calls to the substitutes contained in the given Action were
            received by these substitutes in the same order. Calls to property getters are not included
            in the assertion.
            </summary>
            <param name="calls">Action containing calls to substitutes in the expected order</param>
        </member>
        <member name="M:NSubstitute.ClearExtensions.ClearExtensions.ClearSubstitute``1(``0,NSubstitute.ClearOptions)">
            <summary>
            Clears received calls, configured return values and/or call actions for this substitute.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <param name="options">Specifies what to clear on the substitute. Can be combined with <code>|</code> to 
            clear multiple aspects at once.</param>
            <remarks>
            </remarks>
        </member>
        <member name="M:NSubstitute.ExceptionExtensions.ExceptionExtensions.Throws(System.Object,System.Exception)">
            <summary>
            Throw an exception for this call.
            </summary>
            <param name="value"></param>
            <param name="ex">Exception to throw</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.ExceptionExtensions.ExceptionExtensions.Throws``1(System.Object)">
            <summary>
            Throw an exception of the given type for this call.
            </summary>
            <typeparam name="TException">Type of exception to throw</typeparam>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.ExceptionExtensions.ExceptionExtensions.Throws(System.Object,System.Func{NSubstitute.Core.CallInfo,System.Exception})">
            <summary>
            Throw an exception for this call, as generated by the specified function.
            </summary>
            <param name="value"></param>
            <param name="createException">Func creating exception object</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.ExceptionExtensions.ExceptionExtensions.ThrowsForAnyArgs(System.Object,System.Exception)">
            <summary>
            Throw an exception for this call made with any arguments.
            </summary>
            <param name="value"></param>
            <param name="ex">Exception to throw</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.ExceptionExtensions.ExceptionExtensions.ThrowsForAnyArgs``1(System.Object)">
            <summary>
            Throws an exception of the given type for this call made with any arguments.
            </summary>
            <typeparam name="TException">Type of exception to throw</typeparam>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.ExceptionExtensions.ExceptionExtensions.ThrowsForAnyArgs(System.Object,System.Func{NSubstitute.Core.CallInfo,System.Exception})">
            <summary>
            Throws an exception for this call made with any arguments, as generated by the specified function.
            </summary>
            <param name="value"></param>
            <param name="createException">Func creating exception object</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.ReturnsExtensions.ReturnsExtensions.ReturnsNull``1(``0)">
            <summary>
            Set null as returned value for this call.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.ReturnsExtensions.ReturnsExtensions.ReturnsNullForAnyArgs``1(``0)">
            <summary>
            Set null as returned value for this call made with any arguments.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Extensions.ReturnsForAllExtensions.ReturnsForAll``1(System.Object,``0)">
            <summary>
            Configure default return value for all methods that return the specified type
            </summary>
            <typeparam name="T"></typeparam>
            <param name = "substitute"></param>
            <param name="returnThis"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Extensions.ReturnsForAllExtensions.ReturnsForAll``1(System.Object,System.Func{NSubstitute.Core.CallInfo,``0})">
            <summary>
            Configure default return value for all methods that return the specified type, calculated by a function
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <param name="returnThis"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.Raise.EventWith``1(System.Object,``0)">
            <summary>
            Raise an event for an <c>EventHandler&lt;TEventArgs&gt;</c> event with the provided <paramref name="sender"/> and <paramref name="eventArgs"/>.
            </summary>
        </member>
        <member name="M:NSubstitute.Raise.EventWith``1(``0)">
            <summary>
            Raise an event for an <c>EventHandler&lt;TEventArgs&gt;</c> event with the substitute as the sender and the provided <paramref name="eventArgs" />.
            </summary>
        </member>
        <member name="M:NSubstitute.Raise.EventWith``1">
            <summary>
            Raise an event for an <c>EventHandler&lt;EventArgsT&gt;</c> event with the substitute as the sender
            and with a default instance of <typeparamref name="TEventArgs" />.
            </summary>
        </member>
        <member name="M:NSubstitute.Raise.Event">
            <summary>
            Raise an event for an <c>EventHandler</c> or <c>EventHandler&lt;EventArgs&gt;</c> event with the substitute
            as the sender and with empty <c>EventArgs</c>.
            </summary>
        </member>
        <member name="M:NSubstitute.Raise.Event``1(System.Object[])">
            <summary>
            Raise an event of type <typeparamref name="THandler" /> with the provided arguments. If no arguments are provided
            NSubstitute will try to provide reasonable defaults.
            </summary>
        </member>
        <member name="M:NSubstitute.Received.InOrder(System.Action)">
            <summary>
            Asserts the calls to the substitutes contained in the given Action were
            received by these substitutes in the same order. Calls to property getters are not included
            in the assertion.
            </summary>
            <param name="calls">Action containing calls to substitutes in the expected order</param>
        </member>
        <member name="T:NSubstitute.Routing.Handlers.ClearLastCallRouterHandler">
            <summary>
            Clears last call router on SubstitutionContext for routes that do not require it. 
            </summary>
            <remarks>
            This is to help prevent static state bleeding over into future calls.
            </remarks>
        </member>
        <member name="T:NSubstitute.Substitute">
            <summary>
            Create a substitute for one or more types. For example: <c>Substitute.For&lt;ISomeType&gt;()</c> 
            </summary>
        </member>
        <member name="M:NSubstitute.Substitute.For``1(System.Object[])">
            <summary>
            Substitute for an interface or class.
            <para>Be careful when specifying a class, as all non-virtual members will actually be executed. Only virtual members 
            can be recorded or have return values specified.</para>
            </summary>
            <typeparam name="T">The type of interface or class to substitute.</typeparam>
            <param name="constructorArguments">Arguments required to construct a class being substituted. Not required for interfaces or classes with default constructors.</param>
            <returns>A substitute for the interface or class.</returns>
        </member>
        <member name="M:NSubstitute.Substitute.For``2(System.Object[])">
            <summary>
            <para>Substitute for multiple interfaces or a class that implements an interface. At most one class can be specified.</para>
            <para>Be careful when specifying a class, as all non-virtual members will actually be executed. Only virtual members 
            can be recorded or have return values specified.</para>
            </summary>
            <typeparam name="T1">The type of interface or class to substitute.</typeparam>
            <typeparam name="T2">An additional interface or class (maximum of one class) the substitute should implement.</typeparam>
            <param name="constructorArguments">Arguments required to construct a class being substituted. Not required for interfaces or classes with default constructors.</param>
            <returns>A substitute of type T1, that also implements T2.</returns>
        </member>
        <member name="M:NSubstitute.Substitute.For``3(System.Object[])">
            <summary>
            <para>Substitute for multiple interfaces or a class that implements multiple interfaces. At most one class can be specified.</para>
            If additional interfaces are required use the <see cref="M:NSubstitute.Substitute.For(System.Type[],System.Object[])" /> overload.
            <para>Be careful when specifying a class, as all non-virtual members will actually be executed. Only virtual members 
            can be recorded or have return values specified.</para>
            </summary>
            <typeparam name="T1">The type of interface or class to substitute.</typeparam>
            <typeparam name="T2">An additional interface or class (maximum of one class) the substitute should implement.</typeparam>
            <typeparam name="T3">An additional interface or class (maximum of one class) the substitute should implement.</typeparam>
            <param name="constructorArguments">Arguments required to construct a class being substituted. Not required for interfaces or classes with default constructors.</param>
            <returns>A substitute of type T1, that also implements T2 and T3.</returns>
        </member>
        <member name="M:NSubstitute.Substitute.For(System.Type[],System.Object[])">
            <summary>
            <para>Substitute for multiple interfaces or a class that implements multiple interfaces. At most one class can be specified.</para>
            <para>Be careful when specifying a class, as all non-virtual members will actually be executed. Only virtual members 
            can be recorded or have return values specified.</para>
            </summary>
            <param name="typesToProxy">The types of interfaces or a type of class and multiple interfaces the substitute should implement.</param>
            <param name="constructorArguments">Arguments required to construct a class being substituted. Not required for interfaces or classes with default constructors.</param>
            <returns>A substitute implementing the specified types.</returns>
        </member>
        <member name="M:NSubstitute.Substitute.ForPartsOf``1(System.Object[])">
            <summary>
            Create a substitute for a class that behaves just like a real instance of the class, but also
            records calls made to its virtual members and allows for specific members to be substituted
            by using <see cref="M:NSubstitute.Core.WhenCalled`1.DoNotCallBase">When(() => call).DoNotCallBase()</see> or by
            <see cref="M:NSubstitute.SubstituteExtensions.Returns``1(``0,``0,``0[])">setting a value to return value</see> for that member.
            </summary>
            <typeparam name="T">The type to substitute for parts of. Must be a class; not a delegate or interface.</typeparam>
            <param name="constructorArguments"></param>
            <returns>An instance of the class that will execute real methods when called, but allows parts to be selectively 
            overridden via `Returns` and `When..DoNotCallBase`.</returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.Returns``1(``0,``0,``0[])">
            <summary>
            Set a return value for this call.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <param name="returnThis">Value to return</param>
            <param name="returnThese">Optionally return these values next</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.Returns``1(``0,System.Func{NSubstitute.Core.CallInfo,``0},System.Func{NSubstitute.Core.CallInfo,``0}[])">
            <summary>
            Set a return value for this call, calculated by the provided function.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <param name="returnThis">Function to calculate the return value</param>
            <param name="returnThese">Optionally use these functions next</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.ReturnsForAnyArgs``1(``0,``0,``0[])">
            <summary>
            Set a return value for this call made with any arguments.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <param name="returnThis">Value to return</param>
            <param name="returnThese">Optionally return these values next</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.ReturnsForAnyArgs``1(``0,System.Func{NSubstitute.Core.CallInfo,``0},System.Func{NSubstitute.Core.CallInfo,``0}[])">
            <summary>
            Set a return value for this call made with any arguments, calculated by the provided function.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <param name="returnThis">Function to calculate the return value</param>
            <param name="returnThese">Optionally use these functions next</param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.Received``1(``0)">
            <summary>
            Checks this substitute has received the following call.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.Received``1(``0,System.Int32)">
            <summary>
            Checks this substitute has received the following call the required number of times.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <param name="requiredNumberOfCalls"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.DidNotReceive``1(``0)">
            <summary>
            Checks this substitute has not received the following call.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.ReceivedWithAnyArgs``1(``0)">
            <summary>
            Checks this substitute has received the following call with any arguments.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.ReceivedWithAnyArgs``1(``0,System.Int32)">
            <summary>
            Checks this substitute has received the following call with any arguments the required number of times.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <param name="requiredNumberOfCalls"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.DidNotReceiveWithAnyArgs``1(``0)">
            <summary>
            Checks this substitute has not received the following call with any arguments.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.ClearReceivedCalls``1(``0)">
            <summary>
            Forget all the calls this substitute has received.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <remarks>
            Note that this will not clear any results set up for the substitute using Returns().
            See <see cref="M:NSubstitute.ClearExtensions.ClearExtensions.ClearSubstitute``1(``0,NSubstitute.ClearOptions)"/> for more options with resetting 
            a substitute.
            </remarks>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.When``1(``0,System.Action{``0})">
            <summary>
            Perform an action when this member is called. 
            Must be followed by <see cref="M:NSubstitute.Core.WhenCalled`1.Do(System.Action{NSubstitute.Core.CallInfo})"/> to provide the callback.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <param name="substituteCall"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.WhenForAnyArgs``1(``0,System.Action{``0})">
            <summary>
            Perform an action when this member is called with any arguments. 
            Must be followed by <see cref="M:NSubstitute.Core.WhenCalled`1.Do(System.Action{NSubstitute.Core.CallInfo})"/> to provide the callback.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <param name="substituteCall"></param>
            <returns></returns>
        </member>
        <member name="M:NSubstitute.SubstituteExtensions.ReceivedCalls``1(``0)">
            <summary>
            Returns the calls received by this substitute.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="substitute"></param>
            <returns></returns>
        </member>
    </members>
</doc>
