<?xml version="1.0"?>
<doc>
    <assembly>
        <name>MbUnit</name>
    </assembly>
    <members>
        <member name="T:MbUnit.Framework.ContractVerifiers.Core.NotEnoughHashesException">
            <summary>
            This exception type is used to signal that a <see cref="T:MbUnit.Framework.ContractVerifiers.Core.HashStore"/> was
            not initialized with a sufficient number of hash code values.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.Core.NotEnoughHashesException.#ctor(System.Int32,System.Int32)">
            <summary>
            Creates an exception specifying the expected minimum and the
            actual number of hash code values.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.Core.NotEnoughHashesException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Creates a exception from serialization info.
            </summary>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
        </member>
        <member name="T:MbUnit.Framework.Assert">
            <summary>
            Defines a set of assertions that enable a test to verify the expected
            behavior of the subject under test.
            </summary>
            <remarks>
            <para>
            Each assertion is generally provided in at least 4 flavors distinguished by overloads:
            <list type="bullet">
            <item>A simple form that takes only the assertion parameters.</item>
            <item>A simple form that accepts a custom message format string and arguments in addition to the assertion parameters.</item>
            <item>A rich form that takes the assertion parameters and a custom comparer object.</item>
            <item>A rich form that accepts a custom message format string and arguments in addition to the assertion parameters and a custom comparer object.</item>
            </list>
            </para>
            <para>
            The value upon which the assertion is being evaluated is usually called the "actual value".
            Other parameters for the assertion are given names such as the "expected value", "unexpected value",
            or other terms as appropriate.  In some cases where the role of a parameter is ambiguous,
            we may use designations such as "left" and "right" to distinguish the parameters.
            </para>
            <para>
            The Assert class does not provide direct support for old-style collection types such as <see cref="T:System.Collections.ICollection"/>
            and <see cref="T:System.Collections.IEnumerable"/>.  If you are using .Net 3.5 for your test projects, you may find the
            "Cast" function helpful.
            <example>
            <code>
            ICollection myOldCollection = subjectUnderTest.DoSomething();
            Assert.AreElementsEqual(new[] { "a", "b", "c" }, myOldCollection.Cast&lt;string&gt;());
            </code>
            </example>
            </para>
            <para>
            Framework authors may choose to extend this class with additional assertions by creating
            a subclass.  Alternately, new assertions can be defined in other classes.
            </para>
            <para>
            When formatting values for inclusion in assertion failures, it is recommended to use the
            formatter provided by the <see cref="P:Gallio.Framework.Assertions.AssertionFailureBuilder.Formatter"/> property instead
            of directly calling <see cref="M:System.Object.ToString"/>.  This enables custom formatting rules to
            decide how best to present values of particular types and yields a more consistent user experience.
            In particular the <see cref="M:Gallio.Framework.Assertions.AssertionFailureBuilder.AddRawLabeledValue(System.String,System.Object)"/> method and
            its siblings automatically format values in this manner.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttribute(System.Type,System.Reflection.MemberInfo)">
            <summary>
            Verifies that the targeted object is decorated once with the specified <see cref="T:System.Attribute"/>.
            </summary>
            <remarks>
            <para>
            The assertion returns the instance of the actual attribute found.
            </para>
            <para>
            The assertion fails if the target object is decorated with multiple instances of the searched attribute. If several
            instances are expected, use <see cref="M:MbUnit.Framework.Assert.HasAttribute(System.Type,System.Reflection.MemberInfo)"/> instead.
            </para>
            </remarks>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <returns>The instance of the actual attribute found.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttribute(System.Type,System.Reflection.MemberInfo,System.String,System.Object[])">
            <summary>
            Verifies that the targeted object is decorated once with the specified <see cref="T:System.Attribute"/>.
            </summary>
            <remarks>
            <para>
            The assertion returns the instance of the actual attribute found.
            </para>
            <para>
            The assertion fails if the target object is decorated with multiple instances of the searched attribute. If several
            instances are expected, use <see cref="M:MbUnit.Framework.Assert.HasAttribute(System.Type,System.Reflection.MemberInfo,System.String,System.Object[])"/> instead.
            </para>
            </remarks>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>The instance of the actual attribute found.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttribute``1(System.Reflection.MemberInfo)">
            <summary>
            Verifies that the targeted type is decorated once with the specified <see cref="T:System.Attribute"/>.
            </summary>
            <remarks>
            <para>
            The assertion returns the instance of the actual attribute found.
            </para>
            <para>
            The assertion fails if the target object is decorated with multiple instances of the searched attribute. If several
            instances are expected, use <see cref="M:MbUnit.Framework.Assert.HasAttribute``1(System.Reflection.MemberInfo)"/> instead.
            </para>
            </remarks>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <returns>The instance of the actual attribute found.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttribute``1(System.Reflection.MemberInfo,System.String,System.Object[])">
            <summary>
            Verifies that the targeted type is decorated once with the specified <see cref="T:System.Attribute"/>.
            </summary>
            <remarks>
            <para>
            The assertion returns the instance of the actual attribute found.
            </para>
            <para>
            The assertion fails if the target object is decorated with multiple instances of the searched attribute. If several
            instances are expected, use <see cref="M:MbUnit.Framework.Assert.HasAttribute``1(System.Reflection.MemberInfo,System.String,System.Object[])"/> instead.
            </para>
            </remarks>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>The instance of the actual attribute found.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttribute(System.Type,MbUnit.Framework.Mirror.MemberSet)">
            <summary>
            Verifies that the targeted object is decorated once with the specified <see cref="T:System.Attribute"/>.
            </summary>
            <remarks>
            <para>
            The assertion returns the instance of the actual attribute found.
            </para>
            <para>
            The assertion fails if the target object is decorated with multiple instances of the searched attribute. If several
            instances are expected, use <see cref="M:MbUnit.Framework.Assert.HasAttribute(System.Type,System.Reflection.MemberInfo)"/> instead.
            </para>
            </remarks>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <returns>The instance of the actual attribute found.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttribute(System.Type,MbUnit.Framework.Mirror.MemberSet,System.String,System.Object[])">
            <summary>
            Verifies that the targeted object is decorated once with the specified <see cref="T:System.Attribute"/>.
            </summary>
            <remarks>
            <para>
            The assertion returns the instance of the actual attribute found.
            </para>
            <para>
            The assertion fails if the target object is decorated with multiple instances of the searched attribute. If several
            instances are expected, use <see cref="M:MbUnit.Framework.Assert.HasAttribute(System.Type,System.Reflection.MemberInfo,System.String,System.Object[])"/> instead.
            </para>
            </remarks>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>The instance of the actual attribute found.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttribute``1(MbUnit.Framework.Mirror.MemberSet)">
            <summary>
            Verifies that the targeted type is decorated once with the specified <see cref="T:System.Attribute"/>.
            </summary>
            <remarks>
            <para>
            The assertion returns the instance of the actual attribute found.
            </para>
            <para>
            The assertion fails if the target object is decorated with multiple instances of the searched attribute. If several
            instances are expected, use <see cref="M:MbUnit.Framework.Assert.HasAttribute``1(System.Reflection.MemberInfo)"/> instead.
            </para>
            </remarks>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <returns>The instance of the actual attribute found.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttribute``1(MbUnit.Framework.Mirror.MemberSet,System.String,System.Object[])">
            <summary>
            Verifies that the targeted type is decorated once with the specified <see cref="T:System.Attribute"/>.
            </summary>
            <remarks>
            <para>
            The assertion returns the instance of the actual attribute found.
            </para>
            <para>
            The assertion fails if the target object is decorated with multiple instances of the searched attribute. If several
            instances are expected, use <see cref="M:MbUnit.Framework.Assert.HasAttribute``1(System.Reflection.MemberInfo,System.String,System.Object[])"/> instead.
            </para>
            </remarks>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>The instance of the actual attribute found.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes(System.Type,System.Reflection.MemberInfo)">
            <summary>
            Verifies that the targeted object is decorated with one or several instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes(System.Type,System.Reflection.MemberInfo,System.String,System.Object[])">
            <summary>
            Verifies that the targeted object is decorated with one or several instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes``1(System.Reflection.MemberInfo)">
            <summary>
            Verifies that the targeted object is decorated with one or several instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes``1(System.Reflection.MemberInfo,System.String,System.Object[])">
            <summary>
            Verifies that the targeted object is decorated with one or several instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes(System.Type,MbUnit.Framework.Mirror.MemberSet)">
            <summary>
            Verifies that the targeted object is decorated with one or several instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes(System.Type,MbUnit.Framework.Mirror.MemberSet,System.String,System.Object[])">
            <summary>
            Verifies that the targeted object is decorated with one or several instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes``1(MbUnit.Framework.Mirror.MemberSet)">
            <summary>
            Verifies that the targeted object is decorated with one or several instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes``1(MbUnit.Framework.Mirror.MemberSet,System.String,System.Object[])">
            <summary>
            Verifies that the targeted object is decorated with one or several instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes(System.Type,System.Reflection.MemberInfo,System.Int32)">
            <summary>
            Verifies that the targeted object is decorated with the exact number of instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <param name="expectedCount">The expected number of attribute instances to be found.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="expectedCount"/> is less than or equal to zero.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes(System.Type,System.Reflection.MemberInfo,System.Int32,System.String,System.Object[])">
            <summary>
            Verifies that the targeted object is decorated with the exact number of instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <param name="expectedCount">The expected number of attribute instances to be found.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="expectedCount"/> is less than or equal to zero.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes``1(System.Reflection.MemberInfo,System.Int32)">
            <summary>
            Verifies that the targeted object is decorated with the exact number of instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <param name="expectedCount">The expected number of attribute instances to be found.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="expectedCount"/> is less than or equal to zero.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes``1(System.Reflection.MemberInfo,System.Int32,System.String,System.Object[])">
            <summary>
            Verifies that the targeted object is decorated with the exact number of instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <param name="expectedCount">The expected number of attribute instances to be found.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="expectedCount"/> is less than or equal to zero.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes(System.Type,MbUnit.Framework.Mirror.MemberSet,System.Int32)">
            <summary>
            Verifies that the targeted object is decorated with the exact number of instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <param name="expectedCount">The expected number of attribute instances to be found.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="expectedCount"/> is less than or equal to zero.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes(System.Type,MbUnit.Framework.Mirror.MemberSet,System.Int32,System.String,System.Object[])">
            <summary>
            Verifies that the targeted object is decorated with the exact number of instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <param name="expectedAttributeType">The type of the searched <see cref="T:System.Attribute"/>.</param>
            <param name="target">The targeted object to evaluate.</param>
            <param name="expectedCount">The expected number of attribute instances to be found.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedAttributeType"/> or <paramref name="target"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="expectedCount"/> is less than or equal to zero.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes``1(MbUnit.Framework.Mirror.MemberSet,System.Int32)">
            <summary>
            Verifies that the targeted object is decorated with the exact number of instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <param name="expectedCount">The expected number of attribute instances to be found.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="expectedCount"/> is less than or equal to zero.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.HasAttributes``1(MbUnit.Framework.Mirror.MemberSet,System.Int32,System.String,System.Object[])">
            <summary>
            Verifies that the targeted object is decorated with the exact number of instances of the specified <see cref="T:System.Attribute"/>.
            </summary>
            <typeparam name="TAttribute">The type of the searched <see cref="T:System.Attribute"/>.</typeparam>
            <param name="target">The target type to evaluate.</param>
            <param name="expectedCount">The expected number of attribute instances to be found.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>An array of attribute instances.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="target"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="expectedCount"/> is less than or equal to zero.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Count(System.Int32,System.Collections.IEnumerable)">
            <summary>
            Verifies that the specified sequence, collection, or array contains the expected number of elements.
            </summary>
            <remarks>
            <para>
            The assertion counts the elements according to the underlying type of the sequence.
            <list type="bullet">
            <item>Uses <see cref="P:System.Array.Length"/> if the sequence is an array.</item>
            <item>Uses <see cref="P:System.Collections.ICollection.Count"/> or <see cref="P:System.Collections.Generic.ICollection`1.Count"/> if the sequence is a collection such as <see cref="T:System.Collections.Generic.List`1"/> or <see cref="T:System.Collections.Generic.Dictionary`2"/>. It enumerates and counts the elements as well.</item>
            <item>Enumerates and counts the elements if the sequence is a simple <see cref="T:System.Collections.IEnumerable"/>.</item>
            </list>
            </para>
            </remarks>
            <param name="expectedCount">The expected number of elements.</param>
            <param name="values">The enumeration of elements to count.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="expectedCount"/> is negative.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="values"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Count(System.Int32,System.Collections.IEnumerable,System.String,System.Object[])">
            <summary>
            Verifies that the specified sequence, collection, or array contains the expected number of elements.
            </summary>
            <remarks>
            <para>
            The assertion counts the elements according to the underlying type of the sequence.
            <list type="bullet">
            <item>Uses <see cref="P:System.Array.Length"/> if the sequence is an array.</item>
            <item>Uses <see cref="P:System.Collections.ICollection.Count"/> or <see cref="P:System.Collections.Generic.ICollection`1.Count"/> if the sequence is a collection such as <see cref="T:System.Collections.Generic.List`1"/> or <see cref="T:System.Collections.Generic.Dictionary`2"/>. It enumerates and counts the elements as well.</item>
            <item>Enumerates and counts the elements if the sequence is a simple <see cref="T:System.Collections.IEnumerable"/>.</item>
            </list>
            </para>
            </remarks>
            <param name="expectedCount">The expected number of elements.</param>
            <param name="values">The enumeration of elements to count.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="expectedCount"/> is negative.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="values"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.#ctor">
            <summary>
            Prevents instantiation.
            Subclasses should likewise define their constructor to be protected.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.Assert.Equals(System.Object,System.Object)">
            <summary>
            Always throws an <see cref="T:System.InvalidOperationException"/>.
            Use <see cref="M:MbUnit.Framework.Assert.AreEqual``1(``0,``0)"/> instead.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.Assert.ReferenceEquals(System.Object,System.Object)">
            <summary>
            Always throws an <see cref="T:System.InvalidOperationException"/>.
            Use <see cref="M:MbUnit.Framework.Assert.AreSame``1(``0,``0)"/> instead.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.Assert.Fail">
            <summary>
            Signals an unconditional assertion failure.
            </summary>
            <remarks>
            <para>
            Use <see cref="M:Gallio.Framework.Assertions.AssertionHelper.Verify(Gallio.Common.Func{Gallio.Framework.Assertions.AssertionFailure})"/> and <see cref="M:Gallio.Framework.Assertions.AssertionHelper.Fail(Gallio.Framework.Assertions.AssertionFailure)"/>
            instead when implementing custom assertions.
            </para>
            </remarks>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Fail(System.String,System.Object[])">
            <summary>
            Signals an unconditional assertion failure with a particular message.
            </summary>
            <remarks>
            <para>
            Use <see cref="M:Gallio.Framework.Assertions.AssertionHelper.Verify(Gallio.Common.Func{Gallio.Framework.Assertions.AssertionFailure})"/> and <see cref="M:Gallio.Framework.Assertions.AssertionHelper.Fail(Gallio.Framework.Assertions.AssertionFailure)"/>
            instead when implementing custom assertions.
            </para>
            </remarks>
            <param name="messageFormat">The format of the assertion failure message.</param>
            <param name="messageArgs">The arguments for the assertion failure message format string.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Inconclusive">
            <summary>
            Terminates the test and reports an inconclusive test outcome.
            </summary>
            <remarks>
            <para>
            The test is terminated with an inconclusive test outcome by throwing a
            <see cref="T:Gallio.Framework.TestInconclusiveException"/>.  If other code in the test case catches
            this exception and does not rethrow it then the test might not terminate correctly.
            </para>
            </remarks>
            <exception cref="T:Gallio.Framework.TestInconclusiveException">Thrown always.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Inconclusive(System.String,System.Object[])">
            <summary>
            Terminates the test and reports an inconclusive test outcome.
            </summary>
            <remarks>
            <para>
            The test is terminated with an inconclusive test outcome by throwing a
            <see cref="T:Gallio.Framework.TestInconclusiveException"/>.  If other code in the test case catches
            this exception and does not rethrow it then the test might not terminate correctly.
            </para>
            </remarks>
            <param name="messageFormat">The custom message format string, or null if none.</param>
            <param name="messageArgs">The custom message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.TestInconclusiveException">Thrown always.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Terminate(Gallio.Model.TestOutcome)">
            <summary>
            Terminates the test and reports a specific test outcome.
            </summary>
            <remarks>
            <para>
            The test is terminated with by throwing a <see cref="T:Gallio.Framework.TestTerminatedException"/>
            with the specified outcome.  If other code in the test case catches
            this exception and does not rethrow it then the test might not terminate correctly.
            </para>
            </remarks>
            <param name="outcome">The desired test outcome.</param>
            <exception cref="T:Gallio.Framework.TestTerminatedException">Thrown always.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Terminate(Gallio.Model.TestOutcome,System.String,System.Object[])">
            <summary>
            Terminates the test and reports a specific test outcome.
            </summary>
            <remarks>
            <para>
            The test is terminated with by throwing a <see cref="T:Gallio.Framework.TestTerminatedException"/>
            with the specified outcome.  If other code in the test case catches
            this exception and does not rethrow it then the test might not terminate correctly.
            </para>
            </remarks>
            <param name="outcome">The desired test outcome.</param>
            <param name="messageFormat">The custom message format string, or null if none.</param>
            <param name="messageArgs">The custom message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.TestTerminatedException">Thrown always.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.TerminateSilently(Gallio.Model.TestOutcome)">
            <summary>
            Terminates the test silently and reports a specific test outcome.
            </summary>
            <remarks>
            <para>
            Unlike <see cref="M:MbUnit.Framework.Assert.Terminate(Gallio.Model.TestOutcome)"/> this method does not report the
            stack trace.  It also does not include a termination reason unless one is explicitly
            specified by the caller.
            </para>
            <para>
            The test is terminated with by throwing a <see cref="T:Gallio.Framework.SilentTestException"/>
            with the specified outcome.  If other code in the test case catches
            this exception and does not rethrow it then the test might not terminate correctly.
            </para>
            </remarks>
            <param name="outcome">The desired test outcome.</param>
            <exception cref="T:Gallio.Framework.SilentTestException">Thrown always.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.TerminateSilently(Gallio.Model.TestOutcome,System.String,System.Object[])">
            <summary>
            Terminates the test silently and reports a specific test outcome.
            </summary>
            <remarks>
            <para>
            Unlike <see cref="M:MbUnit.Framework.Assert.Terminate(Gallio.Model.TestOutcome,System.String,System.Object[])"/> this method does not report the
            stack trace.  It also does not include a termination reason unless one is explicitly
            specified by the caller.
            </para>
            <para>
            The test is terminated with by throwing a <see cref="T:Gallio.Framework.TestTerminatedException"/>
            with the specified outcome.  If other code in the test case catches
            this exception and does not rethrow it then the test might not terminate correctly.
            </para>
            </remarks>
            <param name="outcome">The desired test outcome.</param>
            <param name="messageFormat">The custom message format string, or null if none.</param>
            <param name="messageArgs">The custom message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.SilentTestException">Thrown always.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Multiple(Gallio.Common.Action)">
            <summary>
            Evaluates a block of code that contains multiple related assertions.
            </summary>
            <remarks>
            <para>
            While the action delegate runs, the behavior of assertions is change such that
            failures are captured but do not cause a <see cref="T:Gallio.Framework.Assertions.AssertionFailureException"/>
            to be throw.  When the delegate returns, the previous assertion failure behavior
            is restored and any captured assertion failures are reported.  The net effect
            of this change is that the test can continue to run even after an assertion failure
            occurs which can help to provide more information about the problem.
            </para>
            <para>
            A multiple assertion block is useful for verifying the state of a single
            component with many parts that require several assertions to check.
            This feature can accelerate debugging because more diagnostic information
            become available at once.
            </para>
            </remarks>
            <param name="action">The action to invoke.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Multiple(Gallio.Common.Action,System.String,System.Object[])">
            <summary>
            Evaluates a block of code that contains multiple related assertions.
            </summary>
            <remarks>
            <para>
            While the action delegate runs, the behavior of assertions is change such that
            failures are captured but do not cause a <see cref="T:Gallio.Framework.Assertions.AssertionFailureException"/>
            to be throw.  When the delegate returns, the previous assertion failure behavior
            is restored and any captured assertion failures are reported.  The net effect
            of this change is that the test can continue to run even after an assertion failure
            occurs which can help to provide more information about the problem.
            </para>
            <para>
            A multiple assertion block is useful for verifying the state of a single
            component with many parts that require several assertions to check.
            This feature can accelerate debugging because more diagnostic information
            become available at once.
            </para>
            </remarks>
            <param name="action">The action to invoke.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Contains(System.String,System.String)">
            <summary>
            Verifies that a string contains some expected value.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <param name="actualValue">The actual value.</param>
            <param name="expectedSubstring">The expected substring.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedSubstring"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Contains(System.String,System.String,System.String,System.Object[])">
            <summary>
            Verifies that a string contains some expected value.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <param name="actualValue">The actual value.</param>
            <param name="expectedSubstring">The expected substring.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedSubstring"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Contains(System.String,System.String,System.StringComparison)">
            <summary>
            Verifies that a string contains some expected value.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <param name="actualValue">The actual value.</param>
            <param name="expectedSubstring">The expected substring.</param>
            <param name="comparisonType">One of the <see cref="T:System.StringComparison"/> values that determines how the expected substring is compared to the actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedSubstring"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="comparisonType"> has invalid value.</paramref></exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Contains(System.String,System.String,System.StringComparison,System.String,System.Object[])">
            <summary>
            Verifies that a string contains some expected value.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <param name="actualValue">The actual value.</param>
            <param name="expectedSubstring">The expected substring.</param>
            <param name="comparisonType">One of the <see cref="T:System.StringComparison"/> values that determines how the expected substring is compared to the actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedSubstring"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="comparisonType"> has invalid value.</paramref></exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotContain(System.String,System.String)">
            <summary>
            Verifies that a string does not contain some unexpected substring.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <param name="actualValue">The actual value.</param>
            <param name="unexpectedSubstring">The unexpected substring.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="unexpectedSubstring"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotContain(System.String,System.String,System.String,System.Object[])">
            <summary>
            Verifies that a string does not contain some unexpected substring.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <param name="actualValue">The actual value.</param>
            <param name="unexpectedSubstring">The unexpected substring.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="unexpectedSubstring"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotContain(System.String,System.String,System.StringComparison)">
            <summary>
            Verifies that a string does not contain some unexpected substring.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <param name="actualValue">The actual value.</param>
            <param name="unexpectedSubstring">The unexpected substring.</param>
            <param name="comparisonType">One of the <see cref="T:System.StringComparison"/> values that determines how unexpected text is compared to the actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="unexpectedSubstring"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="comparisonType"> has invalid value.</paramref></exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotContain(System.String,System.String,System.StringComparison,System.String,System.Object[])">
            <summary>
            Verifies that a string does not contain some unexpected substring.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <param name="actualValue">The actual value.</param>
            <param name="unexpectedSubstring">The unexpected substring.</param>
            <param name="comparisonType">One of the <see cref="T:System.StringComparison"/> values that determines how unexpected text is compared to the actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="unexpectedSubstring"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="comparisonType"> has invalid value.</paramref></exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreEqual(System.String,System.String,System.StringComparison)">
            <summary>
            Asserts that two strings are equal according to a particular string comparison mode.
            </summary>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparisonType">The string comparison type.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreEqual(System.String,System.String,System.StringComparison,System.String,System.Object[])">
            <summary>
            Asserts that two strings are equal according to a particular string comparison mode.
            </summary>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparisonType">The string comparison type.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotEqual(System.String,System.String,System.StringComparison)">
            <summary>
            Asserts that two strings are not equal according to a particular string comparison mode.
            </summary>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparisonType">The string comparison type.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotEqual(System.String,System.String,System.StringComparison,System.String,System.Object[])">
            <summary>
            Asserts that two strings are not equal according to a particular string comparison mode.
            </summary>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparisonType">The string comparison type.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.FullMatch(System.String,System.String)">
            <summary>
            Verifies that a string matches regular expression pattern exactly.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.Match(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.FullMatch(System.String,System.String,System.String,System.Object[])">
            <summary>
            Verifies that a string matches regular expression pattern exactly.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.Match(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.FullMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
            <summary>
            Verifies that a string matches regular expression pattern exactly.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.Match(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <param name="regexOptions">The regular expression options.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.FullMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.Object[])">
            <summary>
            Verifies that a string matches regular expression pattern exactly.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.Match(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <param name="regexOptions">The regular expression options.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.FullMatch(System.String,System.Text.RegularExpressions.Regex)">
            <summary>
            Verifies that a string matches regular expression pattern exactly.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.Match(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regex">The regular expression.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regex"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.FullMatch(System.String,System.Text.RegularExpressions.Regex,System.String,System.Object[])">
            <summary>
            Verifies that a string matches regular expression pattern exactly.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.Match(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regex">The regular expression.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regex"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Like(System.String,System.String)">
            <summary>
            Verifies that a string contains a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Like(System.String,System.String,System.String,System.Object[])">
            <summary>
            Verifies that a string contains a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Like(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
            <summary>
            Verifies that a string contains a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <param name="regexOptions">The regular expression options.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Like(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.Object[])">
            <summary>
            Verifies that a string contains a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <param name="regexOptions">The regular expression options.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Like(System.String,System.Text.RegularExpressions.Regex)">
            <summary>
            Verifies that a string contains a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regex">The regular expression.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regex"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Like(System.String,System.Text.RegularExpressions.Regex,System.String,System.Object[])">
            <summary>
            Verifies that a string contains a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regex">The regular expression.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regex"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotLike(System.String,System.String)">
            <summary>
            Verifies that a string does not contain a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotLike(System.String,System.String,System.String,System.Object[])">
            <summary>
            Verifies that a string does not contain a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotLike(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
            <summary>
            Verifies that a string does not contain a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <param name="regexOptions">The regular expression options.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotLike(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.Object[])">
            <summary>
            Verifies that a string does not contain a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regexPattern">The regular expression pattern.</param>
            <param name="regexOptions">The regular expression options.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regexPattern"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotLike(System.String,System.Text.RegularExpressions.Regex)">
            <summary>
            Verifies that a string does not contain a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regex">The regular expression.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regex"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotLike(System.String,System.Text.RegularExpressions.Regex,System.String,System.Object[])">
            <summary>
            Verifies that a string does not contain a full or partial match of a regular expression pattern.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="regex">The regular expression.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="regex"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.StartsWith(System.String,System.String)">
            <summary>
            Verifies that a string starts with the specified text.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.String.StartsWith(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="expectedText">The expected pattern.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedText"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.StartsWith(System.String,System.String,System.String,System.Object[])">
            <summary>
            Verifies that a string starts with the specified text.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.String.StartsWith(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="expectedText">The expected pattern.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedText"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.StartsWith(System.String,System.String,System.StringComparison)">
            <summary>
            Verifies that a string starts with the specified text.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.String.StartsWith(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="expectedText">The expected pattern.</param>
            <param name="comparisonType">One of the <see cref="T:System.StringComparison"/> values that determines how the expected text is compared to the actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedText"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="comparisonType"> has invalid value.</paramref></exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.StartsWith(System.String,System.String,System.StringComparison,System.String,System.Object[])">
            <summary>
            Verifies that a string starts with the specified text.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.String.StartsWith(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="expectedText">The expected pattern.</param>
            <param name="comparisonType">One of the <see cref="T:System.StringComparison"/> values that determines how the expected text is compared to the actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedText"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="comparisonType"> has invalid value.</paramref></exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.EndsWith(System.String,System.String)">
            <summary>
            Verifies that a string ends with the specified text.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.String.EndsWith(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="expectedText">The expected pattern.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedText"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.EndsWith(System.String,System.String,System.String,System.Object[])">
            <summary>
            Verifies that a string ends with the specified text.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.String.EndsWith(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="expectedText">The expected pattern.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedText"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.EndsWith(System.String,System.String,System.StringComparison)">
            <summary>
            Verifies that a string ends with the specified text.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.String.EndsWith(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="expectedText">The expected pattern.</param>
            <param name="comparisonType">One of the <see cref="T:System.StringComparison"/> values that determines how the expected text is compared to the actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedText"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="comparisonType"> has invalid value.</paramref></exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.EndsWith(System.String,System.String,System.StringComparison,System.String,System.Object[])">
            <summary>
            Verifies that a string ends with the specified text.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the string is null.
            </para>
            </remarks>
            <seealso cref="M:System.String.EndsWith(System.String)"/>
            <param name="actualValue">The actual value.</param>
            <param name="expectedText">The expected pattern.</param>
            <param name="comparisonType">One of the <see cref="T:System.StringComparison"/> values that determines how the expected text is compared to the actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedText"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="comparisonType"> has invalid value.</paramref></exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal and in the same order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.String,System.Object[])">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal and in the same order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal and in the same order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal and in the same order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},Gallio.Common.EqualityComparison{``0})">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal and in the same order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},Gallio.Common.EqualityComparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal and in the same order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsNotEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Verifies that unexpected and actual sequences differ in at least one element.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedSequence">The unexpected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsNotEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.String,System.Object[])">
            <summary>
            Verifies that unexpected and actual sequences differ in at least one element.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedSequence">The unexpected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsNotEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Verifies that unexpected and actual sequences differ in at least one element.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedSequence">The unexpected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsNotEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that unexpected and actual sequences differ in at least one element.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedSequence">The unexpected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsNotEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},Gallio.Common.EqualityComparison{``0})">
            <summary>
            Verifies that unexpected and actual sequences differ in at least one element.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedSequence">The unexpected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsNotEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},Gallio.Common.EqualityComparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that unexpected and actual sequences differ in at least one element.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedSequence">The unexpected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqualIgnoringOrder``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal but perhaps in a different order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqualIgnoringOrder``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.String,System.Object[])">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal but perhaps in a different order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqualIgnoringOrder``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal but perhaps in a different order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqualIgnoringOrder``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal but perhaps in a different order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqualIgnoringOrder``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},Gallio.Common.EqualityComparison{``0})">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal but perhaps in a different order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsEqualIgnoringOrder``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},Gallio.Common.EqualityComparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are equal but perhaps in a different order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsSame``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are referentially equal and in the same order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsSame``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.String,System.Object[])">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are referentially equal and in the same order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsNotSame``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Verifies that unexpected and actual sequences differ in at least one element.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedSequence">The unexpected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsNotSame``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.String,System.Object[])">
            <summary>
            Verifies that unexpected and actual sequences differ in at least one element.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedSequence">The unexpected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsSameIgnoringOrder``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are referentially equal but perhaps in a different order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreElementsSameIgnoringOrder``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.String,System.Object[])">
            <summary>
            Verifies that expected and actual sequences have the same number of elements and
            that the elements are referentially equal but perhaps in a different order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedSequence">The expected sequence.</param>
            <param name="actualSequence">The actual sequence.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Contains``1(System.Collections.Generic.IEnumerable{``0},``0)">
            <summary>
            Verifies that <paramref name="expectedValue"/> is in the enumeration <paramref name="enumeration"/>.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="enumeration">The enumeration of items.</param>
            <param name="expectedValue">The expected value expected to be found in the collection.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Contains``1(System.Collections.Generic.IEnumerable{``0},``0,System.String,System.Object[])">
            <summary>
            Verifies that <paramref name="expectedValue"/> is in the enumeration <paramref name="enumeration"/>.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="enumeration">The enumeration of items.</param>
            <param name="expectedValue">The expected value expected to be found in the collection.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.ContainsKey``2(System.Collections.Generic.IDictionary{``0,``1},``0)">
            <summary>
            Verifies that <paramref name="expectedKey"/> is in the dictionary <paramref name="dictionary"/>.
            </summary>
            <typeparam name="TKey">The type of key.</typeparam>
            <typeparam name="TValue">The type of value.</typeparam>
            <param name="dictionary">The dictionary of items.</param>
            <param name="expectedKey">The key expected to be found in the dictionary.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.ContainsKey``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.String,System.Object[])">
            <summary>
            Verifies that <paramref name="expectedKey"/> is in the dictionary <paramref name="dictionary"/>.
            </summary>
            <typeparam name="TKey">The type of key.</typeparam>
            <typeparam name="TValue">The type of value.</typeparam>
            <param name="dictionary">The dictionary of items.</param>
            <param name="expectedKey">The key expected to be found in the dictionary.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotContain``1(System.Collections.Generic.IEnumerable{``0},``0)">
            <summary>
            Verifies that <paramref name="unexpectedValue"/> is not in the enumeration <paramref name="enumeration"/>.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="enumeration">The enumeration of items.</param>
            <param name="unexpectedValue">The unexpected value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotContain``1(System.Collections.Generic.IEnumerable{``0},``0,System.String,System.Object[])">
            <summary>
            Verifies that <paramref name="unexpectedValue"/> is not in the enumeration <paramref name="enumeration"/>.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="enumeration">The enumeration of items.</param>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotContainKey``2(System.Collections.Generic.IDictionary{``0,``1},``0)">
            <summary>
            Verifies that <paramref name="unexpectedKey"/> is not in the dictionary <paramref name="dictionary"/>.
            </summary>
            <typeparam name="TKey">The type of key.</typeparam>
            <typeparam name="TValue">The type of value.</typeparam>
            <param name="dictionary">The dictionary of items.</param>
            <param name="unexpectedKey">The key that should not be found in the dictionary.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotContainKey``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.String,System.Object[])">
            <summary>
            Verifies that <paramref name="unexpectedKey"/> is not in the dictionary <paramref name="dictionary"/>.
            </summary>
            <typeparam name="TKey">The type of key.</typeparam>
            <typeparam name="TValue">The type of value.</typeparam>
            <param name="dictionary">The dictionary of items.</param>
            <param name="unexpectedKey">The key expected to be found in the dictionary.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable)">
            <summary>
            Verifies that an actual value contains no elements.
            </summary>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])">
            <summary>
            Verifies that an actual value contains no elements.
            </summary>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable)">
            <summary>
            Verifies that an actual value contains at least one element.
            </summary>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])">
            <summary>
            Verifies that an actual value contains at least one element.
            </summary>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.ForAll``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0})">
            <summary>
            Verifies that all the elements of the sequence meet the specified condition.
            </summary>
            <typeparam name="T">The type of values in the sequence.</typeparam>
            <param name="values">The sequence of values to evaluate.</param>
            <param name="predicate">The condition that must be fulfilled (returns <c>true</c>) by all the elements of the sequence.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.ForAll``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0},System.String,System.Object[])">
            <summary>
            Verifies that all the elements of the sequence meet the specified condition.
            </summary>
            <typeparam name="T">The type of values in the sequence.</typeparam>
            <param name="values">The sequence of values to evaluate.</param>
            <param name="predicate">The condition that must be fulfilled (returns <c>true</c>) by all the elements of the sequence.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.ForAll``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
            <summary>
            Verifies that all the elements of the sequence pass the validation.
            </summary>
            <typeparam name="T">The type of values in the sequence.</typeparam>
            <param name="values">The sequence of values to evaluate.</param>
            <param name="action">The assertion block that validates each element of the sequence.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.ForAll``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0},System.String,System.Object[])">
            <summary>
            Verifies that all the elements of the sequence pass the validation.
            </summary>
            <typeparam name="T">The type of values in the sequence.</typeparam>
            <param name="values">The sequence of values to evaluate.</param>
            <param name="action">The assertion block that validates each element of the sequence.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.ForAll``1(System.Collections.Generic.IEnumerable{``0},Gallio.Common.Action{``0,System.Int32})">
            <summary>
            Verifies that all the elements of the sequence pass the validation.
            </summary>
            <typeparam name="T">The type of values in the sequence.</typeparam>
            <param name="values">The sequence of values to evaluate.</param>
            <param name="action">The assertion block that validates each element of the sequence based on the element's value and index.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.ForAll``1(System.Collections.Generic.IEnumerable{``0},Gallio.Common.Action{``0,System.Int32},System.String,System.Object[])">
            <summary>
            Verifies that all the elements of the sequence pass the validation.
            </summary>
            <typeparam name="T">The type of values in the sequence.</typeparam>
            <param name="values">The sequence of values to evaluate.</param>
            <param name="action">The assertion block that validates each element of the sequence based on the element's value and index.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Exists``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0})">
            <summary>
            Verifies that at least one element of the sequence meets the specified condition.
            </summary>
            <typeparam name="T">The type of values in the sequence.</typeparam>
            <param name="values">The sequence of values to evaluate.</param>
            <param name="predicate">The condition that must be fulfilled (returns <c>true</c>) by at least one element of the sequence.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Exists``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0},System.String,System.Object[])">
            <summary>
            Verifies that at least one element of the sequence meets the specified condition.
            </summary>
            <typeparam name="T">The type of values in the sequence.</typeparam>
            <param name="values">The sequence of values to evaluate.</param>
            <param name="predicate">The condition that must be fulfilled (returns <c>true</c>) by at least one element of the sequence.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotExist``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0})">
            <summary>
            Verifies that none of the elements in the sequence meets the specified condition.
            </summary>
            <typeparam name="T">The type of values in the sequence.</typeparam>
            <param name="values">The sequence of values to evaluate.</param>
            <param name="predicate">The condition that must not be fulfilled (returns <c>true</c>) by any of the elements of the sequence.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotExist``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0},System.String,System.Object[])">
            <summary>
            Verifies that none of the elements in the sequence meets the specified condition.
            </summary>
            <typeparam name="T">The type of values in the sequence.</typeparam>
            <param name="values">The sequence of values to evaluate.</param>
            <param name="predicate">The condition that must not be fulfilled (returns <c>true</c>) by any of the elements of the sequence.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreEqual``1(``0,``0)">
            <summary>
            Verifies that an actual value equals some expected value.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            
        </member>
        <member name="M:MbUnit.Framework.Assert.AreEqual``1(``0,``0,System.String,System.Object[])">
            <summary>
            Verifies that an actual value equals some expected value.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreEqual``1(``0,``0,System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Verifies that an actual value equals some expected value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreEqual``1(``0,``0,System.Collections.Generic.IEqualityComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that an actual value equals some expected value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreEqual``1(``0,``0,Gallio.Common.EqualityComparison{``0})">
            <summary>
            Verifies that an actual value equals some expected value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreEqual``1(``0,``0,Gallio.Common.EqualityComparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that an actual value equals some expected value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotEqual``1(``0,``0)">
            <summary>
            Verifies that an actual value does not equal some unexpected value.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotEqual``1(``0,``0,System.String,System.Object[])">
            <summary>
            Verifies that an actual value does not equal some unexpected value.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotEqual``1(``0,``0,System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Verifies that an actual value does not equal some unexpected value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotEqual``1(``0,``0,System.Collections.Generic.IEqualityComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that an actual value does not equal some unexpected value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotEqual``1(``0,``0,Gallio.Common.EqualityComparison{``0})">
            <summary>
            Verifies that an actual value does not equal some unexpected value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotEqual``1(``0,``0,Gallio.Common.EqualityComparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that an actual value does not equal some unexpected value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreSame``1(``0,``0)">
            <summary>
            Verifies that an actual value is referentially identical to some expected value.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreSame``1(``0,``0,System.String,System.Object[])">
            <summary>
            Verifies that an actual value is referentially identical to some expected value.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotSame``1(``0,``0)">
            <summary>
            Verifies that an actual value is not referentially identical to some unexpected value.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotSame``1(``0,``0,System.String,System.Object[])">
            <summary>
            Verifies that an actual value is not referentially identical to some unexpected value.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="unexpectedValue">The unexpected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsTrue(System.Boolean)">
            <summary>
            Verifies that an actual value is true.
            </summary>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsTrue(System.Boolean,System.String,System.Object[])">
            <summary>
            Verifies that an actual value is true.
            </summary>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsFalse(System.Boolean)">
            <summary>
            Verifies that an actual value is false.
            </summary>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsFalse(System.Boolean,System.String,System.Object[])">
            <summary>
            Verifies that an actual value is false.
            </summary>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNull(System.Object)">
            <summary>
            Verifies that an actual value is null.
            </summary>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNull(System.Object,System.String,System.Object[])">
            <summary>
            Verifies that an actual value is null.
            </summary>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotNull(System.Object)">
            <summary>
            Verifies that an actual value is not null.
            </summary>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotNull(System.Object,System.String,System.Object[])">
            <summary>
            Verifies that an actual value is not null.
            </summary>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreApproximatelyEqual``2(``0,``0,``1)">
            <summary>
            Verifies that an actual value approximately equals some expected value
            to within a specified delta.
            </summary>
            <remarks>
            <para>
            The values are considered approximately equal if the absolute value of their difference
            is less than or equal to the delta.
            </para>
            <para>
            This method works with any comparable type that also supports a subtraction operator
            including <see cref="T:System.Single"/>, <see cref="T:System.Double"/>, <see cref="T:System.Decimal"/>,
            <see cref="T:System.Int32"/>, <see cref="T:System.DateTime"/> (using a <see cref="T:System.TimeSpan"/> delta),
            and many others.
            </para>
            </remarks>
            <typeparam name="TValue">The type of values to be compared.</typeparam>
            <typeparam name="TDifference">The type of the difference produced when the values are
            subtracted, for numeric types this is the same as <typeparamref name="TValue"/> but it
            may differ for other types.</typeparam>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="delta">The inclusive delta between the values.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreApproximatelyEqual``2(``0,``0,``1,System.String,System.Object[])">
            <summary>
            Verifies that an actual value approximately equals some expected value
            to within a specified delta.
            </summary>
            <remarks>
            <para>
            The values are considered approximately equal if the absolute value of their difference
            is less than or equal to the delta.
            </para>
            <para>
            This method works with any comparable type that also supports a subtraction operator
            including <see cref="T:System.Single"/>, <see cref="T:System.Double"/>, <see cref="T:System.Decimal"/>,
            <see cref="T:System.Int32"/>, <see cref="T:System.DateTime"/> (using a <see cref="T:System.TimeSpan"/> delta),
            and many others.
            </para>
            </remarks>
            <typeparam name="TValue">The type of values to be compared.</typeparam>
            <typeparam name="TDifference">The type of the difference produced when the values are
            subtracted, for numeric types this is the same as <typeparamref name="TValue"/> but it
            may differ for other types.</typeparam>
            <param name="expectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="delta">The inclusive delta between the values.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotApproximatelyEqual``2(``0,``0,``1)">
            <summary>
            Verifies that an actual value does not approximately equal some unexpected value
            to within a specified delta.
            </summary>
            <remarks>
            <para>
            The values are considered approximately equal if the absolute value of their difference
            is less than or equal to the delta.
            </para>
            <para>
            This method works with any comparable type that also supports a subtraction operator
            including <see cref="T:System.Single"/>, <see cref="T:System.Double"/>, <see cref="T:System.Decimal"/>,
            <see cref="T:System.Int32"/>, <see cref="T:System.DateTime"/> (using a <see cref="T:System.TimeSpan"/> delta),
            and many others.
            </para>
            </remarks>
            <typeparam name="TValue">The type of values to be compared.</typeparam>
            <typeparam name="TDifference">The type of the difference produced when the values are
            subtracted, for numeric types this is the same as <typeparamref name="TValue"/> but it
            may differ for other types.</typeparam>
            <param name="unexpectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="delta">The inclusive delta between the values.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.AreNotApproximatelyEqual``2(``0,``0,``1,System.String,System.Object[])">
            <summary>
            Verifies that an actual value does not approximately equal some unexpected value
            to within a specified delta.
            </summary>
            <remarks>
            <para>
            The values are considered approximately equal if the absolute value of their difference
            is less than or equal to the delta.
            </para>
            <para>
            This method works with any comparable type that also supports a subtraction operator
            including <see cref="T:System.Single"/>, <see cref="T:System.Double"/>, <see cref="T:System.Decimal"/>,
            <see cref="T:System.Int32"/>, <see cref="T:System.DateTime"/> (using a <see cref="T:System.TimeSpan"/> delta),
            and many others.
            </para>
            </remarks>
            <typeparam name="TValue">The type of values to be compared.</typeparam>
            <typeparam name="TDifference">The type of the difference produced when the values are
            subtracted, for numeric types this is the same as <typeparamref name="TValue"/> but it
            may differ for other types.</typeparam>
            <param name="unexpectedValue">The expected value.</param>
            <param name="actualValue">The actual value.</param>
            <param name="delta">The inclusive delta between the values.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Throws``1(Gallio.Common.Action)">
            <summary>
            Verifies that a block of code throws an exception of a particular type.
            </summary>
            <remarks>
            <para>
            If the block of code throws a subtype of the expected exception type then
            this method will still succeed.
            </para>
            <para>
            This method returns the exception that was caught.  To verify additional
            properties of the exception, such as the exception message, follow up this
            assertion with additional ones that verify these properties of the exception object
            that was returned.
            </para>
            </remarks>
            <typeparam name="TExpectedException">The expected type of exception.</typeparam>
            <param name="action">The action delegate to evaluate.</param>
            <returns>The exception that was thrown.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Throws``2(Gallio.Common.Action)">
            <summary>
            Verifies that a block of code throws an exception of a particular type; and that 
            the exception has an inner exception of a particular type.
            </summary>
            <remarks>
            <para>
            If the block of code throws a subtype of the expected exception types then
            this method will still succeed.
            </para>
            <para>
            This method returns the exception that was caught. To verify additional
            properties of the exception, such as the exception message, follow up this
            assertion with additional ones that verify these properties of the exception object
            that was returned.
            </para>
            </remarks>
            <typeparam name="TExpectedException">The expected type of exception.</typeparam>
            <typeparam name="TExpectedInnerException">The expected type of the inner exception.</typeparam>
            <param name="action">The action delegate to evaluate.</param>
            <returns>The exception that was thrown.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Throws``1(Gallio.Common.Action,System.String,System.Object[])">
            <summary>
            Verifies that a block of code throws an exception of a particular type.
            </summary>
            <remarks>
            <para>
            If the block of code throws a subtype of the expected exception type then
            this method will still succeed.
            </para>
            <para>
            This method returns the exception that was caught.  To verify additional
            properties of the exception, such as the exception message, follow up this
            assertion with additional ones that verify these properties of the exception object
            that was returned.
            </para>
            </remarks>
            <typeparam name="TExpectedException">The expected type of exception.</typeparam>
            <param name="action">The action delegate to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>The exception that was thrown.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Throws``2(Gallio.Common.Action,System.String,System.Object[])">
            <summary>
            Verifies that a block of code throws an exception of a particular type; and that 
            the exception has an inner exception of a particular type.
            </summary>
            <remarks>
            <para>
            If the block of code throws a subtype of the expected exception types then
            this method will still succeed.
            </para>
            <para>
            This method returns the exception that was caught. To verify additional
            properties of the exception, such as the exception message, follow up this
            assertion with additional ones that verify these properties of the exception object
            that was returned.
            </para>
            </remarks>
            <typeparam name="TExpectedException">The expected type of the exception.</typeparam>
            <typeparam name="TExpectedInnerException">The expected type of the inner exception.</typeparam>
            <param name="action">The action delegate to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>The exception that was thrown.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Throws(System.Type,Gallio.Common.Action)">
            <summary>
            Verifies that a block of code throws an exception of a particular type.
            </summary>
            <remarks>
            <para>
            If the block of code throws a subtype of the expected exception type then
            this method will still succeed.
            </para>
            <para>
            This method returns the exception that was caught.  To verify additional
            properties of the exception, such as the exception message, follow up this
            assertion with additional ones that verify these properties of the exception object
            that was returned.
            </para>
            </remarks>
            <param name="expectedExceptionType">The expected exception type.</param>
            <param name="action">The action delegate to evaluate.</param>
            <returns>The exception that was thrown.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedExceptionType"/>
            or <paramref name="action"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Throws(System.Type,System.Type,Gallio.Common.Action)">
            <summary>
            Verifies that a block of code throws an exception of a particular type; and that 
            the exception has an inner exception of a particular type.
            </summary>
            <remarks>
            <para>
            If the block of code throws a subtype of the expected exception types then
            this method will still succeed.
            </para>
            <para>
            This method returns the exception that was caught. To verify additional
            properties of the exception, such as the exception message, follow up this
            assertion with additional ones that verify these properties of the exception object
            that was returned.
            </para>
            </remarks>
            <param name="expectedExceptionType">The expected exception type.</param>
            <param name="expectedInnerExceptionType">The expected inner exception type, or null to ignore the inner exception.</param>
            <param name="action">The action delegate to evaluate.</param>
            <returns>The exception that was thrown.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedExceptionType"/>
            or <paramref name="action"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Throws(System.Type,Gallio.Common.Action,System.String,System.Object[])">
            <summary>
            Verifies that a block of code throws an exception of a particular type.
            </summary>
            <remarks>
            <para>
            If the block of code throws a subtype of the expected exception type then
            this method will still succeed.
            </para>
            <para>
            This method returns the exception that was caught. To verify additional
            properties of the exception, such as the exception message, follow up this
            assertion with additional ones that verify these properties of the exception object
            that was returned.
            </para>
            </remarks>
            <param name="expectedExceptionType">The expected exception type.</param>
            <param name="action">The action delegate to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>The exception that was thrown.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedExceptionType"/>
            or <paramref name="action"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Throws(System.Type,System.Type,Gallio.Common.Action,System.String,System.Object[])">
            <summary>
            Verifies that a block of code throws an exception of a particular type; and that 
            the exception has an inner exception of a particular type.
            </summary>
            <remarks>
            <para>
            If the block of code throws a subtype of the expected exception types then
            this method will still succeed.
            </para>
            <para>
            This method returns the exception that was caught.  To verify additional
            properties of the exception, such as the exception message, follow up this
            assertion with additional ones that verify these properties of the exception object
            that was returned.
            </para>
            </remarks>
            <param name="expectedExceptionType">The expected exception type.</param>
            <param name="expectedInnerExceptionType">The expected inner exception type, or null to ignore the inner exception.</param>
            <param name="action">The action delegate to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <returns>The exception that was thrown.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedExceptionType"/>
            or <paramref name="action"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotThrow(Gallio.Common.Action)">
            <summary>
            Verifies that a block of code does not throw an exception of any type.
            </summary>
            <remarks>
            <para>
            The purpose of this assertion is to improve the readability of tests
            that only verify that an exception was not thrown.  Using this assertion
            makes a positive and explicit statement that not throwing an exception
            is itself the primary behavior that is being verified.
            </para>
            </remarks>
            <param name="action">The action delegate to evaluate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.DoesNotThrow(Gallio.Common.Action,System.String,System.Object[])">
            <summary>
            Verifies that a block of code does not throw an exception of any type.
            </summary>
            <remarks>
            <para>
            The purpose of this assertion is to improve the readability of tests
            that only verify that an exception was not thrown.  Using this assertion
            makes a positive and explicit statement that not throwing an exception
            is itself the primary behavior that is being verified.
            </para>
            </remarks>
            <param name="action">The action delegate to evaluate.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Type)">
            <summary>
            Verifies that a type may be assigned to a variable of the specified type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if <paramref name="actualType"/> is null.
            </para>
            </remarks>
            <seealso cref="M:System.Type.IsAssignableFrom(System.Type)"/>
            <param name="expectedType">The Type to compare with the actual Type.</param>
            <param name="actualType">The Type under examination.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedType"/> or <paramref name="actualType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Type,System.String,System.Object[])">
            <summary>
            Verifies that a type may be assigned to a variable of the specified type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if <paramref name="actualType"/> is null.
            </para>
            </remarks>
            <seealso cref="M:System.Type.IsAssignableFrom(System.Type)"/>
            <param name="expectedType">The Type to compare with the object's Type.</param>
            <param name="actualType">The Type under examination.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedType"/> or <paramref name="actualType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsAssignableFrom``1(System.Type)">
            <summary>
            Verifies that a type may be assigned to a variable of the specified type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if <paramref name="actualType"/> is null.
            </para>
            </remarks>
            <seealso cref="M:System.Type.IsAssignableFrom(System.Type)"/>
            <typeparam name="TExpected">The Type to compare with the object's Type.</typeparam>
            <param name="actualType">The object under examination.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsAssignableFrom``1(System.Type,System.String,System.Object[])">
            <summary>
            Verifies that a type may be assigned to a variable of the specified type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if <paramref name="actualType"/> is null.
            </para>
            </remarks>
            <seealso cref="M:System.Type.IsAssignableFrom(System.Type)"/>
            <typeparam name="TExpected">The Type to compare with the object's Type.</typeparam>
            <param name="actualType">The Type under examination.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Type)">
            <summary>
            Verifies that a Type may not be assigned to a variable of the specified type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if <paramref name="actualType"/> is null.
            </para>
            </remarks>
            <seealso cref="M:System.Type.IsAssignableFrom(System.Type)"/>
            <param name="unexpectedType">The Type to compare with the object's Type.</param>
            <param name="actualType">The Type under examination.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="unexpectedType"/> or <paramref name="actualType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Type,System.String,System.Object[])">
            <summary>
            Verifies that a Type may not be assigned to a variable of the specified type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if <paramref name="actualType"/> is null.
            </para>
            </remarks>
            <seealso cref="M:System.Type.IsAssignableFrom(System.Type)"/>
            <param name="unexpectedType">The Type to compare with the object's Type.</param>
            <param name="actualType">The Type under examination.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="unexpectedType"/> or <paramref name="actualType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotAssignableFrom``1(System.Type)">
            <summary>
            Verifies that a Type may not be assigned to a variable of the specified type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if <paramref name="actualType"/> is null.
            </para>
            </remarks>
            <seealso cref="M:System.Type.IsAssignableFrom(System.Type)"/>
            <typeparam name="TUnexpected">The Type to compare with the object's Type.</typeparam>
            <param name="actualType">The Type under examination.</param>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotAssignableFrom``1(System.Type,System.String,System.Object[])">
            <summary>
            Verifies that a Type may not be assigned to a variable of the specified type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if <paramref name="actualType"/> is null.
            </para>
            </remarks>
            <seealso cref="M:System.Type.IsAssignableFrom(System.Type)"/>
            <typeparam name="TUnexpected">The Type to compare with the object's Type.</typeparam>
            <param name="actualType">The Type under examination.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object)">
            <summary>
            Verifies that an actual value is an instance of some expected type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the object is null.
            </para>
            </remarks>
            <param name="expectedType">The expected type.</param>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object,System.String,System.Object[])">
            <summary>
            Verifies that an actual value is an instance of some expected type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the object is null.
            </para>
            </remarks>
            <param name="expectedType">The expected type.</param>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsInstanceOfType``1(System.Object)">
            <summary>
            Verifies that an actual value is an instance of some expected type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the object is null.
            </para>
            </remarks>
            <typeparam name="TExpected">The expected type.</typeparam>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsInstanceOfType``1(System.Object,System.String,System.Object[])">
            <summary>
            Verifies that an actual value is an instance of some expected type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the object is null.
            </para>
            </remarks>
            <typeparam name="TExpected">The expected type.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object)">
            <summary>
            Verifies that an actual value is not an instance of some unexpected type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the object is null.
            </para>
            </remarks>
            <param name="unexpectedType">The unexpected type.</param>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="unexpectedType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object,System.String,System.Object[])">
            <summary>
            Verifies that an actual value is not an instance of some unexpected type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the object is null.
            </para>
            </remarks>
            <param name="unexpectedType">The unexpected type.</param>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="unexpectedType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotInstanceOfType``1(System.Object)">
            <summary>
            Verifies that an actual value is not an instance of some unexpected type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the object is null.
            </para>
            </remarks>
            <typeparam name="TUnexpected">The unexpected type.</typeparam>
            <param name="actualValue">The actual value.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsNotInstanceOfType``1(System.Object,System.String,System.Object[])">
            <summary>
            Verifies that an actual value is not an instance of some unexpected type.
            </summary>
            <remarks>
            <para>
            This assertion will fail if the object is null.
            </para>
            </remarks>
            <typeparam name="TUnexpected">The unexpected type.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThan``1(``0,``0)">
            <summary>
            Verifies that the left value is greater than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThan``1(``0,``0,System.String,System.Object[])">
            <summary>
            Verifies that the left value is greater than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThan``1(``0,``0,System.Collections.Generic.IComparer{``0})">
            <summary>
            Verifies that the left value is greater than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThan``1(``0,``0,System.Collections.Generic.IComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that the left value is greater than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThan``1(``0,``0,System.Comparison{``0})">
            <summary>
            Verifies that the left value is greater than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThan``1(``0,``0,System.Comparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that the left value is greater than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThanOrEqualTo``1(``0,``0)">
            <summary>
            Verifies that the left value is greater than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThanOrEqualTo``1(``0,``0,System.String,System.Object[])">
            <summary>
            Verifies that the left value is greater than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThanOrEqualTo``1(``0,``0,System.Collections.Generic.IComparer{``0})">
            <summary>
            Verifies that the left value is greater than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThanOrEqualTo``1(``0,``0,System.Collections.Generic.IComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that the left value is greater than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThanOrEqualTo``1(``0,``0,System.Comparison{``0})">
            <summary>
            Verifies that the left value is greater than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.GreaterThanOrEqualTo``1(``0,``0,System.Comparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that the left value is greater or equal than right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThan``1(``0,``0)">
            <summary>
            Verifies that the left value is less than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThan``1(``0,``0,System.String,System.Object[])">
            <summary>
            Verifies that the left value is less than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThan``1(``0,``0,System.Collections.Generic.IComparer{``0})">
            <summary>
            Verifies that the left value is less than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThan``1(``0,``0,System.Collections.Generic.IComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that the left value is less than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThan``1(``0,``0,System.Comparison{``0})">
            <summary>
            Verifies that the left value is less than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThan``1(``0,``0,System.Comparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that the left value is less than the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThanOrEqualTo``1(``0,``0)">
            <summary>
            Verifies that the left value is less than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThanOrEqualTo``1(``0,``0,System.String,System.Object[])">
            <summary>
            Verifies that the left value is less than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThanOrEqualTo``1(``0,``0,System.Collections.Generic.IComparer{``0})">
            <summary>
            Verifies that the left value is less than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThanOrEqualTo``1(``0,``0,System.Collections.Generic.IComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that the left value is less than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThanOrEqualTo``1(``0,``0,System.Comparison{``0})">
            <summary>
            Verifies that the left value is less than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.LessThanOrEqualTo``1(``0,``0,System.Comparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that the left value is less than or equal to the right value according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="left">The expected value.</param>
            <param name="right">The actual value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Between``1(``0,``0,``0)">
            <summary>
            Verifies that a test value is between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
        </member>
        <member name="M:MbUnit.Framework.Assert.Between``1(``0,``0,``0,System.String,System.Object[])">
            <summary>
            Verifies that a test value is between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Between``1(``0,``0,``0,System.Collections.Generic.IComparer{``0})">
            <summary>
            Verifies that a test value is between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Between``1(``0,``0,``0,System.Collections.Generic.IComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that a test value is between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Between``1(``0,``0,``0,System.Comparison{``0})">
            <summary>
            Verifies that a test value is between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Between``1(``0,``0,``0,System.Comparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that a test value is between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotBetween``1(``0,``0,``0)">
            <summary>
            Verifies that a test value is not between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotBetween``1(``0,``0,``0,System.String,System.Object[])">
            <summary>
            Verifies that a test value is not between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotBetween``1(``0,``0,``0,System.Collections.Generic.IComparer{``0})">
            <summary>
            Verifies that a test value is not between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotBetween``1(``0,``0,``0,System.Collections.Generic.IComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that a test value is not between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotBetween``1(``0,``0,``0,System.Comparison{``0})">
            <summary>
            Verifies that a test value is not between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.NotBetween``1(``0,``0,``0,System.Comparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that a test value is not between left and right values according to a particular comparer.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="actualValue">The actual value.</param>
            <param name="minimum">Inclusive minimum value.</param>
            <param name="maximum">Inclusive maximum value.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsSerializableType(System.Type)">
            <summary>
            Verifies that a type supports the runtime serialization protocol.
            </summary>
            <remarks>
            <para>
            Ensures that the type has the <see cref="T:System.SerializableAttribute"/>.  Also ensures that if it
            implements <see cref="T:System.Runtime.Serialization.ISerializable"/> then it also has a deserialization constructor with
            signature .ctor(SerializationInfo info, StreamingContext context).
            </para>
            </remarks>
            <param name="type">The type to verify.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsSerializableType(System.Type,System.String,System.Object[])">
            <summary>
            Verifies that a type supports the runtime serialization protocol.
            </summary>
            <remarks>
            <para>
            Ensures that the type has the <see cref="T:System.SerializableAttribute"/>.  Also ensures that if it
            implements <see cref="T:System.Runtime.Serialization.ISerializable"/> then it also has a deserialization constructor with
            signature .ctor(SerializationInfo, StreamingContext).
            </para>
            </remarks>
            <param name="type">The type to verify.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Serialize(System.Object,System.Runtime.Serialization.IFormatter)">
            <summary>
            Verifies that an object can be serialized to a stream using the specified <see cref="T:System.Runtime.Serialization.IFormatter"/>
            and returns the resulting stream.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <param name="formatter">The object serialization formatter.</param>
            <returns>The serialized stream.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="formatter"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Serialize(System.Object,System.Runtime.Serialization.IFormatter,System.String,System.Object[])">
            <summary>
            Verifies that an object can be serialized to a stream using the specified <see cref="T:System.Runtime.Serialization.IFormatter"/>
            and returns the resulting stream.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <param name="formatter">The object serialization formatter.</param>
            <returns>The serialized stream.</returns>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="formatter"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Deserialize``1(System.IO.Stream,System.Runtime.Serialization.IFormatter)">
            <summary>
            Verifies that an object can be deserialized from a stream using the
            specified <see cref="T:System.Runtime.Serialization.IFormatter"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="stream"/> is null.
            </para>
            </remarks>
            <param name="stream">The stream to deserialize.</param>
            <param name="formatter">The object serialization formatter.</param>
            <returns>The deserialized object.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="formatter"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Deserialize``1(System.IO.Stream,System.Runtime.Serialization.IFormatter,System.String,System.Object[])">
            <summary>
            Verifies that an object can be deserialized from a stream using the specified
            <see cref="T:System.Runtime.Serialization.IFormatter"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="stream"/> is null.
            </para>
            </remarks>
            <param name="stream">The stream to deserialize.</param>
            <param name="formatter">The object serialization formatter.</param>
            <returns>The deserialized object.</returns>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="formatter"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.SerializeThenDeserialize``1(``0,System.Runtime.Serialization.IFormatter)">
            <summary>
            Verifies that an object can be serialized then deserialized to and from a stream using the
            specified <see cref="T:System.Runtime.Serialization.IFormatter"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <param name="formatter">The object serialization formatter.</param>
            <returns>The serialized then deserialized object.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="formatter"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.SerializeThenDeserialize``1(``0,System.Runtime.Serialization.IFormatter,System.String,System.Object[])">
            <summary>
            Verifies that an object can be serialized and deserialized to and from a stream using the
            specified <see cref="T:System.Runtime.Serialization.IFormatter"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <param name="formatter">The object serialization formatter.</param>
            <returns>The serialized then deserialized object.</returns>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="formatter"/> is null.</exception>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.BinarySerialize(System.Object)">
            <summary>
            Verifies that an object can be serialized to a stream using a <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/>
            and returns the resulting stream.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <returns>The serialized stream.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.BinarySerialize(System.Object,System.String,System.Object[])">
            <summary>
            Verifies that an object can be serialized to a stream using a <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/>
            and returns the resulting stream.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <returns>The serialized stream.</returns>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.BinaryDeserialize``1(System.IO.Stream)">
            <summary>
            Verifies that an object can be deserialized from a stream using a
            <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="stream"/> is null.
            </para>
            </remarks>
            <param name="stream">The stream to deserialize.</param>
            <returns>The deserialized object.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.BinaryDeserialize``1(System.IO.Stream,System.String,System.Object[])">
            <summary>
            Verifies that an object can be deserialized from a stream using a
            <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="stream"/> is null.
            </para>
            </remarks>
            <param name="stream">The stream to deserialize.</param>
            <returns>The deserialized object.</returns>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.BinarySerializeThenDeserialize``1(``0)">
            <summary>
            Verifies that an object can be serialized then deserialized to and from a stream using a
            <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <returns>The serialized then deserialized object.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.BinarySerializeThenDeserialize``1(``0,System.String,System.Object[])">
            <summary>
            Verifies that an object can be serialized and deserialized to and from a stream using a
            <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <returns>The serialized then deserialized object.</returns>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsXmlSerializableType(System.Type)">
            <summary>
            Verifies that a type supports the Xml serialization protocol used by <see cref="T:System.Xml.Serialization.XmlSerializer"/>.
            </summary>
            <remarks>
            <para>
            Ensures that an <see cref="T:System.Xml.Serialization.XmlSerializer"/> for the type can be constructed without error.
            </para>
            </remarks>
            <param name="type">The type to verify.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.IsXmlSerializableType(System.Type,System.String,System.Object[])">
            <summary>
            Verifies that a type supports the Xml serialization protocol used by <see cref="T:System.Xml.Serialization.XmlSerializer"/>.
            </summary>
            <remarks>
            <para>
            Ensures that an <see cref="T:System.Xml.Serialization.XmlSerializer"/> for the type can be constructed without error.
            </para>
            </remarks>
            <param name="type">The type to verify.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.XmlSerialize(System.Object)">
            <summary>
            Verifies that an object can be serialized to Xml using an
            <see cref="T:System.Xml.Serialization.XmlSerializer"/> and returns the resulting Xml as a string.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <returns>The serialized Xml.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.XmlSerialize(System.Object,System.String,System.Object[])">
            <summary>
            Verifies that an object can be serialized to Xml using
            an <see cref="T:System.Xml.Serialization.XmlSerializer"/> and returns the resulting Xml as a string.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <returns>The serialized Xml.</returns>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.XmlDeserialize``1(System.String)">
            <summary>
            Verifies that an object can be deserialized from Xml using
            an <see cref="T:System.Xml.Serialization.XmlSerializer"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="xml"/> is null.
            </para>
            </remarks>
            <param name="xml">The Xml.</param>
            <returns>The deserialized object.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.XmlDeserialize``1(System.String,System.String,System.Object[])">
            <summary>
            Verifies that an object can be deserialized from Xml using
            an <see cref="T:System.Xml.Serialization.XmlSerializer"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="xml"/> is null.
            </para>
            </remarks>
            <param name="xml">The Xml.</param>
            <returns>The deserialized object.</returns>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.XmlSerializeThenDeserialize``1(``0)">
            <summary>
            Verifies that an object can be serialized then deserialized to and from Xml using
            an <see cref="T:System.Xml.Serialization.XmlSerializer"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <returns>The serialized then deserialized object.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.XmlSerializeThenDeserialize``1(``0,System.String,System.Object[])">
            <summary>
            Verifies that an object can be serialized then deserialized to and from Xml using
            an <see cref="T:System.Xml.Serialization.XmlSerializer"/> and returns the resulting deserialized object.
            </summary>
            <remarks>
            <para>
            The assertion fails if <paramref name="value"/> is null.
            </para>
            </remarks>
            <param name="value">The value.</param>
            <returns>The serialized then deserialized object.</returns>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Sorted``1(System.Collections.Generic.IEnumerable{``0},MbUnit.Framework.SortOrder)">
            <summary>
            Verifies that the sequence of values are sorted in the specified order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="sortOrder">The expected sort order.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Sorted``1(System.Collections.Generic.IEnumerable{``0},MbUnit.Framework.SortOrder,System.String,System.Object[])">
            <summary>
            Verifies that the sequence of values are sorted in the specified order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="sortOrder">The expected sort order.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Sorted``1(System.Collections.Generic.IEnumerable{``0},MbUnit.Framework.SortOrder,System.Collections.Generic.IComparer{``0})">
            <summary>
            Verifies that the sequence of values are sorted in the specified order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="sortOrder">The expected sort order.</param>
            <param name="comparer">A comparer instance to be used to compare two elements of the sequence, or null to use a default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Sorted``1(System.Collections.Generic.IEnumerable{``0},MbUnit.Framework.SortOrder,System.Collections.Generic.IComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that the sequence of values are sorted in the specified order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="sortOrder">The expected sort order.</param>
            <param name="comparer">A comparer instance to be used to compare two elements of the sequence, or null to use a default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Sorted``1(System.Collections.Generic.IEnumerable{``0},MbUnit.Framework.SortOrder,System.Comparison{``0})">
            <summary>
            Verifies that the sequence of values are sorted in the specified order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="sortOrder">The expected sort order.</param>
            <param name="compare">A comparison function to be used to compare two elements of the sequence, or null to use a default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Sorted``1(System.Collections.Generic.IEnumerable{``0},MbUnit.Framework.SortOrder,System.Comparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that the sequence of values are sorted in the specified order.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="sortOrder">The expected sort order.</param>
            <param name="comparer">A comparison function to be used to compare two elements of the sequence, or null to use a default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Distinct``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Verifies that the sequence of objects contains distinct values.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Distinct``1(System.Collections.Generic.IEnumerable{``0},System.String,System.Object[])">
            <summary>
            Verifies that the sequence of objects contains distinct values.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Distinct``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Verifies that the sequence of objects contains distinct values.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Distinct``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0},System.String,System.Object[])">
            <summary>
            Verifies that the sequence of objects contains distinct values.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Distinct``1(System.Collections.Generic.IEnumerable{``0},Gallio.Common.EqualityComparison{``0})">
            <summary>
            Verifies that the sequence of objects contains distinct values.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Distinct``1(System.Collections.Generic.IEnumerable{``0},Gallio.Common.EqualityComparison{``0},System.String,System.Object[])">
            <summary>
            Verifies that the sequence of objects contains distinct values.
            </summary>
            <typeparam name="T">The type of value.</typeparam>
            <param name="values">The sequence of values to be tested.</param>
            <param name="comparer">The comparer to use, or null to use the default one.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.That``1(``0,NHamcrest.IMatcher{``0})">
            <summary>
             Asserts that an item satisfies the condition specified by matcher.
            </summary>
            <param name="item">The item to test.</param>
            <param name="matcher">A <see cref="T:NHamcrest.IMatcher`1">matcher</see>.</param>
            <typeparam name="T">The static type accepted by the matcher.</typeparam>
        </member>
        <member name="M:MbUnit.Framework.Assert.That``1(``0,NHamcrest.IMatcher{``0},System.String,System.Object[])">
            <summary>
             Asserts that an item satisfies the condition specified by matcher.
            </summary>
            <param name="item">The item to test.</param>
            <param name="matcher">A <see cref="T:NHamcrest.IMatcher`1">matcher</see>.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <typeparam name="T">The static type accepted by the matcher.</typeparam>
        </member>
        <member name="P:MbUnit.Framework.Assert.Over">
            <summary>
            Provides methods for composing assertions to map over complex data structures.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.Assert.IsFailurePending">
            <summary>
            Returns true if there is a pending unreported assertion failure.
            </summary>
            <remarks>
            <para>
            This property is used in conjuction with the <see cref="M:MbUnit.Framework.Assert.Multiple(Gallio.Common.Action)"/>
            feature to determine whether there is a pending assertion failure yet
            to be reported within a multiple-assertion block.
            </para>
            </remarks>
        </member>
        <member name="T:MbUnit.Framework.Assert.Xml">
            <summary>
            Assertions for XML data.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.AreEqual(System.IO.TextReader,System.IO.TextReader)">
            <summary>
            Asserts that two XML fragments have the same content.
            </summary>
            <param name="expectedXmlReader">A reader to get the expected XML fragment.</param>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedXmlReader"/> or <paramref name="actualXmlReader"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.AreEqual(System.IO.TextReader,System.IO.TextReader,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that two XML fragments have the same content.
            </summary>
            <param name="expectedXmlReader">A reader to get the expected XML fragment.</param>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="options">Equality options.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedXmlReader"/>, <paramref name="actualXmlReader"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.AreEqual(System.IO.TextReader,System.IO.TextReader,System.String,System.Object[])">
            <summary>
            Asserts that two XML fragments have the same content.
            </summary>
            <param name="expectedXmlReader">A reader to get the expected XML fragment.</param>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedXmlReader"/> or <paramref name="actualXmlReader"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.AreEqual(System.IO.TextReader,System.IO.TextReader,MbUnit.Framework.XmlOptions,System.String,System.Object[])">
            <summary>
            Asserts that two XML fragments have the same content.
            </summary>
            <param name="expectedXmlReader">A reader to get the expected XML fragment.</param>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="options">Equality options.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedXmlReader"/>, <paramref name="actualXmlReader"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.AreEqual(System.String,System.String)">
            <summary>
            Asserts that two XML fragments have the same content.
            </summary>
            <param name="expectedXml">The expected XML fragment.</param>
            <param name="actualXml">The actual XML fragment.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedXml"/> or <paramref name="actualXml"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.AreEqual(System.String,System.String,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that two XML fragments have the same content.
            </summary>
            <param name="expectedXml">The expected XML fragment.</param>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="options">Equality options.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedXml"/>, <paramref name="actualXml"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.AreEqual(System.String,System.String,System.String,System.Object[])">
            <summary>
            Asserts that two XML fragments have the same content.
            </summary>
            <param name="expectedXml">The expected XML fragment.</param>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedXml"/> or <paramref name="actualXml"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.AreEqual(System.String,System.String,MbUnit.Framework.XmlOptions,System.String,System.Object[])">
            <summary>
            Asserts that two XML fragments have the same content.
            </summary>
            <param name="expectedXml">The expected XML fragment.</param>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="options">Equality options.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="expectedXml"/>, <paramref name="actualXml"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,System.String,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute.
            </summary>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,System.String,MbUnit.Framework.XmlOptions,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.String,System.String,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute.
            </summary>
            <remarks>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.String,System.String,MbUnit.Framework.XmlOptions,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.String,System.String,MbUnit.Framework.XmlOptions,System.String,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,System.String,MbUnit.Framework.XmlOptions,System.String)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that it has the expected value.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)"/>.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,System.String,MbUnit.Framework.XmlOptions,System.String,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that it has the expected value.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.Object[])"/>.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.String,System.String,MbUnit.Framework.XmlOptions,System.String)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that it has the expected value.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)"/>.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <param name="options">Options for the search.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
            <remarks>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute.
            </summary>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute.
            </summary>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that it has the expected value.
            </summary>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that it has the expected value.
            </summary>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <param name="options">Options for the search.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.Object[])"/>.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that it has the expected value.
            </summary>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that it has the expected value.
            </summary>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.Object[])"/>.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.IO.TextReader,System.String,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.IO.TextReader,System.String,MbUnit.Framework.XmlOptions,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that this element or attribute is unique in the entire fragment.
            </summary>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            <remarks>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.String,System.String,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.String,System.String,MbUnit.Framework.XmlOptions,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.IO.TextReader,System.String,System.String,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, that it has the expected value, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)"/>.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.IO.TextReader,System.String,MbUnit.Framework.XmlOptions,System.String,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, that it has the expected value, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.Object[])"/>.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.String,System.String,System.String,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, that it has the expected value, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)"/>.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.String,System.String,MbUnit.Framework.XmlOptions,System.String,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, that it has the expected value, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)"/>.
            </para>
            <para>
	  The path specified in <paramref name="searchedPath"/> should start with a slash character ('/').
	  Elements must be separated by a slash, and attributes denoted by a colon (':').
	</para><example>
	  <para>
	    Assuming the following XML fragment exits:
	  </para>
	  <code><![CDATA[
	    <Root>
		  <Parent>
		    <Child someAttribute="123" />
		  </Parent>
		</Root>
	  ]]></code>
	  <para>
		The following path would be valid:
	  </para>
	  <code><![CDATA[
		"/Root/Parent/Child:someAttribute"
	  ]]></code>
	</example>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            Options not related to the name case of elements and attributes are going to be ignored.
            </para>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, that it has the expected value, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)"/>.
            </para>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, that it has the expected value, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.IO.TextReader,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.Object[])"/>.
            </para>
            </remarks>
            <param name="actualXmlReader">A reader to get the actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXmlReader"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,System.String,MbUnit.Framework.XmlOptions)">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, that it has the expected value, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions)"/>.
            </para>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <param name="options">Options for the search.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Assert.Xml.IsUnique(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.String,System.Object[])">
            <summary>
            Asserts that the XML fragment contains the searched element or attribute, that it has the expected value, and that this element or attribute is unique in the entire fragment.
            </summary>
            <remarks>
            <para>
            If <paramref name="expectedValue"/> is set to <c>null</c>, the assertion behaves like <see cref="M:MbUnit.Framework.Assert.Xml.Exists(System.String,Gallio.Common.Xml.Paths.IXmlPathLoose,MbUnit.Framework.XmlOptions,System.String,System.Object[])"/>.
            </para>
            </remarks>
            <param name="actualXml">The actual XML fragment.</param>
            <param name="searchedPath">The path of the searched element or attribute in the XML fragment.</param>
            <param name="options">Options for the search.</param>
            <param name="expectedValue">The expected value of the searched item (element or attribute).</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="actualXml"/>, <paramref name="searchedPath"/>, or <paramref name="options"/> is null.</exception>
        </member>
        <member name="T:MbUnit.Framework.ExpectedInvalidOperationExceptionAttribute">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.InvalidOperationException"/>.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may optionally be specified.
            </para>
            </remarks>
        </member>
        <member name="T:MbUnit.Framework.ExpectedExceptionAttribute">
            <summary>
            Declares that the associated test is expected to throw an exception of
            a particular type.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may optionally be specified.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ExpectedExceptionAttribute.#ctor(System.Type)">
            <summary>
            Declares that the associated test is expected to throw an exception of
            a particular type.
            </summary>
            <param name="exceptionType">The expected exception type.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exceptionType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.ExpectedExceptionAttribute.#ctor(System.Type,System.String)">
            <summary>
            Declares that the associated test is expected to throw an exception of
            a particular type.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may also optionally be specified.
            </para>
            </remarks>
            <param name="exceptionType">The expected exception type.</param>
            <param name="message">The expected exception message, or null if not specified.
            May be a substring of the actual exception message.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exceptionType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.ExpectedExceptionAttribute.#ctor(System.Type,System.String,System.Type)">
            <summary>
            Declares that the associated test is expected to throw an exception of
            a particular type.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may also optionally be specified.
            </para>
            </remarks>
            <param name="exceptionType">The expected exception type.</param>
            <param name="message">The expected exception message, or null if not specified.
            May be a substring of the actual exception message.</param>
            <param name="innerExceptionType">The expected inner exception type, or null if not specified.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exceptionType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.ExpectedExceptionAttribute.DecorateMethodTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ExpectedExceptionAttribute.ExceptionType">
            <summary>
            Gets the expected exception type.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.ExpectedExceptionAttribute.Message">
            <summary>
            Gets or sets the expected exception message, or null if none specified.
            May be a substring of the actual exception message.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.ExpectedExceptionAttribute.InnerExceptionType">
            <summary>
            Gets or sets expected inner exception type.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ExpectedInvalidOperationExceptionAttribute.#ctor">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.InvalidOperationException"/>.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ExpectedInvalidOperationExceptionAttribute.#ctor(System.String)">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.InvalidOperationException"/>.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may also optionally be specified.
            </para>
            </remarks>
            <param name="message">The expected exception message, or null if not specified.</param>
        </member>
        <member name="T:MbUnit.Framework.RandomGenerationDataAttribute">
            <summary>
            Provides a column of random values as a data source.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.GenerationDataAttribute">
            <summary>
            Provides a column of sequential values as a data source.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.DataAttribute">
            <summary>
            An abstract base class for MbUnit attributes that contribute values to data sources
            along with metadata such a description or expected exception type.
            </summary>
            <remarks>
            <para>
            You may define a new data source by creating a subclass of this attribute
            and overriding <see cref="M:Gallio.Framework.Pattern.DataPatternAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)"/>.
            </para>
            </remarks>
            <seealso cref="T:Gallio.Framework.Pattern.DataPatternAttribute"/> for more information about data binding attributes in general.
        </member>
        <member name="M:MbUnit.Framework.DataAttribute.GetMetadata">
            <summary>
            Gets the metadata for the data source.
            </summary>
            <returns>The metadata keys and values.</returns>
        </member>
        <member name="P:MbUnit.Framework.DataAttribute.Description">
            <summary>
            Gets or sets a description of the values provided by the data source.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.DataAttribute.ExpectedException">
            <summary>
            Gets or sets the type of exception that should be thrown when the
            values provided by the data source are consumed by test.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.DataAttribute.ExpectedExceptionMessage">
            <summary>
            Gets or sets the message of the exception that should be thrown when the
            values provided by the data source are consumed by test.
            May be a substring of the actual exception message.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.DataAttribute.ExpectedInnerException">
            <summary>
            Gets or sets the type of inner exception that should be set in an
            exception thrown when the values provided by the data source are consumed
            by test.
            </summary>
            <remarks>
            <para>
            This value is ignored if the <see cref="P:MbUnit.Framework.DataAttribute.ExpectedException"/> property is not set.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.GenerationDataAttribute.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.GenerationDataAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.GenerationDataAttribute.GetGenerator(Gallio.Framework.Pattern.IPatternScope)">
            <summary>
            Returns a generator of random values.
            </summary>
            <param name="scope">The containing scope.</param>
            <returns>A generator.</returns>
        </member>
        <member name="M:MbUnit.Framework.RandomGenerationDataAttribute.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.RandomGenerationDataAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.RandomGenerationDataAttribute.GetRandomGeneratorSeed(Gallio.Framework.Pattern.IPatternScope)">
            <summary>
            Returns the seed of the inner random number generator.
            </summary>
            <param name="scope">The scope.</param>
            <returns>The seed value.</returns>
        </member>
        <member name="P:MbUnit.Framework.RandomGenerationDataAttribute.NullableSeed">
            <summary>
            Gets the nullable seed value.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.RandomGenerationDataAttribute.Seed">
            <summary>
            Gets or sets the seed value for the random generator.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.DisableAttribute">
            <summary>
            Specifies that a test fixture or a test method is abstract and should not run.
            </summary>
            <remarks>
            <para>
            The attribute hides the test methods in the current test fixture or a test method itself, 
            so they can be consumed properly in the desired context from any derived concrete test fixtures.
            </para>
            <para>
            This attribute is not inherited.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.DisableAttribute.#ctor">
            <summary>
            Indicates that this test method/fixture is disabled.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.DisableAttribute.#ctor(System.String)">
            <summary>
             Indicates that this test method/fixture is disabled and provides a reason.
            </summary>
            <param name="reason">The reason for which the test method/fixture is disabled.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reason"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.DisableAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.DisableAttribute.Reason">
            <summary>
            Gets the reason that the test method/fixture is disabled.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.AnnotationAttribute">
            <summary>
            Associates an annotation message of the specified type with the code element.
            </summary>
            <remarks>
            <para>
            An annotation is a message that is associated with code. This is different
            from the metadata that may be associated with a test because an annotation
            can apply to code elements that are not tests.
            </para>
            <para>
            For example, if an error occurs while parsing the declarative attribute 
            structure that defines a test, then the test itself may not be added to
            the test tree.  Instead, the Pattern Test Framework will associated an
            error annotation with the point of definition of the test.  This annotation
            is displayed by the test runner as an error.  Some test runners, such as the
            ReSharper test runner, will actually highlight the annotated element in the
            IDE using an error stripe.
            </para>
            <para>
            This attribute makes it possible to add annotations to code elements
            declaratively.
            </para>
            <para>
            Note: The annotation will only be added if the associated code element is
            traversed during the normal sequence of test exploration.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.AnnotationAttribute.#ctor(Gallio.Model.AnnotationType,System.String)">
            <summary>
            Associates an annotation message of the specified type with the code element.
            </summary>
            <param name="type">The annotation type.</param>
            <param name="message">The annotation message.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message"/> is null.</exception>
        </member>
        <member name="T:MbUnit.Framework.ApartmentStateAttribute">
            <summary>
            Sets the apartment state to be used to run the decorated test and its children
            unless subsequently overridden.
            </summary>
            <remarks>
            <para>
            If no apartment state is specified or if it is <see cref="F:System.Threading.ApartmentState.Unknown"/>
            the test will inherit the apartment state of its parent test.  Consequently if the apartment
            state is set on the fixture then its tests will use the same apartment state unless overridden.
            </para>
            <para>
            The default apartment state for a test assembly is <see cref="F:System.Threading.ApartmentState.STA"/> and
            may be overridden by setting <see cref="T:MbUnit.Framework.ApartmentStateAttribute"/> attribute on the assembly.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ApartmentStateAttribute.#ctor(System.Threading.ApartmentState)">
            <summary>
            Sets the apartment state to be used to run the decorated test and its children
            unless subsequently overridden.
            </summary>
            <remarks>
            <para>
            If no apartment state is specified or if it is <see cref="F:System.Threading.ApartmentState.Unknown"/>
            the test will inherit the apartment state of its parent test.  Consequently if the apartment
            state is set on the fixture then its tests will use the same apartment state unless overridden. 
            </para>
            <para>
            The default apartment state for a test assembly is <see cref="F:System.Threading.ApartmentState.STA"/> and
            may be overridden by setting <see cref="T:MbUnit.Framework.ApartmentStateAttribute"/> attribute on the assembly.
            </para>
            </remarks>
            <param name="apartmentState">The apartment state to use.</param>
        </member>
        <member name="M:MbUnit.Framework.ApartmentStateAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ApartmentStateAttribute.ApartmentState">
            <summary>
            Gets the apartment state to be used to run the decorated test.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.AssemblyFixtureAttribute">
            <summary>
            Declares that a class contains assembly-level setup and teardown methods.
            </summary>
            <remarks>
            <para>
            The assembly fixture attribute is applied to a class that contains setup and
            teardown methods that are to be applied at the assembly level.  Conceptually,
            the <see cref="T:MbUnit.Framework.AssemblyFixtureAttribute"/> adds new behavior to an assembly-level
            test fixture that contains all of the test fixtures within the assembly.
            </para>
            <para>
            The following attributes are typically used within an assembly fixture:
            <list type="bullet">
            <item><see cref="T:MbUnit.Framework.FixtureSetUpAttribute"/>: Performs setup activities before any
            test fixtures within the assembly are executed.</item>
            <item><see cref="T:MbUnit.Framework.FixtureTearDownAttribute"/>: Performs teardown activities after all
            test fixtures within the assembly are executed.</item>
            <item><see cref="T:MbUnit.Framework.SetUpAttribute"/>: Performs setup activities before each
            test fixture within the assembly is executed.</item>
            <item><see cref="T:MbUnit.Framework.TearDownAttribute"/>: Performs teardown activities after each
            test fixture within the assembly is executed.</item>
            </list>
            </para>
            <para>
            It is also possible to use other attributes as with an ordinary <see cref="T:MbUnit.Framework.TestFixtureAttribute"/>.
            An assembly fixture also supports data binding.  When data binding is used on an assembly
            fixture, it will cause all test fixtures within the assembly to run once for each combination
            of data values used.
            </para>
            <para>
            The class must have a public default constructor. The class may not be static.
            </para>
            <para>
            There must only be at most one class with an <see cref="T:MbUnit.Framework.AssemblyFixtureAttribute"/>
            within any given assembly.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.AssemblyFixtureAttribute.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.AssemblyFixtureAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ITypeInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.AssemblyFixtureAttribute.SetTestSemantics(Gallio.Framework.Pattern.ITestBuilder,Gallio.Common.Reflection.ITypeInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.BindAttribute">
            <summary>
            The bind attribute overrides the default binding rules for a test parameter
            by specifying a different data source, a binding path or an index.
            </summary>
            <remarks>
            <para>
            At most one such attribute may appear on any given test parameter.
            </para>
            <para>
            The bind attribute supports more complex data binding binding scenarios.
            For example, in a typical use of <see cref="T:MbUnit.Framework.CsvDataAttribute"/>, the binding
            of test parameters to CSV columns is performed by name and by position.
            This assumes that the CSV file either contains a header with columns that
            are named the same as the test parameter or that the columns appear in the
            same order as the test parameters.  Should this not be the case, we may
            apply the <see cref="T:MbUnit.Framework.BindAttribute"/> to the test parameter to specify
            an explicit column name (by setting the path) or column position (by
            setting the index).
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.BindAttribute.#ctor(System.String)">
            <summary>
            Sets the binding path for the associated test parameter.
            </summary>
            <param name="path">The binding path.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="path"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.BindAttribute.#ctor(System.Int32)">
            <summary>
            Sets the binding index for the associated test parameter.
            </summary>
            <param name="index">The binding index.</param>
        </member>
        <member name="M:MbUnit.Framework.BindAttribute.DecorateTestParameter(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ISlotInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.BindAttribute.Source">
            <summary>
            Gets or sets the name of the data source to bind, or null to bind
            the default data source for the test parameter.
            </summary>
            <remarks>
            <para>
            The default source for a test parameter is the anonymous data source defined
            within the scope of the test parameter or by its enclosing test.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.BindAttribute.Path">
            <summary>
            Gets the binding path, or null if none.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.BindAttribute.Index">
            <summary>
            Gets the binding index, or null if none.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ColumnAttribute">
            <summary>
            Provides a column of literal values as a data source.
            </summary>
            <remarks>
            <para>
            This attribute is a compact equivalent to providing a sequence of values
            using <see cref="T:MbUnit.Framework.RowAttribute"/> with 1 element in each.  It is particularly
            useful for specifying combinatorial tests.
            </para>
            <para>
            By default, the column provided by the column data source is unnamed.
            Use <see cref="T:MbUnit.Framework.HeaderAttribute"/> to provide an explicit name for the column.
            </para>
            </remarks>
            <example><![CDATA[
            [Test]
            public void MyTest([Column(1, 2, 3)] int x, [Column("a", "b")] string y, [Column(0.1, 0.2)] double z)
            {
                // This test will run 3 * 2 * 2 = 12 times with all combinations of
                // the values specified in the column for each parameter.  This test
                // is combinatorial because the values are assigned to each parameter
                // separately.
            }
            ]]></example>
            <seealso cref="T:MbUnit.Framework.RowAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.ColumnAttribute.#ctor(System.Object[])">
            <summary>
            Adds a column of literal values.
            </summary>
            <remarks>
            <para>
            There exist two ambiguities in the use of this attribute that
            result from how the C# compiler handles functions that accept
            a variable number of arguments.
            </para>
            <para>
            Case 1: If there is only 1 argument and its value is <c>null</c>, the
            compiler will pass a <c>null</c> array reference to the attribute constructor.
            Since the value array cannot be null, the attribute will assume that
            you meant to create an array consiting of a single <c>null</c>.
            </para>
            <code><![CDATA[
            // Example of case #1.
            // The attribute will assume that you intended to pass in a single null value.
            [Test]
            [Column(null)]
            public void Test(object value)
            {
                Assert.IsNull(value);
            }
            ]]></code>
            <para>
            Case 2: If there is only 1 argument and its value is an object array, the
            compiler will pass the array itself as the argument values.  Unfortunately,
            the attribute constructor cannot distinguish this case from the usual case
            when multiple arguments are present.  So you need to disambiguate this case
            explicitly.
            </para>
            <code><![CDATA[
            // Example of case #2.
            // The attribute will treat both of the following declarations equivalently
            // contrary to what we probably intend.
            [Column(new object[] { 1, 2, 3 })]
            [Column(1, 2, 3)]
            ]]></code>
            <para>
            To fix this case, you must provide explicit disambiguation.
            (We cannot do it automatically based on the number of method parameters provided
            because the row attribute can be applied to other elements besides methods and
            its contents might be consumed in other ways.)
            </para>
            <code><![CDATA[
            // Example of case #2, disambiguated to define a column that contains only an array of values.
            [Test]
            [Column(new object[] { new object[] { 1, 2, 3 })]
            public void Test(object[] values)
            {
                ArrayAssert.AreElementsEqual(new object[] { 1, 2, 3 }, values);
            }
            ]]></code>
            </remarks>
            <param name="values">The array of values in the column.</param>
        </member>
        <member name="M:MbUnit.Framework.ColumnAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ColumnAttribute.Values">
            <summary>
            Gets the array of values in the column.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.CombinatorialJoinAttribute">
            <summary>
            Sets the join strategy of a test to be combinatorial.
            </summary>
            <remarks>
            <para>
            The test will be executed using all possible combinations of values from each data source.
            </para>
            <para>
            If there are two data sources, A and B with values A1, A2, B1 and B2, then the test will
            be run four times with inputs: (A1, B1), (A1, B2), (A2, B1) and (A2, B2).
            </para>
            <para>
            This is the default join strategy for tests.  So you do not need to specify this attribute
            unless you want to be explicit about selecting it.
            </para>
            </remarks>
            <seealso cref="T:Gallio.Framework.Data.CombinatorialJoinStrategy"/>
            <seealso cref="T:MbUnit.Framework.SequentialJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.PairwiseJoinAttribute"/>
        </member>
        <member name="T:MbUnit.Framework.JoinAttribute">
            <summary>
            An abstract class for attributes that specify the join strategy of a test.
            </summary>
            <remarks>
            <para>
            You may define a new join strategy by creating a subclass of this attribute
            and overriding <see cref="M:MbUnit.Framework.JoinAttribute.GetJoinStrategy"/>.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.JoinAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.JoinAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <summary>
            Verifies that the attribute is being used correctly.
            </summary>
            <param name="scope">The scope.</param>
            <param name="codeElement">The code element.</param>
            <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
        </member>
        <member name="M:MbUnit.Framework.JoinAttribute.GetJoinStrategy">
            <summary>
            Gets the join strategy to use.
            </summary>
            <returns>The join strategy.</returns>
        </member>
        <member name="M:MbUnit.Framework.CombinatorialJoinAttribute.GetJoinStrategy">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.Core.HashStore">
            <summary>
            A map that stores the occurences of hash code values and computes various statistical data.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.Core.HashStore.#ctor(System.Collections.Generic.IEnumerable{System.Int32})">
            <summary>
            Constructs a map from the specified hash codes.
            </summary>
            <param name="hashes">An enumeration of hash codes.</param>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.Core.HashStore.Result">
            <summary>
            Gets the results of the analysis.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.Core.HashStoreResult">
            <summary>
            Simple container for hash code stochastic analysis results.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.Core.HashStoreResult.#ctor(System.Int32,System.Double,System.Double)">
            <summary>
            Constructor.
            </summary>
            <param name="statisticalPopulation">The total number of hash codes used to perform the analysis.</param>
            <param name="collisionProbability">The probability that two values randomly chosen have the same hash code.</param>
            <param name="uniformDistributionDeviationProbability">The probability of deviation from a uniform distribution.</param>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.Core.HashStoreResult.StatisticalPopulation">
            <summary>
            Gets the total number of hash codes used to perform the analysis.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.Core.HashStoreResult.CollisionProbability">
            <summary>
            Gets the probability that two values randomly chosen have the same hash code.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.Core.HashStoreResult.UniformDistributionDeviationProbability">
            <summary>
            Gets the probability of deviation from a uniform distribution.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.HashCodeAcceptanceContract`1">
            <summary>
            Contract for verifying the efficiency of the hash code generation algorithm for a given type.
            </summary>
            <remarks>
            <para>
            Built-in verifications:
            <list type="bullet">
            <item>
            <strong>CollisionProbabilityTest</strong> : The probability of hash code collision for the specified set of instances
            is less than the specified limit.
            </item>
            <item>
            <strong>UniformDistributionTest</strong> : The probability of deviation from uniform distribution is less than
            the specified limit.
            </item>
            </list>
            </para>
            </remarks>
            <example>
            The following examples shows a simple class that overrides the <see cref="M:System.Object.GetHashCode"/> method, and
            the test which verifies that the algorithm is resistant to hash code collision against the specified set of
            distinct values.
            <code><![CDATA[
            public class Foo
            {
                private readonly int key1;
                private readonly int key2;
                
                public Foo(int key1, int key2)
                {
                    this.name = key1;
                    this.key2 = key2;
                }
            
                public override int GetHashCode()
                {
                    int hash = 17;
                    hash = hash * 23 + id1.GetHashCode();
                    hash = hash * 23 + id2.GetHashCode();
                    return hash;
                }
            }
            
            [TestFixture]
            public class FooTest
            {
                [VerifyContract]
                public readonly IContract HashCodeAcceptanceTests = new HashCodeAcceptanceContract<Foo>
                {
                    CollisionProbabilityLimit = CollisionProbability.VeryLow,
                    UniformDistributionQuality = UniformDistributionQuality.Excellent,
                    DistinctInstances = GetDistinctInstances();
                };
            
                private static IEnumerable<Foo> GetDistinctInstances()
                {
                    for(int i=0; i<1000; i++)
                        for(int j=0; j<1000; j++)
                            yield return new Foo(i, j);
                }
            }
            ]]></code>
            </example>
            <typeparam name="T">The type of the object for which the hash code generation must be evaluated.</typeparam>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.AbstractContract">
            <summary>
            Abstract base class for contracts.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.IContract">
            <summary>
            Describes a contract that can be verified.
            </summary>
            <remarks>
            <para>
            Contracts can be composed together into more complex forms by combining their
            lists of verification tests to create test suites.  This enables the implementation
            of one contract to leverage that of another.
            </para>
            </remarks>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.AbstractContract"/>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.IContract.GetContractVerificationTests(MbUnit.Framework.ContractVerifiers.Core.ContractVerificationContext)">
            <summary>
            Gets an enumeration of test cases whose purpose is to verify the contract.
            </summary>
            <param name="context">The context of execution.</param>
            <returns>An enumeration of tests.</returns>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.AbstractContract.GetContractVerificationTests(MbUnit.Framework.ContractVerifiers.Core.ContractVerificationContext)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.AbstractContract.GetContractVerificationTests">
            <summary>
            Gets an enumeration of test cases whose purpose is to verify the contract.
            </summary>
            <returns>An enumeration of tests.</returns>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.AbstractContract.GetInterface(System.Type,System.Type)">
            <summary>
            Gets the interface of a particular type if it is implemented by another type,
            otherwise returns null.
            </summary>
            <param name="implementationType">The implementation type.</param>
            <param name="interfaceType">The interface type.</param>
            <returns>The interface type or null if it is not implemented by the implementation type.</returns>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.AbstractContract.MethodExists(System.Reflection.MethodInfo,System.String,System.Boolean)">
            <summary>
            Verifies that the specified method info object is not null, indicating that the
            method exists, otherwise raises an assertion failure and describes the expected method signature.
            </summary>
            <param name="method">The method, or null if missing.</param>
            <param name="methodSignature">The expected method signature for diagnostic output.</param>
            <param name="failsIfNotExists">Thrown a assertion failure exception if the method does not exist.</param>
            <returns>True if the method exists; otherwise false.</returns>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.AbstractContract.Context">
            <summary>
            Gets the execution context.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.HashCodeAcceptanceContract`1.#ctor">
            <summary>
            Constructs a contract verifier to evaluate the efficiency of the hash code generation algorithm for a given type.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.HashCodeAcceptanceContract`1.GetContractVerificationTests">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.HashCodeAcceptanceContract`1.CollisionProbabilityLimit">
            <summary>
            Gets or sets the maximum collision probability tolerated.
            </summary>
            <remarks>
            <para>
            If the actual probability calculated from the specified distinct instances is greater
            than this limit, the test will fail.
            </para>
            <para>
            The default is 0.01 (1%).
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.HashCodeAcceptanceContract`1.UniformDistributionQuality">
            <summary>
            Gets or sets the required significance level to determine whether the distribution is uniform.
            </summary>
            <remarks>
            <para>
            If the actual probability calculated from the specified distinct instances is greater than 
            the specified value, the test fails.
            </para>
            <para>
            The default is 0.05 (5%).
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.HashCodeAcceptanceContract`1.DistinctInstances">
            <summary>
            Gets or sets an enumeration of distinct instances to extract the hash code from.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.CollisionProbability">
            <summary>
            A list of common limits for the collision probability.
            </summary>
            <seealso cref="P:MbUnit.Framework.ContractVerifiers.HashCodeAcceptanceContract`1.CollisionProbabilityLimit"/>
        </member>
        <member name="F:MbUnit.Framework.ContractVerifiers.CollisionProbability.Perfect">
            <summary>
            No collision allowed (0%)
            </summary>
        </member>
        <member name="F:MbUnit.Framework.ContractVerifiers.CollisionProbability.VeryLow">
            <summary>
            Represents a very low probability of collision (less than 1%) 
            </summary>
        </member>
        <member name="F:MbUnit.Framework.ContractVerifiers.CollisionProbability.Low">
            <summary>
            Represents a low probability of collision (less than 5%) 
            </summary>
        </member>
        <member name="F:MbUnit.Framework.ContractVerifiers.CollisionProbability.Medium">
            <summary>
            Represents a reasonable probability of collision (less than 10%) 
            </summary>
        </member>
        <member name="F:MbUnit.Framework.ContractVerifiers.CollisionProbability.High">
            <summary>
            Represents a mediocre probability of collision (less than 30%) 
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.UniformDistributionQuality">
            <summary>
            A list of common limits for the uniform distribution significance level.
            </summary>
            <seealso cref="P:MbUnit.Framework.ContractVerifiers.HashCodeAcceptanceContract`1.UniformDistributionQuality"/>
        </member>
        <member name="F:MbUnit.Framework.ContractVerifiers.UniformDistributionQuality.Excellent">
            <summary>
            Nearly uniform (less than 1% of deviation probability)
            </summary>
        </member>
        <member name="F:MbUnit.Framework.ContractVerifiers.UniformDistributionQuality.Good">
            <summary>
            Characterizes a roughly uniform distribution (less than 5% of deviation probability)
            </summary>
        </member>
        <member name="F:MbUnit.Framework.ContractVerifiers.UniformDistributionQuality.Fair">
            <summary>
            Characterizes a reasonably uniform distribution (less than 10% of deviation probability)
            </summary>
        </member>
        <member name="F:MbUnit.Framework.ContractVerifiers.UniformDistributionQuality.Mediocre">
            <summary>
            Characterizes a poor uniform distribution (less than 30% of deviation probability) 
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.EquivalenceClass">
            <summary>
            Contains a collection of equivalent object instances. 
            </summary>
            <remarks>
            <para>
            All the elements of the collection should be equal together, in
            the sense of the local implementation of an equality contract
            (<see cref="T:System.IEquatable`1"/>) or a comparison contract 
            (<see cref="T:System.IComparable`1"/>).
            </para>
            <para>
            Equivalence classes are used by some contract verifiers such as 
            <see cref="T:MbUnit.Framework.ContractVerifiers.EqualityContract`1"/> to check for 
            the correct implementation of object equality or comparison.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.EquivalenceClass.#ctor(System.Object[])">
            <summary>
            Constructs a class of equivalent instances.
            </summary>
            <remarks>
            <para>
            All the elements of the collection should be equal together, in
            the sense of the local implementation of an equality contract
            (<see cref="T:System.IEquatable`1"/>) or a comparison contract 
            (<see cref="T:System.IComparable`1"/>).
            </para>
            </remarks>
            <param name="equivalentInstances">The type of equivalent object instances.</param>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.EquivalenceClass.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>An enumerator object that can be used to iterate through the collection.</returns>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.EquivalenceClassCollection">
            <summary>
            A collection of equivalence classes. 
            </summary>
            <remarks>
            <para>
            Equivalent classes are used by some contract verifiers such as 
            <see cref="T:MbUnit.Framework.ContractVerifiers.EqualityContract`1"/> and <see cref="T:MbUnit.Framework.ContractVerifiers.ComparisonContract`1"/> 
            to check for the correct implementation of object equality or comparison.
            </para>
            <para>
            Use the default constructor followed by a list initializer to create a 
            collection of equivalence classes which contains a variable number of object instances.
            <code><![CDATA[
            var collection = new EquivalenceClassCollection
            {
                { new Foo(1), new Foo("One") },
                { new Foo(2), new Foo("Two") },
                { new Foo(3), new Foo("Three") }
            };
            ]]></code>
            </para>
            <para>
            Use the single-parameter constructor to create a collection of equivalence classes 
            which contains one single object instance each.
            <code><![CDATA[
            var collection = new EquivalenceClassCollection(new Foo(1), new Foo(2), new Foo(3));
            ]]></code>
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.EquivalenceClassCollection.#ctor">
            <summary>
            Constructs an empty collection of equivalence classes.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.EquivalenceClassCollection.#ctor(System.Collections.IEnumerable)">
            <summary>
            Constructs a collection of equivalence classes from the specified distinct object instances.
            </summary>
            <remarks>
            <para>
            The resulting collection contains as many equivalence class as provided instances. Each equivalence
            class contains one single object. To construct a collection with equivalence classes containing
            several equivalent instances, use preferably the default constructor followed by a list initializer.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            var collection = new EquivalenceClassCollection<Foo>
            {
                { new Foo(1), new Foo("One") },
                { new Foo(2), new Foo("Two") },
                { new Foo(3), new Foo("Three") }
            };
            ]]></code>
            </example>
            <param name="distinctInstances">An enumeration of distinct instances.</param>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.EquivalenceClassCollection.Add(System.Object[])">
            <summary>
            Adds to the collection a new equivalence class which contains the specified objects.
            </summary>
            <param name="equivalentInstances">An array of equivalent instances.</param>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.EquivalenceClassCollection.GetEnumerator">
            <summary>
            Returns a strongly-typed enumerator that iterates through the collection.
            </summary>
            <returns>A strongly-typed enumerator.</returns>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.EquivalenceClassCollection.Count">
            <summary>
            Gets the number of equivalence classes in the collection.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.EquivalenceClassCollection.Item(System.Int32)">
            <summary>
            Gets the equivalence class located at the specified index.
            </summary>
            <param name="index">The searched index.</param>
            <returns>The equivalence class at the specified index.</returns>
        </member>
        <member name="T:MbUnit.Framework.DataGenerators">
            <summary>
            Helper methods to quickly combine and generate random or constrained values for data-driven tests.
            </summary>
            <summary>
            Helper methods to quickly combine and generate random or constrained values for data-driven tests.
            </summary>
            <summary>
            Helper methods to quickly combine and generate random or constrained values for data-driven tests.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Join``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1})">
            <summary>
            Joins the two specified enumerations of values into a single enumeration of paired values 
            by applying the default combinatorial join strategy.
            </summary>
            <typeparam name="T1">The type of the values in the first enumeration.</typeparam>
            <typeparam name="T2">The type of the values in the first enumeration.</typeparam>
            <param name="values1">The first enumeration of values.</param>
            <param name="values2">The second enumeration of values.</param>
            <returns>The resulting enumeration of paired values.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="values1"/> or <paramref name="values2"/> is null.</exception>
            <seealso cref="M:MbUnit.Framework.DataGenerators.Join``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},MbUnit.Framework.JoinStrategy)"/>
            <seealso cref="T:MbUnit.Framework.CombinatorialJoinAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Join``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},MbUnit.Framework.JoinStrategy)">
            <summary>
            Joins the two specified enumerations of values into a single enumeration of paired values 
            by applying the specified join strategy.
            </summary>
            <typeparam name="T1">The type of the values in the first enumeration.</typeparam>
            <typeparam name="T2">The type of the values in the first enumeration.</typeparam>
            <param name="values1">The first enumeration of values.</param>
            <param name="values2">The second enumeration of values.</param>
            <param name="joinStrategy">The join strategy to use.</param>
            <returns>The resulting enumeration of paired values.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="values1"/> or <paramref name="values2"/> is null.</exception>
            <seealso cref="M:MbUnit.Framework.DataGenerators.Join``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1})"/>
            <seealso cref="T:MbUnit.Framework.CombinatorialJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.SequentialJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.PairwiseJoinAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Join``3(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Collections.Generic.IEnumerable{``2})">
            <summary>
            Joins the three specified enumerations of values into a single enumeration of triplet values 
            by applying the default combinatorial join strategy.
            </summary>
            <typeparam name="T1">The type of the values in the first enumeration.</typeparam>
            <typeparam name="T2">The type of the values in the second enumeration.</typeparam>
            <typeparam name="T3">The type of the values in the third enumeration.</typeparam>
            <param name="values1">The first enumeration of values.</param>
            <param name="values2">The second enumeration of values.</param>
            <param name="values3">The third enumeration of values.</param>
            <returns>The resulting enumeration of triplet values.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="values1"/>, <paramref name="values2"/>, or <paramref name="values3"/> is null.</exception>
            <seealso cref="M:MbUnit.Framework.DataGenerators.Join``3(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Collections.Generic.IEnumerable{``2},MbUnit.Framework.JoinStrategy)"/>
            <seealso cref="T:MbUnit.Framework.CombinatorialJoinAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Join``3(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Collections.Generic.IEnumerable{``2},MbUnit.Framework.JoinStrategy)">
            <summary>
            Joins the two specified enumerations of values into a single enumeration of triplet values 
            by applying the specified join strategy.
            </summary>
            <typeparam name="T1">The type of the values in the first enumeration.</typeparam>
            <typeparam name="T2">The type of the values in the second enumeration.</typeparam>
            <typeparam name="T3">The type of the values in the third enumeration.</typeparam>
            <param name="values1">The first enumeration of values.</param>
            <param name="values2">The second enumeration of values.</param>
            <param name="values3">The third enumeration of values.</param>
            <param name="joinStrategy">The join strategy to use.</param>
            <returns>The resulting enumeration of triplet values.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="values1"/>, <paramref name="values2"/>, or <paramref name="values3"/> is null.</exception>
            <seealso cref="M:MbUnit.Framework.DataGenerators.Join``3(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Collections.Generic.IEnumerable{``2})"/>
            <seealso cref="T:MbUnit.Framework.CombinatorialJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.SequentialJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.PairwiseJoinAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Join(System.Collections.IEnumerable[])">
            <summary>
            Joins the two specified enumerations of values into a single enumeration of paired values 
            by applying the default combinatorial join strategy.
            </summary>
            <param name="values">An array of enumerations of values.</param>
            <returns>The resulting enumeration of combined values in arrays.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="values"/> is null.</exception>
            <seealso cref="M:MbUnit.Framework.DataGenerators.Join(MbUnit.Framework.JoinStrategy,System.Collections.IEnumerable[])"/>
            <seealso cref="T:MbUnit.Framework.CombinatorialJoinAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Join(MbUnit.Framework.JoinStrategy,System.Collections.IEnumerable[])">
            <summary>
            Joins the two specified enumerations of values into a single enumeration of paired values 
            by applying the specified join strategy.
            </summary>
            <param name="joinStrategy">The join strategy to use.</param>
            <param name="values">An array of enumerations of values.</param>
            <returns>The resulting enumeration of paired values.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="values"/> is null.</exception>
            <seealso cref="M:MbUnit.Framework.DataGenerators.Join(System.Collections.IEnumerable[])"/>
            <seealso cref="T:MbUnit.Framework.CombinatorialJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.SequentialJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.PairwiseJoinAttribute"/>
        </member>
        <member name="T:MbUnit.Framework.DataGenerators.Random">
            <summary>
            Generates random values.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Random.Numbers(System.Int32,System.Decimal,System.Decimal)">
            <summary>
            Returns the an enumeration of random numbers.
            </summary>
            <param name="count">The number of strings to generate.</param>
            <param name="minimum">The lower bound of the range.</param>
            <param name="maximum">The upper bound of the range.</param>
            <returns>An enumeration of random number values.</returns>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Random.Numbers(System.Int32,System.Double,System.Double)">
            <summary>
            Returns the an enumeration of random numbers.
            </summary>
            <param name="count">The number of strings to generate.</param>
            <param name="minimum">The lower bound of the range.</param>
            <param name="maximum">The upper bound of the range.</param>
            <returns>An enumeration of random number values.</returns>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Random.Numbers(System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns the an enumeration of random numbers.
            </summary>
            <param name="count">The number of strings to generate.</param>
            <param name="minimum">The lower bound of the range.</param>
            <param name="maximum">The upper bound of the range.</param>
            <returns>An enumeration of random number values.</returns>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Random.Numbers(System.Int32,System.Decimal,System.Decimal,System.Int32)">
            <summary>
            Returns the an enumeration of random numbers.
            </summary>
            <param name="count">The number of strings to generate.</param>
            <param name="minimum">The lower bound of the range.</param>
            <param name="maximum">The upper bound of the range.</param>
            <param name="seed">A seed value to initialize the random number generator.</param>
            <returns>An enumeration of random number values.</returns>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Random.Numbers(System.Int32,System.Double,System.Double,System.Int32)">
            <summary>
            Returns the an enumeration of random numbers.
            </summary>
            <param name="count">The number of strings to generate.</param>
            <param name="minimum">The lower bound of the range.</param>
            <param name="maximum">The upper bound of the range.</param>
            <param name="seed">A seed value to initialize the random number generator.</param>
            <returns>An enumeration of random number values.</returns>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Random.Numbers(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns the an enumeration of random numbers.
            </summary>
            <param name="count">The number of strings to generate.</param>
            <param name="minimum">The lower bound of the range.</param>
            <param name="maximum">The upper bound of the range.</param>
            <param name="seed">A seed value to initialize the random number generator.</param>
            <returns>An enumeration of random number values.</returns>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Random.Strings(System.Int32,System.String)">
            <summary>
            Returns an enumeration of random strings based on a regular expression filter.
            </summary>
            <param name="count">The number of strings to generate.</param>
            <param name="regularExpressionPattern">The regular expression filter.</param>
            <returns>An enumeration of random string values.</returns>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Random.Strings(System.Int32,MbUnit.Framework.RandomStringStock)">
            <summary>
            Returns an enumeration of random strings from a pre-existing stock of values.
            </summary>
            <param name="count">The number of strings to generate.</param>
            <param name="stock">A stock of preset values.</param>
            <returns>An enumeration of random string values.</returns>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Random.Strings(System.Int32,System.String,System.Int32)">
            <summary>
            Returns an enumeration of random strings based on a regular expression filter.
            </summary>
            <param name="count">The number of strings to generate.</param>
            <param name="regularExpressionPattern">The regular expression filter.</param>
            <param name="seed">A seed value to initialize the random number generator.</param>
            <returns>An enumeration of random string values.</returns>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Random.Strings(System.Int32,MbUnit.Framework.RandomStringStock,System.Int32)">
            <summary>
            Returns an enumeration of random strings from a pre-existing stock of values.
            </summary>
            <param name="count">The number of strings to generate.</param>
            <param name="stock">A stock of preset values.</param>
            <param name="seed">A seed value to initialize the random number generator.</param>
            <returns>An enumeration of random string values.</returns>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="T:MbUnit.Framework.DataGenerators.Sequential">
            <summary>
            Generates sequential values.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Sequential.Numbers(System.Decimal,System.Decimal)">
            <summary>
            Generates a linear sequence of <see cref="T:System.Decimal"/> numbers, with a step of 1.
            </summary>
            <param name="start">The first value of the sequence.</param>
            <param name="end">The last value of the sequence.</param>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Sequential.Numbers(System.Double,System.Double)">
            <summary>
            Generates a linear sequence of <see cref="T:System.Double"/> numbers, with a step of 1.
            </summary>
            <param name="start">The first value of the sequence.</param>
            <param name="end">The last value of the sequence.</param>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Sequential.Numbers(System.Int32,System.Int32)">
            <summary>
            Generates a linear sequence of <see cref="T:System.Int32"/> numbers, with a step of 1.
            </summary>
            <param name="start">The first value of the sequence.</param>
            <param name="end">The last value of the sequence.</param>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Sequential.Numbers(System.Decimal,System.Decimal,System.Decimal)">
            <summary>
            Generates a linear sequence of <see cref="T:System.Decimal"/> numbers.
            </summary>
            <param name="start">The first value of the sequence.</param>
            <param name="end">The last value of the sequence.</param>
            <param name="step">The step between each consecutive value.</param>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Sequential.Numbers(System.Double,System.Double,System.Double)">
            <summary>
            Generates a linear sequence of <see cref="T:System.Double"/> numbers.
            </summary>
            <param name="start">The first value of the sequence.</param>
            <param name="end">The last value of the sequence.</param>
            <param name="step">The step between each consecutive value.</param>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="M:MbUnit.Framework.DataGenerators.Sequential.Numbers(System.Int32,System.Int32,System.Int32)">
            <summary>
            Generates a linear sequence of <see cref="T:System.Int32"/> numbers.
            </summary>
            <param name="start">The first value of the sequence.</param>
            <param name="end">The last value of the sequence.</param>
            <param name="step">The step between each consecutive value.</param>
            <exception cref="T:Gallio.Framework.Data.Generation.GenerationException">Thrown if the specified parameters are inconsistent or invalid.</exception>
        </member>
        <member name="T:MbUnit.Framework.CsvDataAttribute">
            <summary>
            Provides data from Comma Separated Values (CSV) contents.
            </summary>
            <remarks>
            <para>
            If the <a href="http://en.wikipedia.org/wiki/Comma-separated_values">CSV document</a> has a header, 
            then it is interpreted as the names of the columns.  Columns with names in brackets, such as "[ExpectedException]",
            are interpreted as containing metadata values associated with the named key.
            </para>
            </remarks>
            <example>
            <para>
            This example reads data from an Embedded Resource called <c>Data.csv</c> within the
            same namespace as the test fixture.
            </para>
            <para>
            Data files:
            <code><![CDATA[
            Item, Quantity, UnitPrice, [Category]
            Bananas, 3, 0.85, Produce
            Cookies, 10, 0.10, Snacks
            # Comment: mmmm!
            Shortbread, 1, 2.25, Snacks
            ]]></code>
            </para>
            <para>
            A simple test.
            <code><![CDATA[
            public class AccountingTests
            {
                [Test]
                [CsvData(ResourcePath = "Data.csv")]
                public void ShoppingCartTotalWithSingleItem(string item, decimal unitPrice, decimal quantity)
                {
                    ShoppingCart shoppingCart = new ShoppingCart();
                    shoppingCart.Add(item, unitPrice, quantity);
                    Assert.AreEqual(unitPrice * quantity, shoppingCart.TotalCost);
                }
            }
            ]]></code>
            </para>
            </example>
            <seealso cref="T:Gallio.Framework.Data.CsvDataSet"/>
        </member>
        <member name="T:MbUnit.Framework.ContentAttribute">
            <summary>
            An abstract base class for data source attributes that obtain contents from
            a local file, manifest resource, or inline data.
            </summary>
            <remarks>
            <para>
            At most one location type may be used.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ContentAttribute.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContentAttribute.GetDataLocationName">
            <summary>
            Gets the name of the location that is providing the data, or null if none.
            </summary>
            <remarks>
            <para>
            The name will be the filename or resource path if specified, or a special
            locale-aware string (such as "&lt;inline&gt;") if the contents were specified
            inline via the <see cref="P:MbUnit.Framework.ContentAttribute.Contents"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ContentAttribute.OpenStream(Gallio.Common.Reflection.ICodeElementInfo)">
            <summary>
            Opens the contents as a stream.
            </summary>
            <remarks>
            <para>
            If you override this method to return data from a different stream, consider
            also overriding <see cref="M:MbUnit.Framework.ContentAttribute.ValidateSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)"/> in case the manner in which the
            data source location is specified has also changed.
            </para>
            </remarks>
            <param name="codeElementInfo">The code element to which the attribute was applied.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:MbUnit.Framework.ContentAttribute.OpenTextReader(Gallio.Common.Reflection.ICodeElementInfo)">
            <summary>
            Opens the contents as a text reader.
            </summary>
            <remarks>
            <para>
            If you override this method to return data from a different stream, consider
            also overriding <see cref="M:MbUnit.Framework.ContentAttribute.ValidateSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)"/> in case the manner in which the
            data source location is specified has also changed.
            </para>
            </remarks>
            <param name="codeElementInfo">The code element to which the attribute was applied.</param>
            <returns>The text reader.</returns>
        </member>
        <member name="M:MbUnit.Framework.ContentAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.ContentAttribute.ValidateSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <summary>
            Validates the data source properties of the content attribute.
            </summary>
            <remarks>
            <para>
            Throws a <see cref="T:Gallio.Framework.Pattern.PatternUsageErrorException"/> if none of the source
            properties, such as <see cref="P:MbUnit.Framework.ContentAttribute.Contents"/>, <see cref="P:MbUnit.Framework.ContentAttribute.FilePath"/> or
            <see cref="P:MbUnit.Framework.ContentAttribute.ResourcePath"/> have been set.
            </para>
            </remarks>
            <param name="scope">The pattern scope.</param>
            <param name="codeElement">The code element to which the attribute was applied.</param>
            <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if none of the source properties, such as <see cref="P:MbUnit.Framework.ContentAttribute.Contents"/>, 
            <see cref="P:MbUnit.Framework.ContentAttribute.FilePath"/> or <see cref="P:MbUnit.Framework.ContentAttribute.ResourcePath"/> have been set.</exception>
        </member>
        <member name="P:MbUnit.Framework.ContentAttribute.Contents">
            <summary>
            Gets or sets the inline data contents as a string.
            </summary>
            <remarks>
            <para>
            It is an error to specify more than one content source property.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContentAttribute.FilePath">
            <summary>
            Gets or sets the path of a local file relative to the current working
            directory from which the file contents should be read.
            </summary>
            <remarks>
            <para>
            It is an error to specify more than one content source property.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContentAttribute.ResourceScope">
            <summary>
            Gets or sets a <see cref="T:System.Type"/> that is used to locate the assembly and
            namespace within which to resolve a manifest resource in combination
            with the <see cref="P:MbUnit.Framework.ContentAttribute.ResourcePath"/> property.
            </summary>
            <remarks>
            <para>
            If no value is specified, the test fixture type is used as the resource scope.
            </para>
            </remarks>
            <seealso cref="P:MbUnit.Framework.ContentAttribute.ResourcePath"/>
        </member>
        <member name="P:MbUnit.Framework.ContentAttribute.ResourcePath">
            <summary>
            Gets or sets the path of a manifest resource from which the contents should be read.  
            </summary>
            <remarks>
            <para>
            The path will be resolved within the assembly containing the
            <see cref="P:MbUnit.Framework.ContentAttribute.ResourceScope"/> type or the test fixture type if none if provided.
            </para>
            <para>
            During resolution, a resource name is constructed from the resource path by
            translating backslashes to periods.  If the named resource is found within
            the scoped assembly manifest, it is used.  Otherwise, the name is prepended
            with the scoped type's namespace and second lookup is attempted.  If this
            final attempt fails, then an error is raised at runtime.
            </para>
            <para>
            Examples:
            <list type="bullet">
            <item>If the <see cref="P:MbUnit.Framework.ContentAttribute.ResourceScope"/> is <c>MyNamespace.MyType</c> within
            assembly <c>MyAssembly.dll</c> and if <see cref="P:MbUnit.Framework.ContentAttribute.ResourcePath"/> is <c>"Resources\Image.gif"</c>, then
            resolution will first check whether <c>Resources.Image.gif</c> in
            <c>MyAssembly.dll</c> is a valid resource.  If not found, it will consider
            <c>MyNamespace.Resources.Image.gif</c>.  If still not found, then a runtime error will be raised.</item>
            <item>If no <see cref="P:MbUnit.Framework.ContentAttribute.ResourceScope"/> is provided, then the containing test fixture type
            will be used as the resource scope.  The above resolution strategy still applies.</item>
            </list>
            </para>
            <para>
            It is an error to specify more than one content source property.
            </para>
            </remarks>
            <seealso cref="P:MbUnit.Framework.ContentAttribute.ResourceScope"/>
        </member>
        <member name="P:MbUnit.Framework.ContentAttribute.OutcomeOnFileError">
            <summary>
            Gets or sets the outcome of the test when an error occured 
            while opening or reading the data file or the resource.
            </summary>
            <remarks>
            <para>
            The default outcome is <see cref="F:MbUnit.Framework.OutcomeOnFileError.Failed"/>.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContentAttribute.IsDynamic">
            <summary>
            Returns true if the contents are dynamic, or false if they are static.
            </summary>
            <remarks>
            <para>
            Static contents can only change if the test assembly is recompiled.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.CsvDataAttribute.#ctor">
            <summary>
            Constructs a Comma Separated Values (CSV) contents attribute.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.CsvDataAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.CsvDataAttribute.FieldDelimiter">
            <summary>
            Gets or sets the field delimiter character.
            </summary>
            <value>
            The default value is ',' (comma).
            </value>
        </member>
        <member name="P:MbUnit.Framework.CsvDataAttribute.CommentPrefix">
            <summary>
            Gets or sets a character that indicates that a line in the source represents a comment.
            </summary>
            <remarks>
            <para>
            May be set to '\0' (null) to disable comment handling.
            </para>
            <para>
            Comment lines are excluded from the record set.
            </para>
            </remarks>
            <value>
            The default value is '#' (pound).
            </value>
        </member>
        <member name="P:MbUnit.Framework.CsvDataAttribute.HasHeader">
            <summary>
            Gets or sets whether the CSV document has a header that should be used to provide
            aliases for indexed columns.
            </summary>
            <value>
            The default value is <c>false</c> which indicates that the file does not have a header.
            </value>
        </member>
        <member name="T:MbUnit.Framework.DependsOnAttribute">
            <summary>
            Creates a dependency from this test assembly, test fixture or test method on some other test
            fixture or test method.
            </summary>
            <remarks>
            <para>
            If the other test fixture or test method fails then this test
            will not run.  Moreover, the dependency forces this test to run after those
            it depends upon.
            </para>
            <para>
            This attribute can be repeated multiple times if there are multiple dependencies.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.DependsOnAttribute.#ctor(System.Type)">
            <summary>
            Creates a dependency from this test on another test fixture.
            </summary>
            <param name="testFixtureType">The dependent test fixture type.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testFixtureType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.DependsOnAttribute.#ctor(System.Type,System.String)">
            <summary>
            Creates a dependency from this test on a particular test method within another test fixture.
            </summary>
            <param name="testFixtureType">The dependent test fixture type.</param>
            <param name="testMethodName">The dependent test method name.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testFixtureType"/> or <paramref name="testMethodName"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.DependsOnAttribute.#ctor(System.String)">
            <summary>
            Creates a dependency from this test on another test method within this test fixture.
            </summary>
            <param name="testMethodName">The dependent test method name.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testMethodName"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.DependsOnAttribute.GetDependency(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.DependsOnAttribute.TestFixtureType">
            <summary>
            Gets the dependent test fixture type, or null if the dependency is on another
            test method of this test fixture.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.DependsOnAttribute.TestMethodName">
            <summary>
            Gets the dependent test method name, or null if the dependency
            is on the whole test fixture.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ExplicitAttribute">
            <summary>
            Indicates that a test should only be run explicitly.
            </summary>
            <remarks>
            <para>
            The test will still appear in the test tree but it will not run and it will not appear
            in the test results unless it is explicitly selected for execution.
            </para>
            <para>
            A test is considered to be explicitly selected when the filter used to run the tests
            matches the test or its descendants but none of its ancestors.  For example, if the filter
            matches a test case but not its containing test fixture then the test case will be deemed
            to be explicitly selected.  Otherwise the test case will be implicitly selected by virtue
            of the fact that the filter matched one of its ancestors.
            </para>
            <para>
            This attribute can be used to exclude from normal execution any tests that are
            particularly expensive or require manual supervision by an operator.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ExplicitAttribute.#ctor">
            <summary>
            Indicates that this test should only run explicitly without providing a reason.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ExplicitAttribute.#ctor(System.String)">
            <summary>
            Indicates that this test should only run explicitly and provides a reason.
            </summary>
            <param name="reason">The reason for which the test should be run explicitly.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reason"/>
            is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.ExplicitAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ExplicitAttribute.Reason">
            <summary>
            Gets the reason that the test should only run explicitly.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.OutcomeOnFileError">
            <summary>
            Determines the outcome of data-driven test when an error occured while 
            opening or reading the external data file or resource. 
            </summary>
        </member>
        <member name="F:MbUnit.Framework.OutcomeOnFileError.Skipped">
            <summary>
            The test is skipped on file error.
            </summary>
            <seealso cref="P:Gallio.Model.TestOutcome.Skipped"/>
        </member>
        <member name="F:MbUnit.Framework.OutcomeOnFileError.Inconclusive">
            <summary>
            The test is inconclusive on file error.
            </summary>
            <seealso cref="P:Gallio.Model.TestOutcome.Inconclusive"/>
        </member>
        <member name="F:MbUnit.Framework.OutcomeOnFileError.Failed">
            <summary>
            The test failed on file error.
            </summary>
            <seealso cref="P:Gallio.Model.TestOutcome.Failed"/>
            <seealso cref="P:Gallio.Model.TestOutcome.Error"/>
        </member>
        <member name="T:MbUnit.Framework.FactoryAttribute">
            <summary>
            Specifies a factory member that will provide values for a data-driven test.
            </summary>
            <remarks>
            <para>
            The factory may be an instance or static member of the fixture class or a
            static member of some other class.
            </para>
            <para>
            Refer to <see cref="T:Gallio.Framework.Data.FactoryDataSet"/> and <see cref="T:Gallio.Framework.Data.FactoryKind"/>
            for more information about how the factory data set works and the kinds of
            factories that are supported.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.FactoryAttribute.#ctor(System.String)">
            <summary>
            Specifies the name of a method, property or field of the fixture
            class that will provide values for a data-driven test.
            </summary>
            <remarks>
            <para>
            The factory member must return an enumeration of values (<seealso cref="T:Gallio.Framework.Data.FactoryKind"/>).
            </para>
            <para>
            The factory member may be non-static if it will be used within the
            scope of an initialized fixture.  Typically this is the case for factory
            members referenced by non-static test methods.
            </para>
            </remarks>
            <param name="memberName">The factory member name.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="memberName"/> is null.</exception>
            <seealso cref="T:MbUnit.Framework.FactoryAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.FactoryAttribute.#ctor(System.Type,System.String)">
            <summary>
            Specifies the declaring type and name of a static method, property or field
            that will provide values for a data-driven test.
            </summary>
            <remarks>
            <para>
            The factory member must return an enumeration of values (<seealso cref="T:Gallio.Framework.Data.FactoryKind"/>).
            </para>
            </remarks>
            <param name="type">The declaring type of the factory.</param>
            <param name="memberName">The factory member name.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type"/>
            or <paramref name="memberName"/> is null.</exception>
            <seealso cref="T:MbUnit.Framework.FactoryAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.FactoryAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.FactoryAttribute.Type">
            <summary>
            Gets the declaring type of the factory, or null if it is assumed to be the fixture class.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.FactoryAttribute.MemberName">
            <summary>
            Gets the factory member name, never null.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.FactoryAttribute.Kind">
            <summary>
            Gets or sets the kind of the factory.
            </summary>
            <remarks>
            <para>
            Defaults to <see cref="F:Gallio.Framework.Data.FactoryKind.Auto"/>.
            </para>
            </remarks>
            <value>The kind of the factory.</value>
        </member>
        <member name="P:MbUnit.Framework.FactoryAttribute.ColumnCount">
            <summary>
            Gets or sets the number of columns produced by the factory, or 0 if unknown.
            </summary>
            <remarks>
            <para>
            Defaults to 0.
            </para>
            </remarks>
            <value>The number of columns</value>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value"/> is
            less than zero.</exception>
        </member>
        <member name="T:MbUnit.Framework.HeaderAttribute">
            <summary>
            Defines names as aliases for the columns in an indexed data source
            such as those that have been populated by <see cref="T:MbUnit.Framework.RowAttribute"/> or <see cref="T:MbUnit.Framework.ColumnAttribute"/>.
            </summary>
            <remarks>
            <para>
            The names may subsequently be used in data binding expressions in place
            of their corresponding column indices.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [TestFixture]
            [Header("UserName", "Password")]
            [Row("jeff", "letmein")]
            [Row("liz", "password")]
            public class CredentialsTest
            {
                [Bind("UserName")]
                public string UserName;
            
                [Bind("Password")]
                public string Password;
            
                [Test]
                public void Test()
                {
                    // ...
                }
            }
            ]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.RowAttribute"/>
            <seealso cref="T:MbUnit.Framework.ColumnAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.HeaderAttribute.#ctor(System.String[])">
            <summary>
            Defines names as aliases for the columns in an indexed data source.
            </summary>
            <param name="columnNames">The names of the columns in the data source in order by index.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="columnNames"/> or
            if one of the values it contains is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.HeaderAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.HeaderAttribute.ColumnNames">
            <summary>
            Gets the array of column names.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.FixtureInitializerAttribute">
            <summary>
            Specifies a method that is to be invoked after a fixture instance has been
            created to complete its initialization before test fixture setup runs.
            </summary>
            <remarks>
            <para>
            This attribute provides a mechanism for completing the initialization
            of a fixture if the work cannot be completed entirely within the
            constructor.  For example, data binding might be used to set fields
            and property values of the fixture instance.  Consequently post-construction
            initialization may be required.
            </para>
            <para>
            <see cref="T:MbUnit.Framework.FixtureInitializerAttribute"/> allows initialization to occur
            earlier in the test lifecycle than <see cref="T:MbUnit.Framework.FixtureSetUpAttribute"/>.
            </para>
            <para>
            The attribute may be applied to multiple methods within a fixture, however
            the order in which they are processed is undefined.
            </para>
            <para>
            The method to which this attribute is applied must be declared by the
            fixture class and must not have any parameters.  The method may be static.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.FixtureInitializerAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.FixtureInitializerAttribute.DecorateContainingScope(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.IRetryOptions">
            <summary>
            Specifies options for the <see cref="T:MbUnit.Framework.Retry"/> operation.
            </summary>
            <seealso cref="T:MbUnit.Framework.Retry"/>
        </member>
        <member name="M:MbUnit.Framework.IRetryOptions.Repeat(System.Int32)">
            <summary>
            Specifies the maximum number of evaluation attempts, before the <see cref="M:MbUnit.Framework.Retry.Until(Gallio.Common.Func{System.Boolean})"/>, or 
            <see cref="M:MbUnit.Framework.Retry.Until(System.Threading.WaitHandle)"/> operation fails.
            </summary>
            <remarks>
            <para>
            If not specified, the condition will be evaluated an infinite number of times, or until some
            other stop criterion is reached.
            </para>
            </remarks>
            <param name="repeat">The maximum number of evaluation cycles, or zero or a negative value to specify an unlimited number of attempts.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="M:MbUnit.Framework.IRetryOptions.Repeat(System.Int32)"/> option was called more than once.</exception>
        </member>
        <member name="M:MbUnit.Framework.IRetryOptions.WithPolling(System.Int32)">
            <summary>
            Specifies a polling time expressed in milliseconds between each consecutive evaluation of the condition.
            </summary>
            <remarks>
            <para>
            If not specified, the default polling time is zero; which causes the condition to be evaluated as fast as possible, with
            only a brief suspension of the current thread (<see cref="M:System.Threading.Thread.Sleep(System.Int32)"/>).
            </para>
            </remarks>
            <param name="milliseconds">The polling time expressed in milliseconds.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the option was called more than once.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="milliseconds"/> is negative.</exception>
        </member>
        <member name="M:MbUnit.Framework.IRetryOptions.WithPolling(System.TimeSpan)">
            <summary>
            Specifies a polling time between each consecutive evaluation of the condition.
            </summary>
            <remarks>
            <para>
            If not specified, the default polling time is zero; which causes the condition to be evaluated as fast as possible, with
            only a brief suspension of the current thread (<see cref="M:System.Threading.Thread.Sleep(System.TimeSpan)"/>).
            </para>
            </remarks>
            <param name="polling">The polling time.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the option was called more than once.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="polling"/> represents a negative duration.</exception>
        </member>
        <member name="M:MbUnit.Framework.IRetryOptions.WithTimeout(System.Int32)">
            <summary>
            Specifies a timeout value expressed in milliseconds.
            </summary>
            <remarks>
            <para>
            The retry operation fails if the overall duration exceeds the specified timeout value.
            </para>
            <para>
            If not specified, the default timeout value is set to 10 seconds.
            </para>
            </remarks>
            <param name="milliseconds">The timeout value expressed in milliseconds, or a negative value to specify no timeout value.
            A value of zero, will let the condition to be evaluated only once.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the option was called more than once.</exception>
        </member>
        <member name="M:MbUnit.Framework.IRetryOptions.WithTimeout(System.TimeSpan)">
            <summary>
            Specifies a timeout value.
            </summary>
            <remarks>
            <para>
            The retry operation fails if the overall duration exceeds the specified timeout value.
            </para>
            <para>
            If not specified, the default timeout value is set to 10 seconds.
            </para>
            </remarks>
            <param name="timeout">The timeout value, or a negative value to specify no timeout value.
            A value of zero, will let the condition to be evaluated only once.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the option was called more than once.</exception>
        </member>
        <member name="M:MbUnit.Framework.IRetryOptions.DoBetween(Gallio.Common.Action)">
            <summary>
            Specifies a custom action to be executed between each consecutive attempt, but not before the first one.
            </summary>
            <param name="action">A custom action to be executed.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the option was called more than once.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.IRetryOptions.WithFailureMessage(System.String,System.Object[])">
            <summary>
            Specifies a custom formatted message to be added to the text of the assertion raised when
            the retry operation has failed.
            </summary>
            <param name="messageFormat">A user-supplied assertion failure message string, or null if none.</param>
            <param name="messageArgs">The format arguments, or null or empty if none.</param>
            <returns></returns>
        </member>
        <member name="M:MbUnit.Framework.IRetryOptions.Until(Gallio.Common.Func{System.Boolean})">
            <summary>
            Specifies the condition to evaluate repeatedly, and starts the entire operation.
            </summary>
            <remarks>
            <para>
            The condition is considered fulfilled when it returns true.
            </para>
            </remarks>
            <param name="condition">The condition to evaluate.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown when the condition is false, and a timeout occured, or the maximum
            number of evaluation attempts was reached.</exception>
        </member>
        <member name="M:MbUnit.Framework.IRetryOptions.Until(System.Threading.WaitHandle)">
            <summary>
            Specifies a <see cref="T:System.Threading.WaitHandle"/> instance to wait for being signaled, and starts the entire operation.
            </summary>
            <param name="waitHandle">The wait handle to evaluate.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown when the wait handle is unsignaled, and a timeout occured, or the maximum
            number of evaluation attempts was reached.</exception>
            <seealso cref="M:System.Threading.WaitHandle.WaitOne(System.Int32,System.Boolean)"/>
        </member>
        <member name="M:MbUnit.Framework.IRetryOptions.Until(System.Threading.Thread)">
            <summary>
            Specifies a <see cref="T:System.Threading.Thread"/> instance to wait for being terminated, and starts the entire operation.
            </summary>
            <param name="tread">The thread to evaluate.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown when the thread is still alive, and a timeout occured, or the maximum
            number of evaluation attempts was reached.</exception>
            <seealso cref="M:System.Threading.Thread.Join(System.Int32)"/>
        </member>
        <member name="T:MbUnit.Framework.JoinStrategy">
            <summary>
            Defines a strategy for joining data.
            </summary>
            <seealso cref="M:MbUnit.Framework.DataGenerators.Join``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},MbUnit.Framework.JoinStrategy)"/>
            <seealso cref="M:MbUnit.Framework.DataGenerators.Join``3(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Collections.Generic.IEnumerable{``2},MbUnit.Framework.JoinStrategy)"/>
            <seealso cref="T:MbUnit.Framework.CombinatorialJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.PairwiseJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.SequentialJoinAttribute"/>
        </member>
        <member name="F:MbUnit.Framework.JoinStrategy.Combinatorial">
            <summary>
            Combinatorial join strategy.
            </summary>
            <seealso cref="T:MbUnit.Framework.CombinatorialJoinAttribute"/>
        </member>
        <member name="F:MbUnit.Framework.JoinStrategy.Sequential">
            <summary>
            Sequential join strategy.
            </summary>
            <seealso cref="T:MbUnit.Framework.SequentialJoinAttribute"/>
        </member>
        <member name="F:MbUnit.Framework.JoinStrategy.Pairwise">
            <summary>
            Pairwise join strategy.
            </summary>
            <seealso cref="T:MbUnit.Framework.PairwiseJoinAttribute"/>
        </member>
        <member name="T:MbUnit.Framework.Mirror">
            <summary>
            A mirror uses reflection to provide access to non-public members of an object
            or type for testing purposes.
            </summary>
            <remarks>
            <para>
            Writing tests that require access to non-public members is not recommended.
            Non-public members should be considered internal implementation details of
            the subject under test.  Relying on their behavior can yield brittle tests.
            </para>
            <para>
            These reflection helpers are not intended to assist with all possible reflection
            scenarios.  For everything else, use the standard .Net reflection library.
            </para>
            <para>
            Another useful function related to <see cref="T:MbUnit.Framework.Mirror"/> is <see cref="M:Gallio.Common.Reflection.ProxyUtils.CoerceDelegate(System.Type,System.Delegate)"/>
            which you can use to convert a delegate from one type to another.  This is useful
            for creating instances of non-public delegate types.  In particular, the
            <see cref="M:MbUnit.Framework.Mirror.MemberSet.AddHandler(System.Delegate)"/> method automatically coerces delegates
            if needed.
            </para>
            </remarks>
            <example>
            <para>
            In this example, we use a <see cref="T:MbUnit.Framework.Mirror"/> to access non-public members
            of an object and static members of an internal class.
            </para>
            <code>
            // A sample object with various members including a private nested class
            // that has a public yet inaccessible static method.
            public class SampleObject
            {
                private int privateField;
                private int PrivateProperty { get; set;}
                private event EventHandler PrivateEvent;
                private int PrivateMethod(int a, int b) { ... }
                
                private static class PrivateNestedClass
                {
                    public int StaticMethod(object y) { ... }
                    
                    public int OverloadedMethod(object y) { ... }
                    
                    public int OverloadedMethod(string y) { ... }
                    
                    public T GenericMethod&lt;T&gt;(T x) { ... }
                }
            }
            
            internal class InternalObject { ... }
            
            internal delegate int InternalDelegate(InternalObject x);
            
            // A sample test fixture.
            public class Fixture
            {
                [Test]
                public void Test()
                {
                    // Setup.
                    SampleObject obj = new SampleObject();
                    Mirror objMirror = Mirror.ForObject(obj);
                    
                    // Reading from a private field.
                    int privateFieldValue = (int) objMirror["privateField"].Value;
                    
                    // Writing to a private property.
                    objMirror["PrivateProperty"].Value = 42;
                    
                    // Obtaining a mirror for a value at index 5 in a private indexed property.
                    Mirror valueMirror = objMirror["Item"][5].ValueAsMirror;
                    
                    // Invoking a private method.
                    int result = (int) objMirror["PrivateMethod"].Invoke(1, 2);
                    
                    // Accessing a private type.
                    Type privateNestedClass = objMirror["PrivateNestedClass"].Type;
                    Mirror privateNestedClassMirror = Mirror.ForType(privateNestedClass);
                    
                    // Invoking a static method.
                    int result2 = privateNestedClassMirror["StaticMethod"].Invoke(42);
                    
                    // Invoking an overloaded static method when we cannot determine the parameter
                    // type automatically from the arguments, such as when an argument is null.
                    int result2 = privateNestedClassMirror["OverloadedMethod"].WithSignature(typeof(object)).Invoke(null);
                    int result3 = privateNestedClassMirror["OverloadedMethod"].WithSignature(typeof(string)).Invoke(null);
            
                    // Invoking a generic method.
                    int result3 = privateNestedClassMirror["GenericMethod"].Invoke(42);
                    
                    // Invoking a generic method using specific type arguments.
                    object result4 = privateNestedClassMirror["GenericMethod"].WithTypeArgs(typeof(object)).Invoke(42);
            
                    // Creating an instance of an internal object.
                    Mirror internalObjTypeMirror = Mirror.ForType("My.Namespace.InternalObject", "MyAssembly");
                    object internalObj = internalObjTypeMirror.CreateInstance();
                    
                    // Creating an instance of an internal delegate.
                    // Notice that the Mirror automatically adapts the provided delegate signature
                    // to the actual delegate signature to make it easier to write tests when the delegate
                    // parameter or result types are themselves inaccessible.
                    Mirror internalDelegateTypeMirror = Mirror.ForType("My.Namespace.InternalDelegate", "MyAssembly");
                    Delegate internalDelegate = internalDelegateTypeMirror.CreateDelegate(
                        new Func&lt;object, int&gt;(x =&gt; { return 5; }));
                }
            }
            </code>
            </example>
        </member>
        <member name="F:MbUnit.Framework.Mirror.NullOfUnknownType">
            <summary>
            Gets an instance of a mirror that represents a null object of unknown type.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.Mirror.ForType``1">
            <summary>
            Creates a mirror for the specified type.
            </summary>
            <typeparam name="T">The type.</typeparam>
            <returns>The new mirror.</returns>
        </member>
        <member name="M:MbUnit.Framework.Mirror.ForType(System.Type)">
            <summary>
            Creates a mirror for the specified type.
            </summary>
            <param name="type">The type.</param>
            <returns>The new mirror.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.ForType(System.String)">
            <summary>
            Creates a mirror for the specified type by assembly-qualified name.
            </summary>
            <param name="typeName">The assembly-qualified type name.  If the type is in the
            currently executing assembly or in mscorlib.dll it is sufficient to provide
            the namespace-qualified type name.</param>
            <returns>The new mirror.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="typeName"/> is null.</exception>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the type is not found.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.ForType(System.String,System.Reflection.Assembly)">
            <summary>
            Creates a mirror for the specified type by namespace-qualified name and assembly.
            </summary>
            <param name="typeName">The namespace-qualified type name.</param>
            <param name="assembly">The assembly.</param>
            <returns>The new mirror.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="typeName"/> or <paramref name="assembly"/> is null.</exception>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the type is not found.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.ForType(System.String,System.String)">
            <summary>
            Creates a mirror for the specified type by namespace-qualified name and assembly name.
            </summary>
            <param name="typeName">The namespace-qualified type name.</param>
            <param name="assemblyName">The assembly name.</param>
            <returns>The new mirror.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="typeName"/> or <paramref name="assemblyName"/> is null.</exception>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the type is not found.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.ForObject(System.Object)">
            <summary>
            Creates a mirror for the specified object.
            </summary>
            <param name="instance">The object instance, or null.</param>
            <returns>The new mirror.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="instance"/> is null.</exception>
        </member>
        <member name="P:MbUnit.Framework.Mirror.IsNull">
            <summary>
            Returns true if the mirror represents a null object.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.Mirror.IsNullOfUnknownType">
            <summary>
            Returns true if the mirror represents a null object of unknown type.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.Mirror.Type">
            <summary>
            Gets the reflected type seen in the mirror, or null if the mirror represents a null
            object of unknown type.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.Mirror.Instance">
            <summary>
            Gets the object instance seen in the mirror, or null if the mirror does not represent
            a particular instance of a type.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.Mirror.Item(System.String)">
            <summary>
            Gets an object that can access the mirror type's members with the specified name.
            </summary>
            <remarks>
            <para>
            If there are no members with the specified name, the member set will be
            empty and all operations performed on it will fail.  If there are multiple
            members with the specified name (when the name is overloaded), the member set
            will refer to multiple members.  When an operation is performed on the
            member set, a specific member will chosen from the set or an error will
            be emitted.
            </para>
            </remarks>
            <param name="memberName">The member name.</param>
            <returns>The member set that represents the mirror type's members with the specified name.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="memberName"/> is null.</exception>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the mirror represents a null object of unknown type.</exception>
        </member>
        <member name="P:MbUnit.Framework.Mirror.Constructor">
            <summary>
            Gets an object that can access the mirror type's constructors.
            </summary>
            <remarks>
            <para>
            If there are no constructors, the member set will be
            empty and all operations performed on it will fail.  If there are multiple
            constructors (when the constructor is overloaded), the member set
            will refer to multiple constructors.  When an operation is performed on the
            member set, a specific constructor will chosen from the set or an error will
            be emitted.
            </para>
            </remarks>
            <returns>The member set that represents the mirror type's constructors.</returns>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the mirror represents a null object of unknown type.</exception>
        </member>
        <member name="P:MbUnit.Framework.Mirror.StaticConstructor">
            <summary>
            Gets an object that can access the mirror type's static constructors.
            </summary>
            <remarks>
            <para>
            If there are no static constructors, the member set will be
            empty and all operations performed on it will fail.
            </para>
            </remarks>
            <returns>The member set that represents the mirror type's static constructors.</returns>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the mirror represents a null object of unknown type.</exception>
        </member>
        <member name="T:MbUnit.Framework.Mirror.MemberSet">
            <summary>
            A member set provides reflection operations on members of an object or type.
            </summary>
            <remarks>
            <para>
            The specific member that is chosen for a given operation depends on the operation arguments.
            For example, if a member set represents an overloaded method then the arguments to
            <see cref="M:MbUnit.Framework.Mirror.MemberSet.Invoke(System.Object[])"/> are used to select the specific overload to be invoked.  If the
            overload cannot be determined automatically from the arguments, the client should
            use the <see cref="M:MbUnit.Framework.Mirror.MemberSet.WithSignature(System.Type[])"/> method to obtain a restricted member set given the
            method signature of the specific overload to be used then calling <see cref="M:MbUnit.Framework.Mirror.MemberSet.Invoke(System.Object[])"/>
            on the resulting member set.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.Invoke">
            <summary>
            Invokes the method represented by the member set and returns its result.
            </summary>
            <remarks>
            <para>
            When the method set contains multiple overloads attempts to choose an
            overload that is compatible with the argument list or raises an exception
            if none is found.
            </para>
            </remarks>
            <returns>The method result.</returns>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.Invoke(System.Object)">
            <summary>
            Invokes the method represented by the member set and returns its result.
            </summary>
            <remarks>
            <para>
            When the method set contains multiple overloads attempts to choose an
            overload that is compatible with the argument list or raises an exception
            if none is found.
            </para>
            </remarks>
            <param name="arg">The method argument.</param>
            <returns>The method result.</returns>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.Invoke(System.Object[])">
            <summary>
            Invokes the method represented by the member set and returns its result.
            </summary>
            <remarks>
            <para>
            When the method set contains multiple overloads attempts to choose an
            overload that is compatible with the argument list or raises an exception
            if none is found.
            </para>
            </remarks>
            <param name="args">The method arguments.</param>
            <returns>The method result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="args"/> is null.</exception>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.InvokeAsMirror">
            <summary>
            Invokes the method represented by the member set and returns its result as a mirror.
            </summary>
            <remarks>
            <para>
            When the method set contains multiple overloads attempts to choose an
            overload that is compatible with the argument list or raises an exception
            if none is found.
            </para>
            </remarks>
            <returns>The method result as a mirror.</returns>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.InvokeAsMirror(System.Object)">
            <summary>
            Invokes the method represented by the member set and returns its result as a mirror.
            </summary>
            <remarks>
            <para>
            When the method set contains multiple overloads attempts to choose an
            overload that is compatible with the argument list or raises an exception
            if none is found.
            </para>
            </remarks>
            <param name="arg">The method argument.</param>
            <returns>The method result as a mirror.</returns>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.InvokeAsMirror(System.Object[])">
            <summary>
            Invokes the method represented by the member set and returns its result as a mirror.
            </summary>
            <remarks>
            <para>
            When the method set contains multiple overloads attempts to choose an
            overload that is compatible with the argument list or raises an exception
            if none is found.
            </para>
            </remarks>
            <param name="args">The method arguments.</param>
            <returns>The method result as a mirror.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="args"/> is null.</exception>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.AddHandler(System.Delegate)">
            <summary>
            Adds an event handler to the event represented by the member set.
            </summary>
            <param name="eventHandler">The event handler, or null if none.</param>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.AddHandler(System.EventHandler)">
            <summary>
            Adds an event handler to the event represented by the member set.
            </summary>
            <param name="eventHandler">The event handler, or null if none.</param>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.AddHandler``1(System.EventHandler{``0})">
            <summary>
            Adds an event handler to the event represented by the member set.
            </summary>
            <param name="eventHandler">The event handler, or null if none.</param>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.RemoveHandler(System.Delegate)">
            <summary>
            Removes an event handler to the event represented by the member set.
            </summary>
            <param name="eventHandler">The event handler, or null if none.</param>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.RemoveHandler(System.EventHandler)">
            <summary>
            Removes an event handler to the event represented by the member set.
            </summary>
            <param name="eventHandler">The event handler, or null if none.</param>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.RemoveHandler``1(System.EventHandler{``0})">
            <summary>
            Removes an event handler to the event represented by the member set.
            </summary>
            <param name="eventHandler">The event handler, or null if none.</param>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.WithSignature(System.Type[])">
            <summary>
            Returns a new member set that selects members with the specified signature.
            This is particularly useful when the member is overloaded and cannot be resolved
            automatically.
            </summary>
            <param name="argTypes">The expected argument types, which may contain null elements
            as placeholders for unspecified types.</param>
            <returns>A member set that selects members with the specified signature.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="argTypes"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.WithGenericArgs(System.Type[])">
            <summary>
            Returns a new member set that selects members with the specified generic arguments.
            This is particularly useful when the member has multiple generic overloads
            that cannot be resolved automatically.
            </summary>
            <param name="genericArgs">The expected generic argument types, which may contain null elements
            as placeholders for unspecified types.</param>
            <returns>A member set that selects members with the specified generic arguments.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="genericArgs"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Mirror.MemberSet.WithBindingFlags(System.Reflection.BindingFlags)">
            <summary>
            Returns a new member set that selects members that match the specified binding flags.
            </summary>
            <param name="bindingFlags">The expected binding flags.</param>
            <returns>A member set that selects members that match the specified binding flags.</returns>
        </member>
        <member name="P:MbUnit.Framework.Mirror.MemberSet.MemberInfo">
            <summary>
            Gets the member info that the member set represents.
            </summary>
            <remarks>
            <para>
            This call will fail if the member set matches multiple members in which case
            you should use the <see cref="M:MbUnit.Framework.Mirror.MemberSet.WithSignature(System.Type[])"/> method to choose a particular overload.
            </para>
            </remarks>
            <value>The nested type.</value>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="P:MbUnit.Framework.Mirror.MemberSet.NestedType">
            <summary>
            Gets the nested type that the member set represents.
            </summary>
            <value>The nested type.</value>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="P:MbUnit.Framework.Mirror.MemberSet.NestedTypeAsMirror">
            <summary>
            Gets the nested type that the member set represents as a mirror.
            </summary>
            <value>The nested type as a mirror.</value>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="P:MbUnit.Framework.Mirror.MemberSet.Item(System.Object)">
            <summary>
            Gets an object that represents a particular index of a property whose value can be manipulated.
            </summary>
            <param name="indexArg">The index argument.</param>
            <returns>The property index.</returns>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="P:MbUnit.Framework.Mirror.MemberSet.Item(System.Object[])">
            <summary>
            Gets an object that represents a particular index of a property whose value can be manipulated.
            </summary>
            <param name="indexArgs">The index arguments.</param>
            <returns>The property index.</returns>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="P:MbUnit.Framework.Mirror.MemberSet.Value">
            <summary>
            Gets or sets the value of the field or property represented by the member set.
            </summary>
            <value>The value.</value>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="P:MbUnit.Framework.Mirror.MemberSet.ValueAsMirror">
            <summary>
            Gets the value of the field or property represented by the member set as a mirror.
            </summary>
            <value>The value as a mirror.</value>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="T:MbUnit.Framework.Mirror.PropertyIndex">
            <summary>
            A property index provides a means of getting or setting the value of an indexed property
            using particular index arguments.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.Mirror.PropertyIndex.Value">
            <summary>
            Gets or sets the value of the indexed property.
            </summary>
            <value>The value.</value>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="P:MbUnit.Framework.Mirror.PropertyIndex.ValueAsMirror">
            <summary>
            Gets the value of the indexed property as a mirror.
            </summary>
            <value>The value as a mirror.</value>
            <exception cref="T:MbUnit.Framework.MirrorException">Thrown if the operation failed because
            of a reflection problem such as when the member access is invalid or ambiguous.</exception>
        </member>
        <member name="T:MbUnit.Framework.MultipleAssertsAttribute">
            <summary>
            Runs the test as if it were surrounded by <see cref="M:MbUnit.Framework.Assert.Multiple(Gallio.Common.Action)"/> so that
            multiple assertion failures within the test are tolerated.
            </summary>
            <remarks>
            <para>
            When an assertion failure occurs, it is reported but the test is allowed to proceed
            until it completes or throws an unhandled exception.  When the test finishes, it will
            still be marked as failed, as usual.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.MultipleAssertsAttribute.DecorateMethodTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.NameAttribute">
            <summary>
            Overrides the name of a test or test parameter.
            </summary>
            <remarks>
            <para>
            Use this attribute to specify a more descriptive or readable name than
            the one chosen by default by MbUnit which is usually derived from the method,
            class, field, property, or parameters name.  The test name specified by this
            attribute can contain 
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.NameAttribute.#ctor(System.String)">
            <summary>
            Overrides the name of a test or test parameter.
            </summary>
            <param name="name">The overridden name.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.NameAttribute.Process(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.NameAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <summary>
            Verifies that the attribute is being used correctly.
            </summary>
            <param name="scope">The scope.</param>
            <param name="codeElement">The code element.</param>
            <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
        </member>
        <member name="P:MbUnit.Framework.NameAttribute.Name">
            <summary>
            Gets the overridden name.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.AssertOverSyntax">
            <summary>
            Defines methods used with the <see cref="P:MbUnit.Framework.Assert.Over"/> syntax for mapping
            assertions over complex data structures.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.AssertOverSyntax.Pairs``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},Gallio.Common.Action{``0,``1})">
            <summary>
            Evaluates an assertion over pairs of values taken from two sequences.
            </summary>
            <remarks>
            <para>
            This assertion fails if the collections have different sizes or if one is null but not the other.
            </para>
            </remarks>
            <typeparam name="TLeftValue">The left value type.</typeparam>
            <typeparam name="TRightValue">The right value type.</typeparam>
            <param name="leftSequence">The left sequence, or null.</param>
            <param name="rightSequence">The right sequence, or null.</param>
            <param name="assertion">The assertion to evaluate given a left value and a right value.</param>
        </member>
        <member name="M:MbUnit.Framework.AssertOverSyntax.Pairs``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},Gallio.Common.Action{``0,``1},System.String,System.Object[])">
            <summary>
            Evaluates an assertion over pairs of values taken from two sequence.
            </summary>
            <remarks>
            <para>
            This assertion fails if the collections have different sizes or if one is null but not the other.
            </para>
            </remarks>
            <typeparam name="TLeftValue">The left value type.</typeparam>
            <typeparam name="TRightValue">The right value type.</typeparam>
            <param name="leftSequence">The left sequence, or null.</param>
            <param name="rightSequence">The right sequence, or null.</param>
            <param name="assertion">The assertion to evaluate given a left value and a right value.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
        </member>
        <member name="M:MbUnit.Framework.AssertOverSyntax.KeyedPairs``3(System.Collections.Generic.IDictionary{``0,``1},System.Collections.Generic.IDictionary{``0,``2},Gallio.Common.Action{``1,``2})">
            <summary>
            Evaluates an assertion over key/value pairs with identical keys drawn from two dictionaries.
            </summary>
            <remarks>
            <para>
            This assertion fails if the collections have different sizes or if one is null but not the other.
            </para>
            </remarks>
            <typeparam name="TKey">The key type.</typeparam>
            <typeparam name="TLeftValue">The expected value type.</typeparam>
            <typeparam name="TRightValue">The expected value type.</typeparam>
            <param name="leftDictionary">The left dictionary, or null.</param>
            <param name="rightDictionary">The right dictionary, or null.</param>
            <param name="assertion">The assertion to evaluate over all pairs, with the left value as first
            argument, and right value as second.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.AssertOverSyntax.KeyedPairs``3(System.Collections.Generic.IDictionary{``0,``1},System.Collections.Generic.IDictionary{``0,``2},Gallio.Common.Action{``0,``1,``2})">
            <summary>
            Evaluates an assertion over key/value pairs with identical keys drawn from two dictionaries.
            </summary>
            <remarks>
            <para>
            This assertion fails if the collections have different sizes or if one is null but not the other.
            </para>
            </remarks>
            <typeparam name="TKey">The key type.</typeparam>
            <typeparam name="TLeftValue">The expected value type.</typeparam>
            <typeparam name="TRightValue">The expected value type.</typeparam>
            <param name="leftDictionary">The left dictionary, or null.</param>
            <param name="rightDictionary">The right dictionary, or null.</param>
            <param name="assertion">The assertion to evaluate over all pairs, with the key as first
            argument, left value as second, and right value as third.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.AssertOverSyntax.KeyedPairs``3(System.Collections.Generic.IDictionary{``0,``1},System.Collections.Generic.IDictionary{``0,``2},Gallio.Common.Action{``1,``2},System.String,System.Object[])">
            <summary>
            Evaluates an assertion over key/value pairs with identical keys drawn from two dictionaries.
            </summary>
            <remarks>
            <para>
            This assertion fails if the collections have different sizes or if one is null but not the other.
            </para>
            </remarks>
            <typeparam name="TKey">The key type.</typeparam>
            <typeparam name="TLeftValue">The expected value type.</typeparam>
            <typeparam name="TRightValue">The expected value type.</typeparam>
            <param name="leftDictionary">The left dictionary, or null.</param>
            <param name="rightDictionary">The right dictionary, or null.</param>
            <param name="assertion">The assertion to evaluate over all pairs, with the left value as first
            argument, and right value as second.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="M:MbUnit.Framework.AssertOverSyntax.KeyedPairs``3(System.Collections.Generic.IDictionary{``0,``1},System.Collections.Generic.IDictionary{``0,``2},Gallio.Common.Action{``0,``1,``2},System.String,System.Object[])">
            <summary>
            Evaluates an assertion over key/value pairs with identical keys drawn from two dictionaries.
            </summary>
            <remarks>
            <para>
            This assertion fails if the collections have different sizes or if one is null but not the other.
            </para>
            </remarks>
            <typeparam name="TKey">The key type.</typeparam>
            <typeparam name="TLeftValue">The expected value type.</typeparam>
            <typeparam name="TRightValue">The expected value type.</typeparam>
            <param name="leftDictionary">The left dictionary, or null.</param>
            <param name="rightDictionary">The right dictionary, or null.</param>
            <param name="assertion">The assertion to evaluate over all pairs, with the key as first
            argument, left value as second, and right value as third.</param>
            <param name="messageFormat">The custom assertion message format, or null if none.</param>
            <param name="messageArgs">The custom assertion message arguments, or null if none.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionException">Thrown if the verification failed unless the current <see cref="P:Gallio.Framework.Assertions.AssertionContext.AssertionFailureBehavior"/> indicates otherwise.</exception>
        </member>
        <member name="T:MbUnit.Framework.PairwiseJoinAttribute">
            <summary>
            Sets the join strategy of a test to be pairwise.
            </summary>
            <remarks>
            <para>
            The test will be executed using values drawn from each data source and combined so
            that all possible pairings of values from each data source are produced.  This constraint vastly
            reduces the number of combinations because we only consider all interactions among
            pairs of variables rather than among all variables at once.  This strategy still
            provides a high degree of variability among combinations and has a high likelihood of
            finding bugs while incurring much less cost than testing all possible combinations.
            </para>
            <para>
            If there are three data sources, A, B and C with values A1, A2, B1, B2, C1 and C2 then
            the test will be run four times with inputs: (A1, B1, C1), (A2, B2, C1), (A1, B2, C2), (A2, B1, C2).
            Compare this with the eight times that a standard cross-product combinatorial join
            strategy would have required.
            </para>
            <para>
            The algorithm used to compute pairwise coverings is approximate and might not find
            a minimal pairwise covering of values.  However, the relative size of a full combinatorial
            cross product will still be exponentially larger than that of the covering that is produced.
            </para>
            </remarks>
            <seealso cref="T:Gallio.Framework.Data.PairwiseJoinStrategy"/>
            <seealso cref="T:MbUnit.Framework.SequentialJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.CombinatorialJoinAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.PairwiseJoinAttribute.GetJoinStrategy">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.PendingAttribute">
            <summary>
            Indicates that a test has pending prerequisites so it will not be run.
            </summary>
            <remarks>
            <para>
            The test will still appear in test reports along with an explanation of the
            reason it it pending, if provided.
            </para>
            <para>
            This attribute can be used to disable tests that cannot run because the
            subject under test is missing certain prerequisite functionality.  It may
            also serve as a placeholder for test that have yet to be implemented.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.PendingAttribute.#ctor">
            <summary>
            Indicates that this test has pending prerequisites without providing a reason.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.PendingAttribute.#ctor(System.String)">
            <summary>
            Indicates that this test has pending prerequisites and provides a reason.
            </summary>
            <param name="reason">The reason for which the test is pending.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reason"/>
            is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.PendingAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.PendingAttribute.Reason">
            <summary>
            Gets the reason that the test is pending.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.RepeatAttribute">
            <summary>
            Decorates a test method and causes it to be invoked repeatedly.
            </summary>
            <remarks>
            <para>
            Each repetition of the test method will occur within its own individually labeled
            test step so that it can be identified in the test report.
            </para>
            <para>
            The initialize, setup, teardown and dispose methods will are invoked around each
            repetition of the test.
            </para>
            </remarks>
            <seealso cref="T:MbUnit.Framework.ThreadedRepeatAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.RepeatAttribute.#ctor(System.Int32)">
            <summary>
            Executes the test method repeatedly.
            </summary>
            <example>
            <code><![CDATA[
            [Test]
            [Repeat(10)]
            public void Test()
            {
                // This test will be executed 10 times.
            }
            ]]></code>
            </example>
            <param name="numRepetitions">The number of times to repeat the test.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="numRepetitions"/>
            is less than 1.</exception>
        </member>
        <member name="M:MbUnit.Framework.RepeatAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.Retry">
            <summary>
            Evaluates repeatedly the specified condition until it becomes fulfilled, or throws
            a <see cref="T:Gallio.Framework.Assertions.AssertionFailureException"/> if a timeout occured, or if the
            evaluation was done unsuccessfully too many times.
            </summary>
            <example>
            Here is an example that illustrates the usage of <see cref="T:MbUnit.Framework.Retry"/>.
            <code><![CDATA[
            [TestFixture]
            public class FooTest
            {
                [Test]
                public void MyRetryTest()
                {
                    Retry.Repeat(10) // Retries maximum 10 times the evaluation of the condition.
                         .WithPolling(TimeSpan.FromSeconds(1)) // Waits approximatively for 1 second between each evaluation of the condition.
                         .WithTimeout(TimeSpan.FromSeconds(30)) // Sets a timeout of 30 seconds.
                         .DoBetween(() => { /* DoSomethingBetweenEachCall */ })
                         .Until(() => { return EvaluateSomeCondition(); });
                }
            }
            ]]></code>
            </example>
        </member>
        <member name="M:MbUnit.Framework.Retry.Repeat(System.Int32)">
            <summary>
            Specifies the maximum number of evaluation attempts, before the <see cref="M:MbUnit.Framework.Retry.Until(Gallio.Common.Func{System.Boolean})"/>, or 
            <see cref="M:MbUnit.Framework.Retry.Until(System.Threading.WaitHandle)"/> operation fails.
            </summary>
            <remarks>
            <para>
            If not specified, the condition will be evaluated an infinite number of times, or until some
            other stop criterion is reached.
            </para>
            </remarks>
            <param name="repeat">The maximum number of evaluation cycles, or zero or a negative value to specify an unlimited number of attempts.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the options was called more than once.</exception>
        </member>
        <member name="M:MbUnit.Framework.Retry.WithPolling(System.Int32)">
            <summary>
            Specifies a polling time expressed in milliseconds between each consecutive evaluation of the condition.
            </summary>
            <remarks>
            <para>
            If not specified, the default polling time is zero; which causes the condition to be evaluated as fast as possible, with
            only a brief suspension of the current thread (<see cref="M:System.Threading.Thread.Sleep(System.Int32)"/>).
            </para>
            </remarks>
            <param name="milliseconds">The polling time expressed in milliseconds.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the option was called more than once.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="milliseconds"/> is negative.</exception>
        </member>
        <member name="M:MbUnit.Framework.Retry.WithPolling(System.TimeSpan)">
            <summary>
            Specifies a polling time between each consecutive evaluation of the condition.
            </summary>
            <remarks>
            <para>
            If not specified, the default polling time is zero; which causes the condition to be evaluated as fast as possible, with
            only a brief suspension of the current thread (<see cref="M:System.Threading.Thread.Sleep(System.TimeSpan)"/>).
            </para>
            </remarks>
            <param name="polling">The polling time.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the option was called more than once.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="polling"/> represents a negative duration.</exception>
        </member>
        <member name="M:MbUnit.Framework.Retry.WithTimeout(System.Int32)">
            <summary>
            Specifies a timeout value expressed in milliseconds.
            </summary>
            <remarks>
            <para>
            The retry operation fails if the overall duration exceeds the specified timeout value.
            </para>
            <para>
            If not specified, the default timeout value is set to 10 seconds.
            </para>
            </remarks>
            <param name="milliseconds">The timeout value expressed in milliseconds, or a negative value to specify no timeout value.
            A value of zero, will let the condition to be evaluated only once.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the option was called more than once.</exception>
        </member>
        <member name="M:MbUnit.Framework.Retry.WithTimeout(System.TimeSpan)">
            <summary>
            Specifies a timeout value.
            </summary>
            <remarks>
            <para>
            The retry operation fails if the overall duration exceeds the specified timeout value.
            </para>
            <para>
            If not specified, the default timeout value is set to 10 seconds.
            </para>
            </remarks>
            <param name="timeout">The timeout value, or a negative value to specify no timeout value.
            A value of zero, will let the condition to be evaluated only once.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the option was called more than once.</exception>
        </member>
        <member name="M:MbUnit.Framework.Retry.DoBetween(Gallio.Common.Action)">
            <summary>
            Specifies a custom action to be executed between each consecutive attempt, but not before the first one.
            </summary>
            <param name="action">A custom action to be executed.</param>
            <returns>An instance to specify other options for the retry operation.</returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the option was called more than once.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="action"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.Retry.WithFailureMessage(System.String,System.Object[])">
            <summary>
            Specifies a custom formatted message to be added to the text of the assertion raised when
            the retry operation has failed.
            </summary>
            <param name="messageFormat">A user-supplied assertion failure message string, or null if none.</param>
            <param name="messageArgs">The format arguments, or null or empty if none.</param>
            <returns></returns>
        </member>
        <member name="M:MbUnit.Framework.Retry.Until(Gallio.Common.Func{System.Boolean})">
            <summary>
            Specifies the condition to evaluate repeatedly, and starts the entire operation.
            </summary>
            <remarks>
            <para>
            The condition is considered fulfilled when it returns true.
            </para>
            </remarks>
            <param name="condition">The condition to evaluate.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown when the condition is still false, and a timeout occured, or the maximum
            number of evaluation attempts was reached.</exception>
        </member>
        <member name="M:MbUnit.Framework.Retry.Until(System.Threading.WaitHandle)">
            <summary>
            Specifies a <see cref="T:System.Threading.WaitHandle"/> instance to wait for being signaled, and starts the entire operation.
            </summary>
            <param name="waitHandle">The wait handle to evaluate.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown when the wait handle is still unsignaled, and a timeout occured, or the maximum
            number of evaluation attempts was reached.</exception>
            <seealso cref="M:System.Threading.WaitHandle.WaitOne(System.Int32,System.Boolean)"/>
        </member>
        <member name="M:MbUnit.Framework.Retry.Until(System.Threading.Thread)">
            <summary>
            Specifies a <see cref="T:System.Threading.Thread"/> instance to wait for being terminated, and starts the entire operation.
            </summary>
            <param name="tread">The thread to evaluate.</param>
            <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown when the thread is still alive, and a timeout occured, or the maximum
            number of evaluation attempts was reached.</exception>
            <seealso cref="M:System.Threading.Thread.Join(System.Int32)"/>
        </member>
        <member name="T:MbUnit.Framework.RowAttribute">
            <summary>
            Provides a row of literal values as a data source.
            </summary>
            <remarks>
            <para>
            The values specified in the row are used for data-driven testing purposes.
            A row may specify zero or more values that are manipulated as a unit.  Typically
            each row generates a single instance instance of a data-driven test.
            </para>
            <para>
            By default, the columns provided by the row data source are unnamed.
            Use <see cref="T:MbUnit.Framework.HeaderAttribute"/> to provide an explicit name for each column.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [Test]
            [Row(1, "a", 0.1)]
            [Row(2, "b", 0.2)]
            public void MyTest(int x, string y, double z)
            {
                // This test will run twice.  Once with x = 1, y = "a", and z = 0.1
                // then again with x = 2, y = "b", and z = 0.2.
            }
            ]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.ColumnAttribute"/>
            <seealso cref="T:MbUnit.Framework.HeaderAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.RowAttribute.#ctor(System.Object[])">
            <summary>
            Adds a row of literal values.
            </summary>
            <remarks>
            <para>
            There exist two ambiguities in the use of this attribute that
            result from how the C# compiler handles functions that accept
            a variable number of arguments.
            </para>
            <para>
            Case 1: If there is only 1 argument and its value is <c>null</c>, the
            compiler will pass a <c>null</c> array reference to the attribute constructor.
            Since the value array cannot be null, the attribute will assume that
            you meant to create an array consiting of a single <c>null</c>.
            </para>
            <code><![CDATA[
            // Example of case #1.
            // The attribute will assume that you intended to pass in a single null value.
            [Test]
            [Row(null)]
            public void Test(object value)
            {
                Assert.IsNull(value);
            }
            ]]></code>
            <para>
            Case 2: If there is only 1 argument and its value is an object array, the
            compiler will pass the array itself as the argument values.  Unfortunately,
            the attribute constructor cannot distinguish this case from the usual case
            when multiple arguments are present.  So you need to disambiguate this case
            explicitly.
            </para>
            <code><![CDATA[
            // Example of case #2.
            // The attribute will treat both of the following declarations equivalently
            // contrary to what we probably intend.
            [Row(new object[] { 1, 2, 3 })]
            [Row(1, 2, 3)]
            ]]></code>
            <para>
            To fix this case, you must provide explicit disambiguation.
            (We cannot do it automatically based on the number of method parameters provided
            because the row attribute can be applied to other elements besides methods and
            its contents might be consumed in other ways.)
            </para>
            <code><![CDATA[
            // Example of case #2, disambiguated to define a row that contains only an array of values.
            [Test]
            [Row(new object[] { new object[] { 1, 2, 3 })]
            public void Test(object[] values)
            {
                ArrayAssert.AreElementsEqual(new object[] { 1, 2, 3 }, values);
            }
            ]]></code>
            </remarks>
            <param name="values">The array of values in the row.</param>
        </member>
        <member name="M:MbUnit.Framework.RowAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.RowAttribute.Values">
            <summary>
            Gets the array of values in the row.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.AssemblyResolverAttribute">
            <summary>
            Registers a custom assembly resolver.
            </summary>
            <remarks>
            <para>
            A custom assembly resolver allows a test assembly to augment the default
            assembly loading policy with custom rules.
            </para>
            <para>
            To create a custom assembly resolver, define a resolver class that implement
            the <see cref="T:Gallio.Runtime.Loader.IAssemblyResolver"/> interface then apply the <see cref="T:MbUnit.Framework.AssemblyResolverAttribute"/>
            to the test assembly at the assembly level.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.AssemblyResolverAttribute.#ctor(System.Type)">
            <summary>
            Registers a custom assembly resolver.
            </summary>
            <param name="assemblyResolverType">The assembly resolver type, must
            implement <see cref="T:Gallio.Runtime.Loader.IAssemblyResolver"/>.</param>
        </member>
        <member name="M:MbUnit.Framework.AssemblyResolverAttribute.Initialize(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IAssemblyInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.AssemblyResolverAttribute.AssemblyResolverType">
            <summary>
            Gets the assembly resolver type.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.AuthorAttribute">
            <summary>
            Associates the author's name and email address with a test fixture, test method,
            test parameter or other test component.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.AuthorAttribute.#ctor(System.String)">
            <summary>
            Associates the author's name with the test component annotated
            by this attribute.
            </summary>
            <param name="authorName">The author's name.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="authorName"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.AuthorAttribute.#ctor(System.String,System.String)">
            <summary>
            Associates the author's name and email address with the test component annotated
            by this attribute.
            </summary>
            <param name="authorName">The author's name.</param>
            <param name="authorEmail">The author's email address.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="authorName"/> or <paramref name="authorEmail "/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.AuthorAttribute.#ctor(System.String,System.String,System.String)">
            <summary>
            Associates the author's name, email address and homepage with the test component annotated
            by this attribute.
            </summary>
            <param name="authorName">The author's name.</param>
            <param name="authorEmail">The author's email address.</param>
            <param name="authorHomepage">The author's home page.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="authorName"/>,
            <paramref name="authorEmail "/> or <paramref name="authorHomepage"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.AuthorAttribute.GetMetadata">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.AuthorAttribute.AuthorName">
            <summary>
            Gets or sets the author's name.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.AuthorAttribute.AuthorEmail">
            <summary>
            Gets or sets the author's email address or an empty string if none.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.AuthorAttribute.AuthorHomepage">
            <summary>
            Gets or sets the author's homepage or an empty string if none.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.CategoryAttribute">
            <summary>
            Associates a category name with a test fixture, test method, test parameter
            or other test component.
            </summary>
            <remarks>
            <para>
            The category name can be used to classify tests and build test suites of related tests.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.CategoryAttribute.#ctor(System.String)">
            <summary>
            Associates a category with the test component annotated by this attribute.
            </summary>
            <param name="category">The name of the category to associate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="category"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.CategoryAttribute.GetMetadata">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.CategoryAttribute.Category">
            <summary>
            Gets the name of the category.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.DescriptionAttribute">
            <summary>
            Associates a description with a test fixture, test method, test parameter
            or other test component.
            </summary>
            <remarks>
            <para>
            The description provides documentation to users when browsing the tests.
            However, it is not the only way.  If the test has associated XML documentation
            comments and the compiler is generating an XML documentation file for the
            test assembly, then MbUnit will automatically import the documentation and
            make it available to the user as metadata.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.DescriptionAttribute.#ctor(System.String)">
            <summary>
            Associates a description with the test component annotated by this attribute.
            </summary>
            <param name="description">The description to associate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="description"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.DescriptionAttribute.GetMetadata">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.DescriptionAttribute.Description">
            <summary>
            Gets or sets the description.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ExpectedArgumentExceptionAttribute">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.ArgumentException"/>.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may optionally be specified.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ExpectedArgumentExceptionAttribute.#ctor">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.ArgumentException"/>.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ExpectedArgumentExceptionAttribute.#ctor(System.String)">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.ArgumentException"/>.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may also optionally be specified.
            </para>
            </remarks>
            <param name="message">The expected exception message, or null if not specified.</param>
        </member>
        <member name="T:MbUnit.Framework.ExpectedArgumentNullExceptionAttribute">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.ArgumentNullException"/>.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may optionally be specified.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ExpectedArgumentNullExceptionAttribute.#ctor">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.ArgumentNullException"/>.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ExpectedArgumentNullExceptionAttribute.#ctor(System.String)">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.ArgumentNullException"/>.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may also optionally be specified.
            </para>
            </remarks>
            <param name="message">The expected exception message, or null if not specified.</param>
        </member>
        <member name="T:MbUnit.Framework.ExpectedArgumentOutOfRangeExceptionAttribute">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.ArgumentOutOfRangeException"/>.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may optionally be specified.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ExpectedArgumentOutOfRangeExceptionAttribute.#ctor">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.ArgumentOutOfRangeException"/>.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ExpectedArgumentOutOfRangeExceptionAttribute.#ctor(System.String)">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.ArgumentOutOfRangeException"/>.
            </summary>
            <remarks>
            <para>
            The expected contents of the exception message may also optionally be specified.
            </para>
            </remarks>
            <param name="message">The expected exception message, or null if not specified.</param>
        </member>
        <member name="T:MbUnit.Framework.IgnoreAttribute">
            <summary>
            Indicates that a test is to be ignored by the framework and will not be run.
            </summary>
            <remarks>
            <para>
            The test will still appear in test reports along with the reason that it
            was ignored, if provided.
            </para>
            <para>
            This attribute can be used to disable tests that are broken or expensive
            without commenting them out or removing them from the source code.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.IgnoreAttribute.#ctor">
            <summary>
            Indicates that this test is to be ignored without providing a reason.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.IgnoreAttribute.#ctor(System.String)">
            <summary>
            Indicates that this test is to be ignored and provides a reason.
            </summary>
            <param name="reason">The reason for which the test is to be ignored.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reason"/>
            is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.IgnoreAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.IgnoreAttribute.Reason">
            <summary>
            Gets the reason that the test has been ignored, or an empty string if none.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ImportanceAttribute">
            <summary>
            Associates a <see cref="T:MbUnit.Framework.Importance"/> with a test fixture, test method,
            test parameter or other test component.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ImportanceAttribute.#ctor(MbUnit.Framework.Importance)">
            <summary>
            Associates a <see cref="T:MbUnit.Framework.Importance"/>  with the test component annotated by this attribute.
            </summary>
            <param name="importance">The importance to associate.</param>
        </member>
        <member name="M:MbUnit.Framework.ImportanceAttribute.GetMetadata">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ImportanceAttribute.Importance">
            <summary>
            Gets or sets the importance.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.MetadataAttribute">
            <summary>
            Associates custom metadata with a test fixture, test method, test parameter
            or other test component.  The metadata can be used for documentation, classification
            or dynamic customization of tests.
            </summary>
            <remarks>
            <para>
            Metadata appears in the test reports and can be used for filtering.  It is also
            accessible at runtime by inspecting the properties of the current test in the
            <see cref="T:Gallio.Framework.TestContext"/>.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.MetadataAttribute.#ctor(System.String,System.String)">
            <summary>
            Associates custom metadata with a test component.
            </summary>
            <param name="metadataKey">The metadata key.</param>
            <param name="metadataValue">The metadata value.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="metadataKey"/>
            or <paramref name="metadataValue"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.MetadataAttribute.GetMetadata">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.MetadataAttribute.MetadataKey">
            <summary>
            Gets the metadata key.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.MetadataAttribute.MetadataValue">
            <summary>
            Gets the metadata value.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ParameterAttribute">
            <summary>
            Declares that a property, field, method parameter, constructor parameter,
            generic type parameter or generic method parameter represents a test parameter.
            </summary>
            <remarks>
            <para>
            This attribute is optional for a method parameter, constructor parameter,
            generic type parameter or generic method parameter.  For a property or field,
            this attribute is required unless the property or field has at least one associated data
            source, in which case the attribute can be omitted.
            </para>
            <para>
            In other words, this attribute only needs to be specified on a property
            or field that does not have an associated explicit data binding attribute.
            This is typically the case when the parameter obtains its values from a
            data source defined by the test fixture.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [Header("Parameter1", "Parameter2")]
            [Row(1, "a")]
            [Row(2, "b")]
            public class Fixture
            {
                [Parameter]
                public int Parameter1;
                
                [Parameter]
                public string Parameter2 { get; set; }
            }
            ]]></code>
            </example>
        </member>
        <member name="T:MbUnit.Framework.MirrorException">
            <summary>
            The type of exception thrown when a <see cref="T:MbUnit.Framework.Mirror"/> is unable to find a member.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.MirrorException.#ctor">
            <summary>
            Creates an exception.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.MirrorException.#ctor(System.String)">
            <summary>
            Creates an exception.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:MbUnit.Framework.MirrorException.#ctor(System.String,System.Exception)">
            <summary>
            Creates an exception.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MbUnit.Framework.MirrorException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Creates an exception from serialization info.
            </summary>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
        </member>
        <member name="T:MbUnit.Framework.SequentialJoinAttribute">
            <summary>
            Sets the join strategy of a test to be sequential.
            </summary>
            <remarks>
            <para>
            The test will be executed using values drawn from each data source and combined sequentially
            with elements from each data source chosen in order.
            </para>
            <para>
            If there are two data sources, A and B with values A1, A2, B1 and B2, then the test will be
            run twice with inputs: (A1, B1) and (A2, B2).
            </para>
            </remarks>
            <seealso cref="T:Gallio.Framework.Data.SequentialJoinStrategy"/>
            <seealso cref="T:MbUnit.Framework.CombinatorialJoinAttribute"/>
            <seealso cref="T:MbUnit.Framework.PairwiseJoinAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.SequentialJoinAttribute.GetJoinStrategy">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.SetUpAttribute">
            <summary>
            Specifies a method that is to be invoked before each test in a fixture executes
            to set up the state of the test.  
            </summary>
            <remarks>
            <para>
            The method will run once for each test.
            </para>
            <para>
            The attribute may be applied to multiple methods within a fixture, however
            the order in which they are processed is undefined.
            </para>
            <para>
            The method to which this attribute is applied must be declared by the
            fixture class and must not have any parameters.  The method may be static.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.SetUpAttribute.DecorateContainingScope(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.TearDownAttribute">
            <summary>
            Specifies a method that is to be invoked after each test in a fixture executes
            to tear down the state of the test.  
            </summary>
            <remarks>
            <para>
            The method will run once for each test.
            </para>
            <para>
            The attribute may be applied to multiple methods within a fixture, however
            the order in which they are processed is undefined.
            </para>
            <para>
            The method to which this attribute is applied must be declared by the
            fixture class and must not have any parameters.  The method may be static.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TearDownAttribute.DecorateContainingScope(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.TestAttribute">
            <summary>
            Specifies that a method represents a single test case within a fixture.
            </summary>
            <remarks>
            <para>
            By default, if the method throws an unexpected exception,
            the test will be deemed to have failed.  Otherwise, the test will pass.
            </para>
            <para>
            The default behavior may be modified by test decorator attributes that
            may alter the execution environment of the test, catch and reinterpret
            any exceptions it throws, or impose additional constraints upon its execution.
            </para>
            <para>
            Output from the test, such as text written to the console, is captured
            by the framework and will be included in the test report.  Additional
            information can also be logged during test execution using the <see cref="T:Gallio.Framework.TestLog"/>
            class.
            </para>
            <para>
            A test method has a timeout of 10 minutes by default.  This may be changed
            using the <see cref="T:MbUnit.Framework.TimeoutAttribute"/>.
            </para>
            <para>
            The method to which this attribute is applied must be declared by the
            fixture class.  The method may be static.  If it has parameters, then the
            test is considered to be data-driven.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TestAttribute.Execute(Gallio.Framework.Pattern.PatternTestInstanceState)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.TestDecoratorAttribute">
            <summary>
            An abstract base class for implementing new test decorator behaviors.
            </summary>
            <remarks>
            <para>
            A test decorator applies actions to be performed around the initialization, setup,
            execution, teardown and disposal lifecycle of a test (in that order).
            </para>
            <para>
            This abstract class provides a convenient way to implement new test decorators
            of your own.  To add new behavior to the decorator, override the appropriate
            lifecycle methods, such as <see cref="M:MbUnit.Framework.TestDecoratorAttribute.Execute(Gallio.Framework.Pattern.PatternTestInstanceState)"/>.
            </para>
            <para>
            If you need more control over how the test is decorated, you may
            prefer subclassing <see cref="T:Gallio.Framework.Pattern.TestDecoratorPatternAttribute"/> directly instead.
            </para>
            <para>
            When multiple test decorators are applied to a test, they are installed
            in order according to the <see cref="P:Gallio.Framework.Pattern.DecoratorPatternAttribute.Order"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TestDecoratorAttribute.Initialize(Gallio.Framework.Pattern.PatternTestInstanceState)">
            <summary>
            Initializes the test.
            </summary>
            <remarks>
            <para>
            Override this method to add your own behavior around the default actions.
            </para>
            </remarks>
            <param name="testInstanceState">The test instance state, not null.</param>
            <seealso cref="P:Gallio.Framework.Pattern.PatternTestInstanceActions.InitializeTestInstanceChain"/>
        </member>
        <member name="M:MbUnit.Framework.TestDecoratorAttribute.SetUp(Gallio.Framework.Pattern.PatternTestInstanceState)">
            <summary>
            Sets up the test.
            </summary>
            <remarks>
            <para>
            Override this method to add your own behavior around the default actions.
            </para>
            </remarks>
            <param name="testInstanceState">The test instance state, not null.</param>
            <seealso cref="P:Gallio.Framework.Pattern.PatternTestInstanceActions.SetUpTestInstanceChain"/>
        </member>
        <member name="M:MbUnit.Framework.TestDecoratorAttribute.Execute(Gallio.Framework.Pattern.PatternTestInstanceState)">
            <summary>
            Executes the test.
            </summary>
            <remarks>
            <para>
            Override this method to add your own behavior around the default actions.
            </para>
            </remarks>
            <param name="testInstanceState">The test instance state, not null.</param>
            <seealso cref="P:Gallio.Framework.Pattern.PatternTestInstanceActions.ExecuteTestInstanceChain"/>
        </member>
        <member name="M:MbUnit.Framework.TestDecoratorAttribute.TearDown(Gallio.Framework.Pattern.PatternTestInstanceState)">
            <summary>
            Tears down the test.
            </summary>
            <remarks>
            <para>
            Override this method to add your own behavior around the default actions.
            </para>
            </remarks>
            <param name="testInstanceState">The test instance state, not null.</param>
            <seealso cref="P:Gallio.Framework.Pattern.PatternTestInstanceActions.TearDownTestInstanceChain"/>
        </member>
        <member name="M:MbUnit.Framework.TestDecoratorAttribute.Dispose(Gallio.Framework.Pattern.PatternTestInstanceState)">
            <summary>
            Disposes the test.
            </summary>
            <remarks>
            <para>
            Override this method to add your own behavior around the default actions.
            </para>
            </remarks>
            <param name="testInstanceState">The test instance state, not null.</param>
            <seealso cref="P:Gallio.Framework.Pattern.PatternTestInstanceActions.DisposeTestInstanceChain"/>
        </member>
        <member name="M:MbUnit.Framework.TestDecoratorAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.TestFixtureAttribute">
            <summary>
            Specifies that a class represents a test fixture.  This attribute is optional.
            </summary>
            <remarks>
            <para>
            The test fixture attribute is applied to a class that contains a suite
            of related test cases.  If an error occurs while initializing the fixture
            or if at least one of the test cases within the fixture fails,
            then the fixture itself will be deemed to have failed.  Otherwise the
            fixture will pass.
            Output from the fixture, such as text written to the console, is captured
            by the framework and will be included in the test report.
            </para>
            <para>
            A test fixture has no timeout by default.  This may be changed
            using the <see cref="T:MbUnit.Framework.TimeoutAttribute"/>.
            </para>
            <para>
            This attribute may be omitted whenever a test fixture class contains at least
            one test method or test parameter or when other MbUnit attributes are applied
            to the test fixture class.  This is almost always the case unless for some reason
            you have an empty fixture.
            </para>
            <para>
            The class must have a public default constructor.  The class may not be static.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TestFixtureAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ITypeInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.FixtureSetUpAttribute">
            <summary>
            Specifies a method that is to be invoked to set up the state of a fixture
            before any of its tests are executed.
            </summary>
            <remarks>
            <para>
            The attribute may be applied to multiple methods within a fixture, however
            the order in which they are processed is undefined.
            </para>
            <para>
            The method to which this attribute is applied must be declared by the
            fixture class and must not have any parameters.  The method may be static.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.FixtureSetUpAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.FixtureSetUpAttribute.DecorateContainingScope(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.FixtureTearDownAttribute">
            <summary>
            Specifies a method that is to be invoked to tear down the state of a fixture
            after all of its tests have been executed.
            </summary>
            <remarks>
            <para>
            The attribute may be applied to multiple methods within a fixture, however
            the order in which they are processed is undefined.
            </para>
            <para>
            The method to which this attribute is applied must be declared by the
            fixture class and must not have any parameters.  The method may be static.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.FixtureTearDownAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.FixtureTearDownAttribute.DecorateContainingScope(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.Importance">
            <summary>
            Specifies the test's relative importance which can be used for classifying tests
            to be executed.
            </summary>
            <remarks>
            <para>
            In MbUnit v2 this enum had the <see cref="T:System.FlagsAttribute"/> attribute which was
            pointless because the values were not binary so they could not actually be OR'ed together
            without loss of information.
            </para>
            <para>
            In MbUnit v3, to indicate that a test belongs to multiple importance classes, decorate it with
            multiple occurrences of the <see cref="T:MbUnit.Framework.ImportanceAttribute"/>.
            </para>
            </remarks>
        </member>
        <member name="F:MbUnit.Framework.Importance.Critical">
            <summary>
            Critical importance.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.Importance.Severe">
            <summary>
            Severe importance.  Less important than <see cref="F:MbUnit.Framework.Importance.Critical"/>.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.Importance.Serious">
            <summary>
            Serious importance.  Less important than <see cref="F:MbUnit.Framework.Importance.Severe"/>.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.Importance.Default">
            <summary>
            Default importance.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.Importance.NoOneReallyCaresAbout">
            <summary>
            Not important.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.TestsOnAttribute">
            <summary>
            Associates the name of the type under test with a test fixture, test method,
            test parameter or other test component.
            </summary>
            <remarks>
            <para>
            Specifying the type under test helps to describe which type is primarily being exercised
            by the test.  This way we can quickly identify which tests to run after making
            changes to a given type.  We can also use the TestsOn metadata as a filter so
            that we can tell the test runner to only run tests about a particular type.
            </para>
            <para>
            This attribute can be repeated multiple times if there are multiple types.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TestsOnAttribute.#ctor(System.Type)">
            <summary>
            Associates the type under test with the test component annotated by this attribute.
            </summary>
            <param name="type">The type under test.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="type"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.TestsOnAttribute.#ctor(System.String)">
            <summary>
            Associates the full name or assembly qualified name of the type under test
            with the test component annotated by this attribute.
            </summary>
            <param name="typeName">The name of the type under test as obtained by <see cref="P:System.Type.FullName"/>
            or <see cref="P:System.Type.AssemblyQualifiedName"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="typeName"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.TestsOnAttribute.GetMetadata">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.TestsOnAttribute.TypeName">
            <summary>
            Gets the full name or assembly qualified name of the type under test.
            </summary>
            <value>
            The name of the type under test as obtained by <see cref="P:System.Type.FullName"/>
            or <see cref="P:System.Type.AssemblyQualifiedName"/>.
            </value>
        </member>
        <member name="T:MbUnit.Framework.ThreadedRepeatAttribute">
            <summary>
            Decorates a test method and causes it to be invoked repeatedly
            on multiple concurrent threads.
            </summary>
            <remarks>
            <para>
            Each repetition of the test method will occur within its own individually labeled
            test step so that it can be identified in the test report.
            </para>
            <para>
            The initialize, setup, teardown and dispose methods will are invoked around each
            repetition of the test.  Be aware that this means that these invocations may
            occur concurrently!
            </para>
            </remarks>
            <seealso cref="T:MbUnit.Framework.RepeatAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.ThreadedRepeatAttribute.#ctor(System.Int32)">
            <summary>
            Executes the test method on the specified number of concurrent threads.
            </summary>
            <example>
            <code><![CDATA[
            [Test]
            [ThreadedRepeat(10)]
            public void Test()
            {
                // This test will be executed 10 times on 10 concurrent threads.
            }
            ]]></code>
            </example>
            <param name="numThreads">The number of threads to execute the test on.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="numThreads"/>
            is less than 1.</exception>
        </member>
        <member name="M:MbUnit.Framework.ThreadedRepeatAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.TimeoutAttribute">
            <summary>
            Sets the maximum amount of time in seconds that a test or fixture is permitted to run.
            </summary>
            <remarks>
            <para>
            The default timeout is unlimited for test fixtures and 10 minutes for test methods.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TimeoutAttribute.#ctor(System.Int32)">
            <summary>
            Sets the test timeout in seconds, or zero if none.
            </summary>
            <param name="timeoutSeconds">The timeout in seconds, or zero if none.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeoutSeconds"/> is less than 0.</exception>
        </member>
        <member name="M:MbUnit.Framework.TimeoutAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.TimeoutAttribute.TimeoutSeconds">
            <summary>
            Gets the test timeout in seconds, or zero if none.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.TimeoutAttribute.Timeout">
            <summary>
            Gets the timeout, or null if none.
            </summary>
        </member>
        <member name="T:MbUnit.Properties.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:MbUnit.Properties.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:MbUnit.Properties.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:MbUnit.Properties.Resources.Database_EnCountries">
             <summary>
               Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
            &lt;Database xmlns=&quot;Gallio.Framework.Data.Generation&quot;&gt;
              &lt;!-- Reference: Countries or areas, codes and abbreviations (04/15/2009)
              [http://unstats.un.org/unsd/methods/m49/m49alpha.htm] --&gt;
              &lt;Item&gt;James&lt;/Item&gt;
              &lt;Item&gt;Afghanistan&lt;/Item&gt;
              &lt;Item&gt;Åland Island&lt;/Item&gt;
              &lt;Item&gt;Albania&lt;/Item&gt;
              &lt;Item&gt;Algeria&lt;/Item&gt;
              &lt;Item&gt;American Samoa&lt;/Item&gt;
              &lt;Item&gt;Andorra&lt;/Item&gt;
              &lt;Item&gt;Angola&lt;/Item&gt;
              &lt;Item&gt;Anguilla&lt;/Item&gt;
              &lt;Item&gt;Antigua and Barbuda&lt;/Item&gt;
              &lt;Item&gt;Argentin [rest of string was truncated]&quot;;.
             </summary>
        </member>
        <member name="P:MbUnit.Properties.Resources.Database_EnUSMaleNames">
             <summary>
               Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
            &lt;Database xmlns=&quot;Gallio.Framework.Data.Generation&quot;&gt;
              &lt;Item&gt;James&lt;/Item&gt;
              &lt;Item&gt;John&lt;/Item&gt;
              &lt;Item&gt;Robert&lt;/Item&gt;
              &lt;Item&gt;Michael&lt;/Item&gt;
              &lt;Item&gt;William&lt;/Item&gt;
              &lt;Item&gt;David&lt;/Item&gt;
              &lt;Item&gt;Richard&lt;/Item&gt;
              &lt;Item&gt;Charles&lt;/Item&gt;
              &lt;Item&gt;Joseph&lt;/Item&gt;
              &lt;Item&gt;Thomas&lt;/Item&gt;
              &lt;Item&gt;Christopher&lt;/Item&gt;
              &lt;Item&gt;Daniel&lt;/Item&gt;
              &lt;Item&gt;Paul&lt;/Item&gt;
              &lt;Item&gt;Mark&lt;/Item&gt;
              &lt;Item&gt;Donald&lt;/Item&gt;
              &lt;Item&gt;George&lt;/Item&gt;
              &lt;Item&gt;Kenneth&lt;/Item&gt;
              &lt;Item&gt;Steven&lt;/Item&gt;
              &lt; [rest of string was truncated]&quot;;.
             </summary>
        </member>
        <member name="P:MbUnit.Properties.Resources.Database_Schema">
             <summary>
               Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
            &lt;xs:schema 
              elementFormDefault=&quot;qualified&quot; 
              targetNamespace=&quot;Gallio.Framework.Data.Generation&quot; 
              xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
              &lt;xs:element name=&quot;Database&quot;&gt;
                &lt;xs:complexType&gt;
                  &lt;xs:sequence&gt;
                    &lt;xs:element maxOccurs=&quot;unbounded&quot; name=&quot;Item&quot; type=&quot;xs:string&quot; /&gt;
                  &lt;/xs:sequence&gt;
                &lt;/xs:complexType&gt;
              &lt;/xs:element&gt;
            &lt;/xs:schema&gt;.
             </summary>
        </member>
        <member name="P:MbUnit.Properties.Resources.MbUnitFrameworkTest_MbUnitFrameworkVersionFormat">
            <summary>
              Looks up a localized string similar to MbUnit v{0}.
            </summary>
        </member>
        <member name="P:MbUnit.Properties.Resources.MbUnitTestFramework_FrameworkName">
            <summary>
              Looks up a localized string similar to MbUnit v3.
            </summary>
        </member>
        <member name="T:MbUnit.Core.MbUnitTestFramework">
            <summary>
            The MbUnit test framework.
            </summary>
        </member>
        <member name="M:MbUnit.Core.MbUnitTestFramework.GetExtensions(Gallio.Common.Reflection.IAssemblyInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Core.MbUnitTestFramework.VersionLabel">
            <summary>
            Gets the MbUnit version label.
            </summary>
            <value>A string similar to "MbUnit v3.1 build 200".</value>
        </member>
        <member name="T:MbUnit.Core.NamespaceDoc">
            <summary>
            The MbUnit.Core namespace contains types used internally by MbUnit.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.AccessorContract`2">
            <summary>
            Contract for verifying the implementation of public type accessors, usually the getter and the setter of a particular property.
            </summary>
            <remarks>
            <para>
            Built-in verifications:
            <list type="bullet">
            <item>
            <strong>SetValidValues</strong> : The setter accepts the values specified in the <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.ValidValues"/> 
            contract property as valid assignment values,
            and the getter returns equal values (object equality) when called afterwards.
            </item>
            <item>
            <strong>SetInvalidValues</strong> : The setter rejects the values specified in the <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.InvalidValues"/> 
            contract property by throwing the appropriate exception. The test is not run when the <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.InvalidValues"/> 
            contract property is left empty.
            </item>
            <item>
            <strong>SetNullValue</strong> : The setter rejects or accepts a null reference value according to the state of the 
            <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.AcceptNullValue"/> contract property. If set to true, the setter is expected to accept a null reference 
            as a valid value, and the getter to return a null reference as well. If set to false, the setter is expected to reject 
            a null reference assignment by throwing a <see cref="T:System.ArgumentNullException"/> exception. If the type handled by 
            the tested accessors is not nullable (a value type by example), the test is not run.
            </item>
            </list>
            </para>
            </remarks>
            <example>
            The following examples shows a simple class that contains a property, and a test fixture which declares an accessor
            contract to verify the expected behavior of the subject property.
            <code><![CDATA[
            public class Foo
            {
                private string name;
                
                public string Name
                {
                    get
                    {
                        return name;
                    }
                    
                    set
                    {
                        if (value == null)
                        {
                            throw new ArgumentNullException("value");
                        }
                    
                        if (value.Length == 0)
                        {
                            throw new ArgumentException("Cannot be an empty string.", "value");
                        }
            
                        name = value;
                    }
                }
            }
            
            [TestFixture]
            public class FooTest
            {
                [VerifyContract]
                public readonly IContract NameAccessorTests = new AccessorContract<Foo, string>
                {
                    PropertyName = "Name",
                    AcceptNullValue = false,
                    ValidValues = { "Value1", "Value2" },
                    InvalidValues =
                    {
                        { typeof(ArgumentException), String.Empty }
                    }
                };
            }
            ]]></code>
            </example>
            <typeparam name="TTarget">The type of the tested object which contain the accessors.</typeparam>
            <typeparam name="TValue">The type of the value handled by the accessors.</typeparam>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.AccessorContract`2.#ctor">
            <summary>
            Default constructor.
            </summary>
            <remarks>
            <para>
            Use the named parameters <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.DefaultInstance"/>, <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Getter"/>, 
            <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Setter"/>, <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.PropertyName"/>, <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.ValidValues"/>, 
            and <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.InvalidValues"/> to specify some options.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.AccessorContract`2.GetContractVerificationTests">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.DefaultInstance">
            <summary>
            Provides a default instance of the tested type.
            </summary>
            <remarks>
            <para>
            By default, the contract verifier attempts to invoke the default constructor to get an valid instance. 
            Overwrite the default provider if the type has no default constructor, or if you want to use a particular instance.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [VerifyContract]
            public readonly IContract AccessorTest = new AccessorContract<Foo, int>
            {
                DefaultInstance = () => new Foo("Hello")
                // Other initialization stuff...
            };
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Setter">
            <summary>
            Specifies an explicit way to set a value to the tested accessors.
            </summary>
            <remarks>
            <para>
            Identify the tested accessors by using one of the following methods:
            <list type="bullet">
            <item>
            <strong>Explicitly invoke the getter and the setter.</strong> : Specify how to invoke to getter and 
            the setter by providing appropriate  delegates to the <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Getter"/> and <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Setter"/> 
            contract properties. The <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.PropertyName"/> contract property must be left unitialized (null).
            </item>
            <item>
            <strong>Specify the name of a property.</strong> : Set the name of the tested property by feeding the 
            <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.PropertyName"/> contract property with a valid name. The explicit <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Getter"/> and 
            <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Setter"/> contract properties must then be left uninitialized (null).
            </item>
            </list>
            </para>
            </remarks>
            <example>
            The following example shows how to specify explicitely a getter and a setter.
            <code><![CDATA[
            public class Foo
            {
                public string Name
                {
                    get;
                    set;
                }
            }
            
            [TestFixture]
            public class FooTest
            {
                [VerifyContract]
                public readonly IContract NameAccessorTests = new AccessorContract<Foo, string>
                {
                    Setter = (target, value) => target.Name = value,
                    Getter = (target) => target.Name,
                    ValidValues = { "Value1", "Value2" },
                };
            }
            ]]></code>
            </example>
            <seealso cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Getter"/>
            <seealso cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.PropertyName"/>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Getter">
            <summary>
            Specifies an explicit way to get a value from the tested accessors.
            </summary>
            <seealso cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Setter"/>
            <seealso cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.PropertyName"/>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.PropertyName">
            <summary>
            Specifies the name of tested property.
            </summary>
            <remarks>
            <para>
            Identify the tested accessors with one of the following methods:
            <list type="bullet">
            <item>
            <strong>Explicitly invoke the getter and the setter.</strong> : Specify how to invoke to getter and 
            the setter by providing appropriate delegates to the <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Getter"/> and <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Setter"/> 
            contract properties. The <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.PropertyName"/> contract property must be left unitialized (null).
            </item>
            <item>
            <strong>Specify the name of a property.</strong> : Set the name of the tested property by feeding the 
            <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.PropertyName"/> contract property with a valid name. The explicit <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Getter"/> and 
            <see cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Setter"/> contract properties must then be left uninitialized (null).
            </item>
            </list>
            </para>
            </remarks>
            <example>
            The following example shows how to specify the name of the property.
            <code><![CDATA[
            public class Foo
            {
                public string Name
                {
                    get;
                    set;
                }
            }
            
            [TestFixture]
            public class FooTest
            {
                [VerifyContract]
                public readonly IContract NameAccessorTests = new AccessorContract<Foo, string>
                {
                    PropertyName = "Name",
                    ValidValues = { "Value1", "Value2" },
                };
            }
            ]]></code>
            </example>
            <seealso cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Getter"/>
            <seealso cref="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.Setter"/>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.AcceptNullValue">
            <summary>
            Determines whether the tested accessors are expected to accept a null reference as a valid input.
            </summary>
            <remarks>
            <para>
            If set to <c>true</c>, the setter is expected to accept a null reference as a valid value, and the getter
            to return a null reference as well. If set to <c>false</c>, the setter is expected to reject a null reference assignment by
            throwing a <see cref="T:System.ArgumentNullException"/> exception. If the type handled by the tested accessors is not nullable 
            (a value type by example), the contract property is ignored.
            </para>
            <para>
            The use of that contract property is optional, and its default state is <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.ValidValues">
            <summary>
            Defines a collection of distinct object instances that are expected to be inconditionally accepted as
            valid input by the tested setter. Feeding that contract property with at least one value is mandatory.
            </summary>
            <example>
            The following example shows how to specify some valid values for the contract verifier:
            <code><![CDATA[
            [TestFixture]
            public class FooTest
            {
                [VerifyContract]
                public readonly IContract MyPropertyAccessorTests = new AccessorContract<Foo, int>
                {
                    PropertyName = "MyProperty",
                    ValidValues = { 123, 456, 789 },
                };
            }
            ]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1"/>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.AccessorContract`2.InvalidValues">
            <summary>
            Defines a collection of incompetence classes which identify object instances that are expected to be not accepted
            by the tested setter. Each incompetence class contains a collection of distinct object instance associated 
            with an expected exception type.
            </summary>
            <remarks>
            <para>
            Specifying incompetent values is entirely optional. By default, the entire collection is empty; which causes the 
            test 'SetInvalidValues' to not be run.
            </para>
            </remarks>
            <example>
            The following example shows how to specify some incompetent values for the contract verifier. The example
            assumes that the hypothetical 'Foo.MyProperty' property accepts any integer between 0 and 999, except 666
            which is expected to throw a <see cref="T:System.ArgumentException"/> exception.
            <code><![CDATA[
            [TestFixture]
            public class FooTest
            {
                [VerifyContract]
                public readonly IContract MyPropertyAccessorTests = new AccessorContract<Foo, int>
                {
                    PropertyName = "MyProperty",
                    ValidValues = { 123, 456, 789 },
                    InvalidValues =
                    {
                        { typeof(ArgumentOutOfRangeException), -100, -999, 1000, 99999 },
                        { typeof(ArgumentException), 666 }
                    }
                };
            }
            ]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.InvalidValuesClassCollection`1"/>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.InvalidValuesClass`1"/>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.Core.NamespaceDoc">
            <summary>
            The MbUnit.Framework.ContractVerifiers.Core namespace contains types that are used
            as part of the internal implementation of contract verifiers.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.InvalidValuesClass`1">
            <summary>
            A collection of distinct object instances associated with a particular exception type. 
            </summary>
            <remarks>
            <para>
            Every element represents an instance which is different from all the other 
            elements in the collection (object equality), and which is expected to be
            the primary cause of an exception thrown when it is set or passed to 
            the tested method or property.
            </para>
            <para>
            Distinct invalid instances are used by some contract verifiers such as 
            <see cref="T:MbUnit.Framework.ContractVerifiers.AccessorContract`2"/> to check for the correct 
            detection of invalid or unexpected value assignment.
            </para>
            <para>
            <list type="bullet">
            <item>
            Use the single-parameter constructor to create an empty collection, which can be then
            populated by calling explicitely the <see cref="M:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1.Add(`0)"/>
            method inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1"/>.
            <code><![CDATA[
            var collection = new IncompetenceClass<Foo>(typeof(ArgumentException));
            collection.Add(new Foo(1));
            collection.Add(new Foo(2));
            collection.Add(new Foo(3));
            ]]></code>
            </item>
            <item>
            Use the list initializer syntax, to create a collection initialized with some content.
            <code><![CDATA[
            var collection = new IncompetenceClass<Foo>(typeof(ArgumentException))
            {
                new Foo(1)
                new Foo(2),
                new Foo(3),
            };
            ]]></code>
            </item>
            <item>
            Use the two-parameters constructor to create a collection from an pre-existing enumeration..
            <code><![CDATA[
            var collection = new InvalidClass<Foo>(typeof(ArgumentException), Foo.GetThemAll());
            ]]></code>
            </item>
            </list>
            </para>
            </remarks>
            <typeparam name="T">The type of the object instances in the collection.</typeparam>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1">
            <summary>
            A collection of distinct object instances. Every element represents a valid instance
            which is different from all the other elements in the collection (object equality).
            </summary>
            <remarks>
            <para>
            Distinct instances are used by some contract verifiers such as 
            <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/> to check for the correct 
            implementation of the collection interface.
            </para>
            <para>
            Use the default constructor followed by a list initializer.
            <code><![CDATA[
            var collection = new DistinctInstanceCollection<Foo>
            {
                new Foo(1)
                new Foo(2),
                new Foo(3),
            };
            ]]></code>
            </para>
            <para>
            Or, use the single-parameter constructor to create a collection from an pre-existing enumeration.
            <code><![CDATA[
            var collection = new DistinctInstanceCollection<Foo>(Foo.GetThemAll());
            ]]></code>
            </para>
            </remarks>
            <typeparam name="T">The type of the object instances in the collection.</typeparam>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1.#ctor">
            <summary>
            Constructs an empty collection of distinct object instances.
            </summary>
            <remarks>
            <para>
            All the elements of the collection should be different (object equality).
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Constructs acollection of distinct object instances from the specified
            enumeration of elements.
            </summary>
            <param name="distinctInstances">An enumeration of distinct object instances.</param>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1.Add(`0)">
            <summary>
            Adds the specified instance to the collection.
            </summary>
            <param name="instance">A valid and non-null object instance.</param>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1.GetEnumerator">
            <summary>
            Returns a strongly-typed enumerator that iterates through the collection.
            </summary>
            <returns>A strongly-typed enumerator.</returns>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1.Instances">
            <summary>
            Gets all the instances.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.InvalidValuesClass`1.#ctor(System.Type)">
            <summary>
            Constructs an empty collection of distinct object instances associated with an exception type.
            </summary>
            <remarks>
            <para>
            Use this constructor in conjunction with the <see cref="M:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1.Add(`0)"/>
            method inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.DistinctInstanceCollection`1"/> to initialize the collection; 
            either explicitely.
            <code><![CDATA[
            var collection = new IncompetenceClass<Foo>(typeof(ArgumentException));
            collection.Add(new Foo(1));
            collection.Add(new Foo(2));
            collection.Add(new Foo(3));
            ]]></code>
            Or by using the list initializer syntax.
            <code><![CDATA[
            var collection = new IncompetenceClass<Foo>(typeof(ArgumentException))
            {
                new Foo(1)
                new Foo(2),
                new Foo(3),
            };
            ]]></code>
            </para>
            </remarks>
            <param name="expectedExceptionType">The type of the expected exception.</param>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.InvalidValuesClass`1.#ctor(System.Type,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Constructs a collection of distinct object instances associated with an exception type.
            </summary>
            <remarks>
            <para>
            Every element represents an instance which is different from all the other 
            elements in the collection (object equality), and which is expected to be
            the primary cause of an exception thrown when it is set or passed to 
            the tested method or property.
            </para>
            </remarks>
            <param name="expectedExceptionType">The type of the exception associated with the object instances in the collection.</param>
            <param name="distinctInvalidInstances">An array of distinct object instances.</param>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.InvalidValuesClass`1.ExpectedExceptionType">
            <summary>
            The type of the exception associated with the object instances in the collection.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.InvalidValuesClassCollection`1">
            <summary>
            A collection of classes of distinct object instances gathered by the type
            of the exception which is expected to be raised when the subject instances are passed
            to a tested method or property.
            </summary>
            <remarks>
            <para>
            Distinct invalid instances are used by some contract verifiers such as 
            <see cref="T:MbUnit.Framework.ContractVerifiers.AccessorContract`2"/> to check for the correct 
            detection of invalid or unexpected value assignment.
            </para>
            <para>
            Use the default constructor to create an empty collection, then use the 
            <see cref="M:MbUnit.Framework.ContractVerifiers.InvalidValuesClassCollection`1.Add(System.Type,`0[])"/> method, either explicitely.
            <code><![CDATA[
            var collection = new InvalidValuesClassCollection<Foo>();
            collection.Add(typeof(ArgumentException), new Foo(1), new Foo(2));
            collection.Add(typeof(ArgumentOutOfRangeException), new Foo(3));
            ]]></code>
            Or by using the list initializer syntax, to feed the collection with classes of objects:
            <code><![CDATA[
            var collection = new InvalidValuesClassCollection<Foo>
            {
                { typeof(ArgumentException), new Foo(1), new Foo(2) },
                { typeof(ArgumentOutOfRangeException), new Foo(3) }
            };
            ]]></code>
            </para>
            </remarks>
            <typeparam name="T">The type of the object instances in the inner class collections.</typeparam>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.InvalidValuesClassCollection`1.#ctor">
            <summary>
            Constructs an empty collection of classes of distinct object instances.
            </summary>
            <remarks>
            <para>
            Each class identifies a collection of distinct object instances and the type
            of the exception which is expected to be raised when the subject instances are passed
            to the tested method or property.
            </para>
            <para>
            Once the collection is created, populate it by using the <see cref="M:MbUnit.Framework.ContractVerifiers.InvalidValuesClassCollection`1.Add(System.Type,`0[])"/>
            method; Either explicitely, or by using the list initializer syntax:
            <code><![CDATA[
            var collection = new InvalidValuesClassCollection<Foo>();
            collection.Add(typeof(ArgumentException), new Foo(1), new Foo(2));
            collection.Add(typeof(ArgumentOutOfRangeException), new Foo(3));
            ]]></code>
            <code><![CDATA[
            var collection = new InvalidValuesClassCollection<Foo>
            {
                { typeof(ArgumentException), new Foo(1), new Foo(2) },
                { typeof(ArgumentOutOfRangeException), new Foo(3) }
            };
            ]]></code>
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.InvalidValuesClassCollection`1.Add(MbUnit.Framework.ContractVerifiers.InvalidValuesClass{`0})">
            <summary>
            Adds the specified class of distinct object instance to the collection.
            </summary>
            <param name="invalidClass">The class to add to the collection.</param>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.InvalidValuesClassCollection`1.Add(System.Type,`0[])">
            <summary>
            Adds a new class of distinct object instances to the collection.
            </summary>
            <remarks>
            <para>
            The new class is created with the specified arguments.
            </para>
            </remarks>
            <param name="expectedException">The exception type to associate with the new class.</param>
            <param name="invalidValues">an array of distinct object instances to populate the new class.</param>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.InvalidValuesClassCollection`1.GetEnumerator">
            <summary>
            Returns a strongly-typed enumerator that iterates through the collection.
            </summary>
            <returns>A strongly-typed enumerator.</returns>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.InvalidValuesClassCollection`1.Count">
            <summary>
            Gets the number of invalid classes in the collection.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.Core.ContractVerificationContext">
            <summary>
            Execution context of a contract verification test.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.Core.ContractVerificationContext.#ctor(Gallio.Common.Reflection.ICodeElementInfo)">
            <summary>
            Constructs an execution context for the verification tests of a contract verifier.
            </summary>
            <param name="codeElement">The code element for the contract read-only field.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="codeElement"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.Core.ContractVerificationContext.GetStackTraceData">
            <summary>
            Gets an artificial stack trace data that points to 
            the contract read-only field.
            </summary>
            <returns>An artificial stack trace data that points to the contract read-only field.</returns>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.Core.ContractVerificationContext.CodeElement">
            <summary>
            Gets the code element for the contract read-only field.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2">
            <summary>
            Contract for verifying the implementation of the generic <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <remarks>
            <para>
            Built-in verifications:
            <list type="bullet">
            <item>
            <strong>VerifyReadOnlyProperty</strong> :  The <see cref="P:System.Collections.Generic.ICollection`1.IsReadOnly"/> property returns a value 
            in accordance to the expected result determined in the declaration of the contract verifier, by setting the property
            <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/>. By default, the collection is
            expected to be not read-only (items can be added and removed, and the collection to be cleared).
            </item>
            <item>
            <strong>AddShouldThrowException</strong> : The read-only collection throws an exception when the method 
            <see cref="M:System.Collections.Generic.ICollection`1.Add(`0)"/> is called. The test is not run when the contract property 
            <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> is set to <c>false</c>.
            </item>
            <item>
            <strong>RemoveShouldThrowException</strong> : The read-only collection throws an exception when the method 
            <see cref="M:System.Collections.Generic.ICollection`1.Remove(`0)"/> is called. The test is not run when the contract property 
            <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> is set to <c>false</c>.
            </item>
            <item>
            <strong>ClearShouldThrowException</strong> : The read-only collection throws an exception when the method 
            <see cref="M:System.Collections.Generic.ICollection`1.Clear"/> is called. The test is not run when the contract property 
            <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> is set to <c>false</c>.
            </item>
            <item>
            <strong>AddNullArgument</strong> : The collection throwns a <see cref="T:System.ArgumentNullException"/> when the method <see cref="M:System.Collections.Generic.ICollection`1.Add(`0)"/>
            is called with a null reference item. The test is not run when the contract property 
            <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AcceptNullReference"/> is set to <c>true</c>.
            </item>
            <item>
            <strong>RemoveNullArgument</strong> : The collection throwns a <see cref="T:System.ArgumentNullException"/> when the method 
            <see cref="M:System.Collections.Generic.ICollection`1.Remove(`0)"/> is called with a null reference item. The test is not run when the contract 
            property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AcceptNullReference"/> is set to <c>true</c>.
            </item>
            <item>
            <strong>ContainsNullArgument</strong> :  The collection throws a <see cref="T:System.ArgumentNullException"/> when the method 
            <see cref="M:System.Collections.Generic.ICollection`1.Contains(`0)"/> is called with a null reference item. The test is not run when the contract property 
            <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AcceptNullReference"/> is set to <c>true</c>.
            </item>
            <item>
            <strong>AddItems</strong> : The collection handles correctly with the addition of new items. The method 
            <see cref="M:System.Collections.Generic.ICollection`1.Contains(`0)"/> and the property <see cref="P:System.Collections.Generic.ICollection`1.Count"/> are expected
            to return suited results as well. The case of duplicate items (object equality) is tested too; according
            to the value of contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AcceptEqualItems"/>.
            The test is not run when the contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> 
            is set to <c>true</c>.
            </item>
            <item>
            <strong>RemoveItems</strong> : The collection handles correctly with the removal of items. The method 
            <see cref="M:System.Collections.Generic.ICollection`1.Contains(`0)"/> and the property <see cref="P:System.Collections.Generic.ICollection`1.Count"/> are expected
            to return suited results as well. The test is not run when the contract property 
            <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> is set to <c>true</c>.
            </item>
            <item>
            <strong>ClearItems</strong> : The collection is cleared as expected when the method <see cref="M:System.Collections.Generic.ICollection`1.Clear"/> is called.
            The test is not run when the contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> is set to <c>true</c>.
            </item>
            <item>
            <strong>CopyTo</strong> : The collection performs a copy of the items in an output array. The implementation is expected to
            handle properly with null arguments, and a valid or an invalid index argument.
            </item>
            </list>
            </para>
            </remarks>
            <typeparam name="TCollection">The type of the collection implementing <see cref="T:System.Collections.Generic.ICollection`1"/>.</typeparam>
            <typeparam name="TItem">The type of items contained in the collection.</typeparam>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.CollectionContract`2.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.CollectionContract`2.GetContractVerificationTests">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AssertDistinctIntancesNotEmpty">
            <summary>
            Asserts that the collection of distinct instances specified by the user is not empty.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.CollectionContract`2.CreateNotSupportedWriteTest(System.String,Gallio.Common.Action{`0,`1})">
            <summary>
            Creates a test that invokes an action over the collection, which
            is supposed to not be supported. The test expects that an exception be thrown.
            </summary>
            <param name="methodName">The name of the tested method.</param>
            <param name="invoke">The action to evaluate.</param>
            <returns></returns>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.CollectionContract`2.CreateNullArgumentTest(System.String,System.Action{`0})">
            <summary>
            Creates a test which runs an action over the collection with
            a null argument. The test expects that an exception be thrown.
            </summary>
            <param name="methodName">The name of the tested method.</param>
            <param name="invoke">The action to evaluate.</param>
            <returns></returns>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.CollectionContract`2.GetSafeDefaultInstance">
            <summary>
            Returns safely a default instance of the tested type.
            </summary>
            <remarks>
            <para>
            An assertion failure is generated if the instance cannot be created.
            </para>
            </remarks>
            <returns>A new instance of the tested type as specified in the contract.</returns>
            <exception cref="T:Gallio.Framework.Assertions.AssertionFailureException">Thrown if the instance cannot be generated.</exception>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.DefaultInstance">
            <summary>
            Provides a default instance of the collection to test.
            </summary>
            <remarks>
            <para>
            By default, the contract verifier attempts to invoke the default constructor to get an valid instance. 
            Overwrite the default provider if the collection has no default constructor, or if you want 
            the contract verifier to use a particular instance.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [VerifyContract]
            public readonly IContract CollectionTests = new CollectionContract<MyCollection, int>
            {
                DefaultInstance = () => new MyCollection(1, 2, 3)
            };
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly">
            <summary>
            Determines whether the tested collection is expected to be read-only.
            </summary>
            <remarks>
            <para>
            The default value is <c>false</c>.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AcceptNullReference">
            <summary>
            Determines whether the collection is expected to accept null references as valid items.
            </summary>
            <remarks>
            <para>
            The default value is <c>false</c>.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AcceptEqualItems">
            <summary>
            Determines whether the collection is expected to accept several identical items (object equality).
            The default value is true.
            </summary>
            <remarks>
            <para>
            The default value is <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.DistinctInstances">
            <summary>
            Gets a collection of distinct object instances that feeds the different tests.
            </summary>
            <remarks>
            <para>
            In order to optimize the tests, consider to provide:
            <list type="bullet">
            <item>
            items which are not in the default collection instance yet.
            </item>
            <item>
            items which are in the default collection instance already (if not empty).
            </item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.ListContract`2">
            <summary>
            Contract for verifying the implementation of the generic <see cref="T:System.Collections.Generic.IList`1"/> interface.
            </summary>
            <remarks>
            <para>
            Since the generic <see cref="T:System.Collections.Generic.IList`1"/> interface is a descendant of the generic <see cref="T:System.Collections.Generic.ICollection`1"/> interface,
            the contract verifier has the same tests as the <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/> contract verifier, 
            plus the following built-in verifications:
            <list type="bullet">
            <item>
            <strong>InsertShouldThrowException</strong> : The read-only collection throws an exception when the method 
            <see cref="M:System.Collections.Generic.IList`1.Insert(System.Int32,`0)"/> is called. The test is not run when the contract property 
            <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> inherited from 
            <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>false</c>.
            </item>
            <item>
            <strong>RemoveAtShouldThrowException</strong> :  The read-only collection throws an exception when the 
            method <see cref="M:System.Collections.Generic.IList`1.RemoveAt(System.Int32)"/> is called. The test is not run when the contract property 
            <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> 
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>false</c>.
            </item>
            <item>
            <strong>IndexerSetShouldThrowException</strong> :  The read-only collection throws an exception when the 
            setter of the indexer <see cref="P:System.Collections.Generic.IList`1.Item(System.Int32)"/> is called.
            The test is not run when the contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> 
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>false</c>.
            </item>
            <item>
            <strong>InsertNullArgument</strong> :  The collection throwns a <see cref="T:System.ArgumentNullException"/> 
            when the method <see cref="M:System.Collections.Generic.IList`1.Insert(System.Int32,`0)"/> is called with a null reference item. 
            The test is not run when the contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AcceptNullReference"/> 
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>true</c>.
            </item>
            <item>
            <strong>IndexOfNullArgument</strong> :  The collection throwns a <see cref="T:System.ArgumentNullException"/> 
            when the method <see cref="M:System.Collections.Generic.IList`1.IndexOf(`0)"/> is called with a null reference item. 
            The test is not run when the contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AcceptNullReference"/> 
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>true</c>.
            </item>
            <item>
            <strong>IndexerSetNullArgument</strong> :  The collection throwns a <see cref="T:System.ArgumentNullException"/> 
            when the setter of the indexer <see cref="P:System.Collections.Generic.IList`1.Item(System.Int32)"/> is called with a null reference item. 
            The test is not run when the contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AcceptNullReference"/> 
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>true</c>.
            </item>
            <item>
            <strong>InsertItems</strong> :  The collection handles correctly with the insertion of new items. The method 
            <see cref="M:System.Collections.Generic.ICollection`1.Contains(`0)"/> and the property <see cref="P:System.Collections.Generic.ICollection`1.Count"/> are expected
            to return suitable results as well. The case of duplicate items (object equality) is tested too; according
            to the value of contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.AcceptEqualItems"/>,
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>. The test is not run when the contract 
            property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> 
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>true</c>.
            </item>
            <item>
            <strong>InsertItemsAtInvalidIndex</strong> :  The collection handles correctly with the insertion of new 
            items at an invalid index. The method should throw an <see cref="T:System.ArgumentOutOfRangeException"/> when 
            called with a negative index or with an index greater than the number of items in the list.
            The test is not run when the contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> 
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>true</c>.
            </item>
            <item>
            <strong>RemoveItemsAt</strong> :  The collection handles correctly with the removal of items at specific indexes. 
            The method  <see cref="M:System.Collections.Generic.ICollection`1.Contains(`0)"/> and the property <see cref="P:System.Collections.Generic.ICollection`1.Count"/> are expected
            to return suitable results as well.
            The test is not run when the contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> 
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>true</c>.
            </item>
            <item>
            <strong>RemoveItemsAtInvalidIndex</strong> : The collection handles correctly with the removal of items at an 
            invalid index. The method should throw an <see cref="T:System.ArgumentOutOfRangeException"/> when called with a 
            negative index or with an index greater than the number of items in the list.
            The test is not run when the contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> 
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>true</c>.
            </item>
            <item>
            <strong>GetItemsAtInvalidIndex</strong> : The collection handles correctly with the retrieval of items at 
            an invalid index. The indexer should throw an <see cref="T:System.ArgumentOutOfRangeException"/> when called with 
            a negative index or with an index greater than the number of items in the list.
            </item>
            <item>
            <strong>GetSetItemsWithIndexer</strong> : Setting and getting items by using the indexer property works as expected.
            The test is not run when the contract property <see cref="P:MbUnit.Framework.ContractVerifiers.CollectionContract`2.IsReadOnly"/> 
            inherited from <see cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>, is set to <c>true</c>.
            </item>
            <item>
            <strong>IndexOfItem</strong> : The retrieval of the index of an item in the collection works as expected, 
            and the index can be used effectively to get the item with the getter of the indexer property.
            </item>
            </list>
            </para>
            </remarks>
            <typeparam name="TList">The type of the collection implementing <see cref="T:System.Collections.Generic.IList`1"/>.</typeparam>
            <typeparam name="TItem">The type of items contained by the list.</typeparam>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.ListContract`2.GetContractVerificationTests">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.NamespaceDoc">
            <summary>
            The MbUnit.Framework.ContractVerifiers namespace contains contracts (<see cref="T:MbUnit.Framework.ContractVerifiers.IContract"/>)
            that are used together with the <see cref="T:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute"/> to verify
            common invariants that appear in contracts.
            </summary>
            <remarks>
            <para>
            For example the <see cref="T:MbUnit.Framework.ContractVerifiers.EqualityContract`1"/> ensures that the <see cref="M:System.Object.Equals(System.Object)"/>
            and <see cref="M:System.Object.GetHashCode"/> methods and the equality operators produce consistent and
            correct results for the provided values.  Likewise the <see cref="T:MbUnit.Framework.ContractVerifiers.ExceptionContract`1"/> ensures
            that custom exception types are correctly implemented.
            </para>
            </remarks>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute">
            <summary>
            Verifies that a contract has been satisfied.
            </summary>
            <remarks>
            <para>
            This attribute is applied to a field of type <see cref="T:MbUnit.Framework.ContractVerifiers.IContract"/> to that describes
            a contract to be verified.  Each contract object is like a reusable test suite that
            can be customized by providing constructor parameters or by setting properties.
            MbUnit includes several out-of-the-box contract verifier implementations that
            capture common testing patterns for verifying the implementation of equivalence relations, exceptions,
            collections, accessors and other code.
            </para>
            <para>
            Contract verifiers can be incorporated into test fixtures in two ways.
            <list type="bullet">
            <item>Contract stored in a readonly instance field.  The contract verifier tests 
            will be generated dynamically at test execution time similarly to a 
            <see cref="T:MbUnit.Framework.DynamicTestFactoryAttribute"/>.  This mechanism is compatible with data-driven
            test fixtures (such as generic test fixtures or fixtures with constructor parameters)
            but the user will be unable to individually view and select each test in the test runner
            before running them.</item>
            <item>Contract stored in a readonly <strong>static</strong> instance field.  The
            contract verifier tests will be generated statically at test exploration time similarly to a 
            <see cref="T:MbUnit.Framework.StaticTestFactoryAttribute"/>.  This mechanism can only be used in non-generic
            test fixtures but the user will be able to individually view and select each
            test in the test runner before running them.</item>
            </list>
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [TestFixture]
            public class MyExceptionTests
            {
                // "dynamic" contract verifier (similar to a DynamicTestFactory)
                [VerifyContract]
                public readonly IContract Contract1 = new ExceptionContract<MyException>();
                
                // "static" contract verifier (similar to a StaticTestFactory)
                [VerifyContract]
                public readonly static IContract Contract2 = new ListContract<MyList<int>, int>();
            }
            ]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.AccessorContract`2"/>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.CollectionContract`2"/>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.ComparisonContract`1"/>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.EqualityContract`1"/>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.ExceptionContract`1"/>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.ImmutabilityContract`1"/>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.ListContract`2"/>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute.GetTestParts(Gallio.Framework.Pattern.IPatternEvaluator,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute.Consume(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IFieldInfo)">
            <summary>
            Verifies that the attribute is being used correctly.
            </summary>
            <param name="containingScope">The containing scope.</param>
            <param name="field">The field.</param>
            <exception cref="T:Gallio.Framework.Pattern.PatternUsageErrorException">Thrown if the attribute is being used incorrectly.</exception>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute.InitializeTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IFieldInfo)">
            <summary>
            Initializes a test for a contract verifier field after it has been added to the test model.
            </summary>
            <param name="fieldScope">The field scope.</param>
            <param name="field">The field.</param>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute.GenerateTestsFromContract(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IFieldInfo,Gallio.Framework.Pattern.IPatternScope)">
            <summary>
            Generates static or dynamic tests from the contract.
            </summary>
            <param name="fieldScope">The field scope.</param>
            <param name="field">The field.</param>
            <param name="containingScope">The containing scope.</param>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute.IsPrimary">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.AutoEmbedScreenshotAttribute">
            <summary>
            Decorates a test method and causes a screenshot to be automatically embeded when a trigger event occurs.
            </summary>
            <remarks>
            <para>
            If screenshots cannot be captured, the attribute will embed a warning message to that effect.
            </para>
            </remarks>
            <seealso cref="T:MbUnit.Framework.AutoEmbedRecordingAttribute"/>
            <seealso cref="M:Gallio.Framework.Capture.AutoEmbedScreenshot(Gallio.Framework.TriggerEvent,System.String)"/>
            <seealso cref="M:Gallio.Framework.Capture.AutoEmbedScreenshot(Gallio.Framework.TriggerEvent,System.String,Gallio.Common.Media.CaptureParameters)"/>
        </member>
        <member name="M:MbUnit.Framework.AutoEmbedScreenshotAttribute.#ctor(Gallio.Framework.TriggerEvent)">
            <summary>
            Automatically embeds a screenshot when a trigger event occurs.
            </summary>
            <remarks>
            <para>
            If screenshots cannot be captured, the method will embed a warning message to that effect.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [Test]
            [AutoEmbedScreenshot(TriggerEvent.TestPassed, Zoom = 0.25)]
            public void Test()
            {
                // Code logic here.
            }
            ]]></code>
            </example>
            <param name="triggerEvent">The trigger event.</param>
        </member>
        <member name="M:MbUnit.Framework.AutoEmbedScreenshotAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.AutoEmbedScreenshotAttribute.TriggerEvent">
            <summary>
            Gets the trigger event.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.AutoEmbedScreenshotAttribute.Parameters">
            <summary>
            Gets the capture parameters.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.AutoEmbedScreenshotAttribute.AttachmentName">
            <summary>
            Gets or sets the name to give to the image attachment.
            (default is null)
            </summary>
            <remarks>
            <para>
            The property is <c>null</c> by default, which causes the name of the attachment to be assigned automatically.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.AutoEmbedScreenshotAttribute.Zoom">
            <summary>
            Gets or sets the zoom factor.
            </summary>
            <remarks>
            <para>
            The zoom factor specifies the degree of magnification or reduction desired.
            For example, a zoom factor of 1.0 (the default) is normal size, 0.25 reduces to one quarter the
            original size and 2.0 magnifies to twice the original size.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value"/> is less than 1/16 or more than 16.</exception>
        </member>
        <member name="T:MbUnit.Framework.AutoEmbedRecordingAttribute">
            <summary>
            Decorates a test method and causes a video of the test run to be automatically embeded when a trigger event occurs.
            </summary>
            <remarks>
            <para>
            If screenshots cannot be captured, the attribute will embed a warning message to that effect.
            </para>
            </remarks>
            <seealso cref="T:MbUnit.Framework.AutoEmbedScreenshotAttribute"/>
            <seealso cref="M:Gallio.Framework.Capture.AutoEmbedRecording(Gallio.Framework.TriggerEvent,System.String)"/>
            <seealso cref="M:Gallio.Framework.Capture.AutoEmbedRecording(Gallio.Framework.TriggerEvent,System.String,Gallio.Common.Media.CaptureParameters,System.Double)"/>
        </member>
        <member name="M:MbUnit.Framework.AutoEmbedRecordingAttribute.#ctor(Gallio.Framework.TriggerEvent)">
            <summary>
            Automatically embeds a video of the test run from this point forward when a trigger event occurs.
            </summary>
            <remarks>
            <para>
            Recording a screen capture video can be very CPU and space intensive particularly
            when running tests on a single-core CPU.  We recommend specifying a zoom with of 0.25 or 
            less and a frame rate  of no more than 5 to 10 frames per second.
            </para>
            <para>
            If screenshots cannot be captured, the method will embed a warning message to that effect.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [Test]
            [AutoEmbedRecording(TriggerEvent.TestPassed, Zoom = 0.25, FramesPerSecond = 3)]
            public void Test()
            {
                // Code logic here.
            }
            ]]></code>
            </example>
            <param name="triggerEvent">The trigger event.</param>
        </member>
        <member name="M:MbUnit.Framework.AutoEmbedRecordingAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.AutoEmbedRecordingAttribute.FramesPerSecond">
            <summary>
            Gets or sets the number of frames per second to capture (default is 5).
            </summary>
        </member>
        <member name="T:MbUnit.Framework.AbstractComparerAttribute">
            <summary>
            An abstract base class for custom comparer attributes.
            </summary>
            <remarks>
            <para>
            The custom comparer attributes expose an extension point of <see cref="T:Gallio.Framework.IComparisonSemantics"/>
            for defining custom object comparison and equality for types that do not implement built-in
            comparison mechanisms such as <see cref="T:System.IEquatable`1"/> or <see cref="T:System.IComparable`1"/>.
            </para>
            </remarks>
            <seealso cref="T:MbUnit.Framework.ComparerAttribute"/>
            <seealso cref="T:MbUnit.Framework.EqualityComparerAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.AbstractComparerAttribute.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.AbstractComparerAttribute.DecorateContainingScope(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.AbstractComparerAttribute.Register(System.Type,Gallio.Common.Func{System.Object,System.Object,System.Object})">
            <summary>
            Registers a custom comparison operation for the specified type.
            </summary>
            <param name="type">The type on which the comparer operates.</param>
            <param name="operation">The comparison operation.</param>
        </member>
        <member name="M:MbUnit.Framework.AbstractComparerAttribute.Unregister(System.Type)">
            <summary>
            Registers the custom comparison operation for the specified type.
            </summary>
            <param name="type">The searched type.</param>
        </member>
        <member name="P:MbUnit.Framework.AbstractComparerAttribute.ExtensionPoints">
            <summary>
            Gets the entry point for the registration of 
            custom actions that extend the framework.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ConverterAttribute">
            <summary>
            Declares a custom type converter.
            </summary>
            <remarks>
            <para>
            That attribute must be used on a static method taking one single parameter of the source type, and returning a value of the target type.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class MyConverters
            {
                [Converter]
                public static Pen KnownColorToPen(KnownColor knownColor)
                {
                    return new Pen(Color.FromKnownColor(knownColor));
                }
            }
            ]]></code>
            </example>
        </member>
        <member name="M:MbUnit.Framework.ConverterAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.ConverterAttribute.DecorateContainingScope(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.BinaryDataAttribute">
            <summary>
            Provides binary data from resource contents.
            </summary>
            <example>
            <para>
            This example reads data from an Embedded Resource called <c>Data.bin</c> within the
            same namespace as the test fixture.
            </para>
            <para>
            <code><![CDATA[
            public class AccountingTests
            {
                [Test]
                public void ShoppingCartTotalWithSingleItem([BinaryData(ResourcePath = "Data.bin")] byte[] data)
                {
                    // Code logic here...
                }
            }
            ]]></code>
            </para>
            </example>
            <seealso cref="T:MbUnit.Framework.TextDataAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.BinaryDataAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.CatchExceptionAttribute">
            <summary>
            Declares that the associated test's <see cref="T:Gallio.Model.TestOutcome"/> should be interpreted as having completed 
            with a specified <see cref="T:Gallio.Model.TestOutcome"/> if a specified exception is thrown during the test.
            </summary>
            <remarks>
            <para>
            The expected contents of the detected exception's <see cref="P:System.Exception.Message"/> may optionally be specified.
            </para>
            <para>
            The <see cref="T:Gallio.Model.TestOutcome"/> that is returned when a matching exception is thrown may optionally be specified.
            By default, the test will be treated as <see cref="P:Gallio.Model.TestOutcome.Error"/> if a matching exception is thrown.
            </para>
            </remarks>
            <example>
            <para>
            This C# example shows a test with a <see cref="T:MbUnit.Framework.CatchExceptionAttribute"/> that will 
            result in a <see cref="P:Gallio.Model.TestOutcome.Error"/> (the default <see cref="P:MbUnit.Framework.CatchExceptionAttribute.Outcome"/>) 
            if the test throws a <see cref="T:System.NotSupportedException"/>.
            <code><![CDATA[
            /// <summary>
            /// This test will have an outcome of <see cref="TestOutcome.Error"/>.
            /// </summary>
            [Test]
            [CatchException(typeof(NotSupportedException))]
            public void CatchExceptionExample1()
            {
                throw new NotSupportedException();
            }
            ]]></code>
            </para>
            <para>
            This C# example shows a test with a <see cref="T:MbUnit.Framework.CatchExceptionAttribute"/> that will 
            result in a <see cref="P:Gallio.Model.TestOutcome.Pending"/> 
            if the test throws a <see cref="T:System.NotImplementedException"/>.
            <code><![CDATA[
            /// <summary>
            /// This test will have an outcome of <see cref="TestOutcome.Pending"/>.
            /// </summary>
            [Test]
            [CatchException(typeof(NotImplementedException), StandardOutcome = "TestOutcome.Pending")]
            public void CatchExceptionExample2()
            {
                throw new NotImplementedException();
            }
            ]]></code>
            </para>
            <para>
            This C# example shows a test with a <see cref="T:MbUnit.Framework.CatchExceptionAttribute"/> that will 
            result in a <see cref="P:Gallio.Model.TestOutcome.Passed"/> 
            if the test throws a <see cref="T:System.NotImplementedException"/> 
            or if the test doesn't throw any exceptions.
            <code><![CDATA[
            /// <summary>
            /// This test will have an outcome of <see cref="TestOutcome.Passed"/> 
            /// whether the test throws a <see cref="NotImplementedException"/> or throws no exception.
            /// </summary>
            [Test]
            [CatchException(typeof(NotImplementedException), StandardOutcome = "TestOutcome.Passed")]
            public void CatchExceptionExample3()
            {
                bool randomBool = new Random().Next() % 2 == 0;
                if (randomBool)
                    throw new NotImplementedException();
            }
            ]]></code>
            </para>
            <para>
            This C# example shows a test with multiple <see cref="T:MbUnit.Framework.CatchExceptionAttribute"/>s that will: 
            result in a <see cref="T:Gallio.Model.TestOutcome"/> of <see cref="P:Gallio.Model.TestOutcome.Pending"/> 
            if the test throws a <see cref="T:System.NotImplementedException"/>;
            result in a <see cref="T:Gallio.Model.TestOutcome"/> with a 
            <see cref="P:Gallio.Model.TestOutcome.Status"/> of <see cref="F:Gallio.Model.TestStatus.Skipped"/> and a 
            <see cref="P:Gallio.Model.TestOutcome.Category"/> of <c>"notsupported"</c> 
            if the test throws a <see cref="T:System.NotSupportedException"/>;
            result in a <see cref="T:Gallio.Model.TestOutcome"/> with a 
            <see cref="P:Gallio.Model.TestOutcome.Status"/> of <see cref="F:Gallio.Model.TestStatus.Inconclusive"/> and a 
            <see cref="P:Gallio.Model.TestOutcome.Category"/> of <c>"deadlock"</c> 
            if the test throws a <see cref="T:System.TimeoutException"/> 
            with a <see cref="P:System.Exception.Message"/> that contains the substring <c>"deadlock"</c>;
            result in a <see cref="T:Gallio.Model.TestOutcome"/> with a 
            <see cref="P:Gallio.Model.TestOutcome.Status"/> of <see cref="F:Gallio.Model.TestStatus.Inconclusive"/> and a 
            <see cref="P:Gallio.Model.TestOutcome.Category"/> of <c>"timeout"</c> 
            if the test throws a <see cref="T:System.TimeoutException"/> 
            with a <see cref="P:System.Exception.Message"/> that contains the substring <c>"server not responding"</c>;
            result in a <see cref="T:Gallio.Model.TestOutcome"/> of <see cref="P:Gallio.Model.TestOutcome.Failed"/> 
            if the test throws any other <see cref="T:System.Exception"/> not listed above;
            result in a <see cref="T:Gallio.Model.TestOutcome"/> of <see cref="P:Gallio.Model.TestOutcome.Passed"/> 
            if the test does not throw any <see cref="T:System.Exception"/>s.
            <code><![CDATA[
            /// <remarks>
            /// This test can have any of several outcomes depending on what type of exception is thrown (if any) during test execution.
            /// </remarks>
            [Test]
            [CatchException(typeof(NotSupportedException), OutcomeStatus = TestStatus.Skipped, OutcomeCategory = "notsupported")]
            [CatchException(typeof(NotImplementedException), StandardOutcome = "TestOutcome.Pending")]
            [CatchException(typeof(TimeoutException), ExceptionMessage = "deadlock", OutcomeStatus = TestStatus.Inconclusive, OutcomeCategory = "deadlock", Order = 2)]
            [CatchException(typeof(TimeoutException), ExceptionMessage = "server not responding", OutcomeStatus = TestStatus.Inconclusive, OutcomeCategory = "timeout", Order = 3)]
            public void CatchExceptionExample4()
            {
                //throw new NotSupportedException(); //outcome would be: new TestOutcome(TestStatus.Skipped, "notsupported")
                throw new NotImplementedException(); //outcome would be: TestOutcome.Pending
                //throw new TimeoutException("A deadlock occurred."); //outcome would be: new TestOutcome(TestStatus.Inconclusive, "deadlock")
                //throw new TimeoutException("The server is not responding."); //outcome would be: new TestOutcome(TestStatus.Inconclusive, "timeout")
                //throw new TimeoutException("Transaction timeout."); //outcome would be: TestOutcome.Failed
                //throw new TimeoutException(); //outcome would be: TestOutcome.Failed
                //throw new ArithmeticException(); //outcome would be: TestOutcome.Failed
                //return; //outcome would be: TestOutcome.Passed
            }
            ]]></code>
            </para>
            </example>
        </member>
        <member name="M:MbUnit.Framework.CatchExceptionAttribute.#ctor(System.Type)">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.Exception"/> of
            a particular type.
            </summary>
            <param name="exceptionType">The expected exception type.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exceptionType"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="exceptionType"/> is not the <see cref="T:System.Type"/> of an <see cref="T:System.Exception"/>.</exception>
        </member>
        <member name="M:MbUnit.Framework.CatchExceptionAttribute.#ctor(System.Type,Gallio.Model.TestStatus)">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.Exception"/> of
            a particular type, and the <see cref="T:Gallio.Model.TestStatus"/> of the <see cref="T:Gallio.Model.TestOutcome"/> 
            that should be used if/when it does.
            </summary>
            <param name="exceptionType">The expected exception type.</param>
            <param name="outcomeStatus">
            The <see cref="T:Gallio.Model.TestStatus"/> that will be used to construct the 
            <see cref="T:Gallio.Model.TestOutcome"/> if a detected exception is handled.
            </param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exceptionType"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="exceptionType"/> is not the <see cref="T:System.Type"/> of an <see cref="T:System.Exception"/>.</exception>
        </member>
        <member name="M:MbUnit.Framework.CatchExceptionAttribute.#ctor(System.Type,Gallio.Model.TestStatus,System.String)">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.Exception"/> of
            a particular type, and the <see cref="T:Gallio.Model.TestOutcome"/> 
            that should be used if/when it does.
            </summary>
            <param name="exceptionType">The expected exception type.</param>
            <param name="outcomeStatus">
            The <see cref="T:Gallio.Model.TestStatus"/> that will be used to construct the 
            <see cref="T:Gallio.Model.TestOutcome"/> if a detected exception is handled.
            </param>
            <param name="outcomeCategory">
            The <see cref="P:Gallio.Model.TestOutcome.Category"/> that will be used to construct the 
            <see cref="T:Gallio.Model.TestOutcome"/> if a detected exception is handled.
            </param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exceptionType"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="exceptionType"/> is not the <see cref="T:System.Type"/> of an <see cref="T:System.Exception"/>.</exception>
        </member>
        <member name="M:MbUnit.Framework.CatchExceptionAttribute.ToString">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.CatchExceptionAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.CatchExceptionAttribute.ExecuteTestInstanceChainCatchExceptionDecorator(System.Action{Gallio.Framework.Pattern.PatternTestInstanceState},Gallio.Framework.Pattern.PatternTestInstanceState)">
            <summary>
            This method does the actual work of catching and handling (or not) <see cref="T:System.Exception"/>s.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.CatchExceptionAttribute.OnInnerActionCompleted(System.Exception,System.Boolean)">
            <summary>
            Performs the work of analysing (and either handling or rethrowing) a detected exception.
            </summary>
            <remarks>
            <para>
            This method could be overridden by inheritors to extend or modify the behavior 
            associated with detecting <see cref="T:System.Exception"/>s.
            <para>
            Theoretically, the <see cref="T:MbUnit.Framework.ExpectedExceptionAttribute"/> could be implemented as a subclass of 
            <see cref="T:MbUnit.Framework.CatchExceptionAttribute"/> that overrides the behavior of 
            <see cref="M:MbUnit.Framework.CatchExceptionAttribute.OnInnerActionCompleted(System.Exception,System.Boolean)"/> to always return <c>true</c>.
            </para>
            </para>
            <para>
            Implementation Note: Normally this method would have a return type of <c>void</c>. 
            However, since it is not possible rethrow a caught exception using "throw;" 
            except from directly within the <c>catch</c> block 
            (i.e. the same method the <c>catch</c> block is declared in),
            it was necessary to use the returned value to indicate to the calling method whether or not the 
            detected <see cref="T:System.Exception"/> should be re-thrown.
            </para>
            </remarks>
            <param name="ex">The detected <see cref="T:System.Exception"/>.</param>
            <param name="isExpected">Indicates whether <paramref name="ex"/> matches the catch-criteria of the instance.</param>
            <returns>
            <c>true</c> to indicate that the <see cref="T:Gallio.Model.TestOutcome"/> should be <see cref="P:Gallio.Model.TestOutcome.Passed"/> 
            (e.g. when <paramref name="isExpected"/> is <c>true</c>).
            Else <c>false</c> to indicate that the detected exception (if any) was not handled 
            and should be rethrown (if needed).
            </returns>
            <exception cref="T:Gallio.Framework.SilentTestException">
            Propogated when thrown by <see cref="M:MbUnit.Framework.CatchExceptionAttribute.HandleExpectedException(System.Exception)"/> to indicate that the detected exception was handled, 
            and that the <see cref="T:Gallio.Model.TestOutcome"/> should be something other than <see cref="P:Gallio.Model.TestOutcome.Passed"/>.
            </exception>
        </member>
        <member name="M:MbUnit.Framework.CatchExceptionAttribute.IsExpectedException(System.Exception)">
            <summary>
            Indicates whether a detected <see cref="T:System.Exception"/> (or the lack of one) is expected, 
            and should be caught and handled (by <see cref="M:MbUnit.Framework.CatchExceptionAttribute.HandleExpectedException(System.Exception)"/>) 
            based upon the instance's matching properties.
            </summary>
            <seealso cref="P:MbUnit.Framework.CatchExceptionAttribute.ExceptionType"/>
            <seealso cref="P:MbUnit.Framework.CatchExceptionAttribute.ExceptionMessage"/>
            <seealso cref="M:MbUnit.Framework.CatchExceptionAttribute.OnInnerActionCompleted(System.Exception,System.Boolean)"/>
        </member>
        <member name="M:MbUnit.Framework.CatchExceptionAttribute.HandleExpectedException(System.Exception)">
            <summary>
            Performs the work of handling a detected exception that matches the catching-criteria.
            </summary>
            <remarks>
            <para>
            This method could be overridden by inheritors to extend or modify the behavior 
            associated with handling <see cref="T:System.Exception"/>s that match the configured catching-criteria.
            </para>
            </remarks>
            <param name="ex">The detected <see cref="T:System.Exception"/> that matches the catching-criteria.</param>
            <exception cref="T:Gallio.Framework.SilentTestException">
            Thrown to return a non-<see cref="P:Gallio.Model.TestOutcome.Passed"/> outcome back up the call stack.
            </exception>
        </member>
        <member name="P:MbUnit.Framework.CatchExceptionAttribute.ExceptionType">
            <summary>
            Gets the type of <see cref="T:System.Exception"/> that is handled.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.CatchExceptionAttribute.ExceptionMessage">
            <summary>
            Gets or sets the substring that must be contained in the detected <see cref="T:System.Exception"/>'s <see cref="P:System.Exception.Message"/> for it to be handled, 
            or <c>null</c> if none specified.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.CatchExceptionAttribute.OutcomeStatus">
            <summary>
            Gets or sets the <see cref="P:Gallio.Model.TestOutcome.Category"/> that will be used to construct the 
            <see cref="T:Gallio.Model.TestOutcome"/> when a detected exception is handled.
            </summary>
            <see cref="P:MbUnit.Framework.CatchExceptionAttribute.Outcome"/>
            <see cref="P:MbUnit.Framework.CatchExceptionAttribute.OutcomeCategory"/>
        </member>
        <member name="P:MbUnit.Framework.CatchExceptionAttribute.OutcomeCategory">
            <summary>
            Gets or sets the <see cref="P:Gallio.Model.TestOutcome.Category"/> that will be used to construct the 
            <see cref="T:Gallio.Model.TestOutcome"/> if a detected exception is handled.
            </summary>
            <see cref="P:MbUnit.Framework.CatchExceptionAttribute.Outcome"/>
            <see cref="P:MbUnit.Framework.CatchExceptionAttribute.OutcomeStatus"/>
        </member>
        <member name="P:MbUnit.Framework.CatchExceptionAttribute.Outcome">
            <summary>
            Gets or sets the <see cref="T:Gallio.Model.TestOutcome"/> that will be used if a matching exception is thrown.
            Defaults to <see cref="P:Gallio.Model.TestOutcome.Error"/>.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.CatchExceptionAttribute.StandardOutcome">
            <summary>
            This is a <see cref="T:System.String"/>-typed alias of the <see cref="P:MbUnit.Framework.CatchExceptionAttribute.Outcome"/> property.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.AssertExceptionAttribute">
            <summary>
            Declares that the associated test's <see cref="T:Gallio.Model.TestOutcome"/> should be 
            <see cref="P:Gallio.Model.TestOutcome.Passed"/> 
            only if a specified exception is thrown during the test.
            Otherwise, the test's outcome should be <see cref="P:Gallio.Model.TestOutcome.Failed"/> 
            </summary>
            <remarks>
            <para>
            The expected contents of the detected exception's <see cref="P:System.Exception.Message"/> may optionally be specified.
            </para>
            <para>
            The <see cref="T:Gallio.Model.TestOutcome"/> that is returned when a matching exception is thrown may optionally be specified.
            By default, the test will be treated as <see cref="P:Gallio.Model.TestOutcome.Passed"/> if a matching exception is thrown.
            </para>
            </remarks>
            <example>
            <para>
            This C# example shows a test with a <see cref="T:MbUnit.Framework.AssertExceptionAttribute"/> that will 
            result in a <see cref="P:Gallio.Model.TestOutcome.Passed"/> 
            when the test throws a <see cref="T:System.NotSupportedException"/>.
            <code><![CDATA[
            /// <summary>
            /// This test will have an outcome of <see cref="TestOutcome.Passed"/>.
            /// </summary>
            [Test]
            [AssertException(typeof(NotSupportedException))]
            public void AssertExceptionExample1()
            {
                throw new NotSupportedException();
            }
            ]]></code>
            </para>
            <para>
            This C# example shows a test with a <see cref="T:MbUnit.Framework.AssertExceptionAttribute"/> that will 
            result in a <see cref="P:Gallio.Model.TestOutcome.Failed"/> 
            unless the test throws a <see cref="T:System.NotSupportedException"/>.
            <code><![CDATA[
            /// <summary>
            /// This test will have an outcome of <see cref="TestOutcome.Failed"/> 
            /// whether the test throws a <see cref="NotImplementedException"/> or throws no exception.
            /// </summary>
            [Test]
            [AssertException(typeof(NotSupportedException))]
            public void AssertExceptionExample2()
            {
                bool randomBool = new Random().Next() % 2 == 0;
                if (randomBool)
                    throw new NotImplementedException();
            }
            ]]></code>
            </para>
            <para>
            This C# example shows a test with multiple <see cref="T:MbUnit.Framework.CatchExceptionAttribute"/>s that will: 
            result in a <see cref="T:Gallio.Model.TestOutcome"/> of <see cref="P:Gallio.Model.TestOutcome.Pending"/> 
            if the test throws a <see cref="T:System.NotImplementedException"/>;
            result in a <see cref="T:Gallio.Model.TestOutcome"/> with a 
            <see cref="P:Gallio.Model.TestOutcome.Status"/> of <see cref="F:Gallio.Model.TestStatus.Skipped"/> and a 
            <see cref="P:Gallio.Model.TestOutcome.Category"/> of <c>"notsupported"</c> 
            if the test throws a <see cref="T:System.NotSupportedException"/>;
            result in a <see cref="T:Gallio.Model.TestOutcome"/> with a 
            <see cref="P:Gallio.Model.TestOutcome.Status"/> of <see cref="F:Gallio.Model.TestStatus.Inconclusive"/> and a 
            <see cref="P:Gallio.Model.TestOutcome.Category"/> of <c>"deadlock"</c> 
            if the test throws a <see cref="T:System.TimeoutException"/> 
            with a <see cref="P:System.Exception.Message"/> that contains the substring <c>"deadlock"</c>;
            result in a <see cref="T:Gallio.Model.TestOutcome"/> with a 
            <see cref="P:Gallio.Model.TestOutcome.Status"/> of <see cref="F:Gallio.Model.TestStatus.Inconclusive"/> and a 
            <see cref="P:Gallio.Model.TestOutcome.Category"/> of <c>"timeout"</c> 
            if the test throws a <see cref="T:System.TimeoutException"/> 
            with a <see cref="P:System.Exception.Message"/> that contains the substring <c>"server not responding"</c>;
            result in a <see cref="T:Gallio.Model.TestOutcome"/> of <see cref="P:Gallio.Model.TestOutcome.Failed"/> 
            if the test throws any other <see cref="T:System.Exception"/> not listed above;
            result in a <see cref="T:Gallio.Model.TestOutcome"/> of <see cref="P:Gallio.Model.TestOutcome.Passed"/> 
            if the test does not throw any <see cref="T:System.Exception"/>s.
            <code><![CDATA[
            /// <remarks>
            /// This test can have any of several outcomes depending on what type of exception is thrown (if any) during test execution.
            /// </remarks>
            [Test]
            [CatchException(typeof(NotSupportedException), OutcomeStatus = TestStatus.Skipped, OutcomeCategory = "notsupported")]
            [CatchException(typeof(NotImplementedException), StandardOutcome = "TestOutcome.Pending")]
            [CatchException(typeof(TimeoutException), ExceptionMessage = "deadlock", OutcomeStatus = TestStatus.Inconclusive, OutcomeCategory = "deadlock", Order = 2)]
            [CatchException(typeof(TimeoutException), ExceptionMessage = "server not responding", OutcomeStatus = TestStatus.Inconclusive, OutcomeCategory = "timeout", Order = 3)]
            [AssertException(typeof(ArithmeticException), Order = 4)]
            public void AssertExceptionExample3()
            {
                //throw new NotSupportedException(); //outcome would be: new TestOutcome(TestStatus.Skipped, "notsupported")
                throw new NotImplementedException(); //outcome would be: TestOutcome.Pending
                //throw new TimeoutException("A deadlock occurred."); //outcome would be: new TestOutcome(TestStatus.Inconclusive, "deadlock")
                //throw new TimeoutException("The server is not responding."); //outcome would be: new TestOutcome(TestStatus.Inconclusive, "timeout")
                //throw new TimeoutException("Transaction timeout."); //outcome would be: TestOutcome.Failed
                //throw new TimeoutException(); //outcome would be: TestOutcome.Failed
                //throw new ArithmeticException(); //outcome would be: TestOutcome.Passed
                //return; //outcome would be: TestOutcome.Failed
            }
            ]]></code>
            </para>
            </example>
        </member>
        <member name="M:MbUnit.Framework.AssertExceptionAttribute.#ctor(System.Type)">
            <summary>
            Declares that the associated test is expected to throw an <see cref="T:System.Exception"/> of
            a particular type.
            </summary>
            <param name="exceptionType">The expected exception type.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exceptionType"/> is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="exceptionType"/> is not the <see cref="T:System.Type"/> of an <see cref="T:System.Exception"/>.</exception>
        </member>
        <member name="M:MbUnit.Framework.AssertExceptionAttribute.ToString">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.AssertExceptionAttribute.OnInnerActionCompleted(System.Exception,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.AssertExceptionAttribute.HandleUnexpectedException(System.Exception)">
            <summary>
            Performs the work of handling a detected exception that does not match the catching-criteria.
            Also performs any work related to handling the scenario where an exception is not detected.
            </summary>
            <param name="ex"><c>null</c>, or the detected <see cref="T:System.Exception"/> that does not match the catching-criteria.</param>
            <exception cref="T:Gallio.Framework.SilentTestException">
            Thrown to return a non-<see cref="P:Gallio.Model.TestOutcome.Passed"/> outcome back up the call stack.
            </exception>
            <seealso cref="M:MbUnit.Framework.CatchExceptionAttribute.HandleExpectedException(System.Exception)"/>
        </member>
        <member name="T:MbUnit.Framework.TextDataAttribute">
            <summary>
            Provides text data from resource contents.
            </summary>
            <example>
            <para>
            This example reads data from an Embedded Resource called <c>Data.txt</c> within the
            same namespace as the test fixture.
            </para>
            <para>
            <code><![CDATA[
            public class AccountingTests
            {
                [Test]
                public void ShoppingCartTotalWithSingleItem([TextData(ResourcePath = "Data.txt")] string data)
                {
                    // Code logic here...
                }
            }
            ]]></code>
            </para>
            </example>
            <seealso cref="T:MbUnit.Framework.BinaryDataAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.TextDataAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.FormatterAttribute">
            <summary>
            Declares a custom type formatter.
            </summary>
            <remarks>
            <para>
            That attribute must be used on a static method taking one single parameter of the source type, and returning a string describing the object.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class MyFormatters
            {
                [Formatter]
                public static string FormatColor(Color color)
                {
                    return String.Format("Color: R={0}, G={1}, B{2}, H={3}, L={4}, S={5}", 
                        color.R, color.G, color.B, color.GetHue(), color.GetLuminance(), color.GetSaturation());
                }
            }
            ]]></code>
            </example>
        </member>
        <member name="M:MbUnit.Framework.FormatterAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.FormatterAttribute.DecorateContainingScope(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.EqualityComparerAttribute">
            <summary>
            Declares a custom type equality comparer.
            </summary>
            <remarks>
            <para>
            That attribute must be used on a static method which takes 2 parameters of the same type, and return a <see cref="T:System.Boolean"/> value.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class MyEqualityComparers
            {
                [EqualityComparer]
                public static bool Equals(Foo x, Foo y)
                {
                    return /* Insert comparison logic here... */
                }
            }
            ]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.ComparerAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.EqualityComparerAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.EqualityComparerAttribute.Register(System.Type,Gallio.Common.Func{System.Object,System.Object,System.Object})">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.EqualityComparerAttribute.Unregister(System.Type)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.ComparerAttribute">
            <summary>
            Declares a custom type comparer.
            </summary>
            <remarks>
            <para>
            That attribute must be used on a static method which takes 2 parameters of the same type, and return a <see cref="T:System.Int32"/> value.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class MyComparers
            {
                [Comparer]
                public static int Compare(Foo x, Foo y)
                {
                    return /* Insert comparison logic here... */
                }
            }
            ]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.EqualityComparerAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.ComparerAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.ComparerAttribute.Register(System.Type,Gallio.Common.Func{System.Object,System.Object,System.Object})">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.ComparerAttribute.Unregister(System.Type)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.XmlOptions">
            <summary>
            Optional settings for the XML equality assertions.
            </summary>
            <seealso cref="M:MbUnit.Framework.Assert.Xml.AreEqual(System.String,System.String)"/>
        </member>
        <member name="M:MbUnit.Framework.XmlOptions.#ctor(Gallio.Common.Xml.Options)">
            <summary>
            
            </summary>
            <param name="preset"></param>
        </member>
        <member name="F:MbUnit.Framework.XmlOptions.Default">
            <summary>
            The default settings for the XML equality assertions.
            </summary>
            <remarks>
            <para>
            Those settings specify to ignore the order of the elements and the attributes located
            in the same parent element, and to ignore the comment tags as well.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<Animal genus='Rangifer' species='tarandus'>Peary Caribou</Animal>"
                string actual = "<Animal species='tarandus' genus='Rangifer'>Peary Caribou</Animal>"
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Default); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="F:MbUnit.Framework.XmlOptions.Strict">
            <summary>
            The strictest settings for the XML equality assertions.
            </summary>
            <remarks>
            <para>
            The strictest settings expect the elements and the attributes to be in the same order as
            in the expected XML data, and makes case sensitive string comparisons for the name and the
            value of the elements and the attributes. Comment tags are included in the comparison 
            process as well.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<Animal>" +
                                  "  <!-- Some details... -->
                                  "  <Name value='Peary Caribou'/>" +
                                  "  <Genus/>" +
                                  "  <Species value='tarandus'/>" +
                                  "</Animal>"
                string actual =   "<Animal>" +
                                  "  <!-- Some details... -->
                                  "  <Name value='Peary Caribou'/>" 
                                  "  <Genus></Genus>" +
                                  "  <Species value='tarandus'/>" +
                                  "</Animal>"
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Strict); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="F:MbUnit.Framework.XmlOptions.Loose">
            <summary>
            The loosest settings for the XML equality assertions.
            </summary>
            <remarks>
            <para>
            The settings ignored the order of the elements and the attributes located in the
            same parent element. It makes case insensitive string comparisons for the name and 
            the value of the attributes and the elements. It ignored the comment tags as well.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<Animal>" +
                                  "  <!-- Some details... -->
                                  "  <Name value='Peary Caribou'/>" +
                                  "  <Genus value='Rangifer'/>" +
                                  "  <Species value='tarandus'/>" +
                                  "</Animal>"
                string actual =   "<animal>" +
                                  "  <genus VALue='rangifer'/>" +
                                  "  <NAme value='Peary CaRibou'/>" 
                                  "  <Species VALUE='TARANDUS'/>" +
                                  "</animal>"
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Loose); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="F:MbUnit.Framework.XmlOptions.Custom">
            <summary>
            Custom settings for the XML equality assertions.
            </summary>
            <remarks>
            <para>
            Lets you define your own equality settings. Combine the different available options together
            to specify how the equality between 2 provided XML fragments must be done.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<Animal>Peary Caribou</Animal>"
                string actual = "<Animal>Peary Caribou</Animal>"
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Custom.IgnoreComments.IgnoreElementsCaseName.IgnoreAttributesOrder); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.XmlOptions.Value">
            <summary>
            Gets the inner value.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.CustomXmlOptions">
            <summary>
            Customizable optional settings for the XML equality assertions.
            </summary>
            <seealso cref="M:MbUnit.Framework.Assert.Xml.AreEqual(System.String,System.String)"/>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreElementsNameCase">
            <summary>
            Indicates that the <b>name</b> of the XML elements must be compared with case insensitivity.
            </summary>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<ANIMAL>Peary Caribou</ANIMAL>"
                string actual = "<animal>Peary Caribou</animal>"
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Custom.IgnoreElementsNameCase); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreElementsValueCase">
            <summary>
            Indicates that the <b>value</b> of the XML elements must be compared with case insensitivity.
            </summary>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<Animal>Peary Caribou</Animal>"
                string actual = "<Animal>PEaRY CaRiboU</Animal>"
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Custom.IgnoreElementsValueCase); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreAttributesNameCase">
            <summary>
            Indicates that the <b>name</b> of the XML attributes must be compared with case insensitivity.
            </summary>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<Animal name='Peary Caribou'/>"
                string actual = "<Animal NAME='Peary Caribou'/>"
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Custom.IgnoreAttributesNameCase); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreAttributesValueCase">
            <summary>
            Indicates that the <b>value</b> of the XML attributes must be compared with case insensitivity.
            </summary>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<Animal name='Peary Caribou'/>"
                string actual = "<Animal name='PEaRY CaRiboU'/>"
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Custom.IgnoreAttributesValueCase); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreElementsOrder">
            <summary>
            Indicates that the order of the child elements within a given parent element must be ignored.
            </summary>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<Animal>" +
                                  "  <Name value='Peary Caribou'/>" +   // 1st
                                  "  <Genus value='Rangifer'/>" +       // 2nd
                                  "  <Species value='tarandus'/>" +     // 3rd
                                  "</Animal>"
                string actual =   "<Animal>" +
                                  "  <Genus value='Rangifer'/>" +       // 2nd -> 1st!
                                  "  <Species value='tarandus'/>" +     // 3rd -> 2nd!
                                  "  <Name value='Peary Caribou'/>" +   // 1st -> 3rd!
                                  "</Animal>"
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Custom.IgnoreElementsOrder); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreAttributesOrder">
            <summary>
            Indicates that the order of the attributes within the same element must be ignored.
            </summary>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<Animal" +
                                  "  name='Peary Caribou'" +    // 1st
                                  "  genus='Rangifer'" +        // 2nd
                                  "  species='tarandus' />" +   // 3rd
                string actual =   "<Animal" +
                                  "  genus='Rangifer'" +        // 2nd -> 1st!
                                  "  species='tarandus'" +      // 3rd -> 2nd!
                                  "  name='Peary Caribou' />" + // 1st -> 3rd!
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Custom.IgnoreAttributesOrder); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreComments">
            <summary>
            Indicates that the comment tags should be ignored during the comparison.
            </summary>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<Animal name='Peary Caribou'><!-- Living in herds numbering less than 20. --></Animal>" +;
                string actual = "<Animal name='Peary Caribou'><!-- Unknown surviving number. --></Animal>" +;
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Custom.IgnoreComments); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.Enclose">
            <summary>
            Encloses the XML fragments within a "root" element.
            </summary>
            <remarks> 
            <para>
            The .NET XML parser (<see cref="T:System.Xml.XmlReader"/>) does not support multiple root elements.
            This option encloses the multiple elements within a unique root element.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [Test]
            public void MyXmlTest()
            {
                string expected = "<a/><b/><c/>"; // Multiple root elements!
                string actual = "<a/><b/><c/>";
                Assert.Xml.AreEqual(expected, actual, XmlOptions.Custom.EncloseInRootElement); // Pass!
            }
            ]]></code>
            </example>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreElementsCase">
            <summary>
            Combines the options <see cref="P:MbUnit.Framework.CustomXmlOptions.IgnoreElementsNameCase"/> and <see cref="P:MbUnit.Framework.CustomXmlOptions.IgnoreElementsValueCase"/>
            </summary>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreAttributesCase">
            <summary>
            Combines the options <see cref="P:MbUnit.Framework.CustomXmlOptions.IgnoreAttributesNameCase"/> and <see cref="P:MbUnit.Framework.CustomXmlOptions.IgnoreAttributesValueCase"/>
            </summary>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreAllCase">
            <summary>
            Combines the options <see cref="P:MbUnit.Framework.CustomXmlOptions.IgnoreElementsCase"/> and <see cref="P:MbUnit.Framework.CustomXmlOptions.IgnoreAttributesCase"/>
            </summary>
        </member>
        <member name="P:MbUnit.Framework.CustomXmlOptions.IgnoreAllOrder">
            <summary>
            Combines the options <see cref="P:MbUnit.Framework.CustomXmlOptions.IgnoreElementsOrder"/> and <see cref="P:MbUnit.Framework.CustomXmlOptions.IgnoreAttributesOrder"/>
            </summary>
        </member>
        <member name="T:MbUnit.Framework.PrincipalAttribute">
            <summary>
            Run a test or a test fixture under another user account.
            </summary>
            <remarks>
            <para>
            <c>PrincipalAttribute</c> is an abstract class. You must derive your own attribute from this class,
            and implement <see cref="M:MbUnit.Framework.PrincipalAttribute.CreatePrincipal"/> to return a principal object.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class MyPrincipalAttribute : PrincipalAttribute
            {
                protected override IPrincipal CreatePrincipal()
                {
                    // Create or retrieve the principal...
                }
            }
            
            [TestFixture]
            public class MyTestFixture
            {
                [Test, MyPrincipal]
                public void MyTest()
                {
                    // Some test logic here...
                }
            }
            ]]></code>
            </example>
        </member>
        <member name="M:MbUnit.Framework.PrincipalAttribute.CreatePrincipal">
            <summary>
            Creates a principal object which represents the security context 
            of the user on whose behalf the test is running.
            </summary>
            <returns>A principal object.</returns>
        </member>
        <member name="M:MbUnit.Framework.PrincipalAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.MultipleCultureAttribute">
            <summary>
            Run a test or a test fixture under different cultures.
            </summary>
            <example>
            The following example demonstrates a simple test run under multiple cultures. 
            It will pass under en-US culture but fail under en-GB.
            <code><![CDATA[
            [TestFixture]
            public class MyTestFixture
            {
                [Test]
                [MultipleCulture("en-US", "en-GB")]
                public void CheckCurrencySymbol()
                {
                    Assert.AreEqual("$4.50", String.Format("{0:C}", 4.5d);
                }
            }
            ]]></code>
            </example>
        </member>
        <member name="M:MbUnit.Framework.MultipleCultureAttribute.#ctor(System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:MbUnit.Framework.MultipleCultureAttribute"/> class.
            </summary>
            <param name="cultures">An array of culture names to run the test under.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cultures"/> is a null reference.</exception>
        </member>
        <member name="M:MbUnit.Framework.MultipleCultureAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.ImpersonateAttribute">
            <summary>
            Run a test or a test fixture under another user account.
            </summary>
            <example>
            <code><![CDATA[
            [TestFixture]
            public class MyTestFixture
            {
                [Test]
                [Impersonate(UserName = "Julius Caesar", Password = "VeniVidiVici")]
                [Impersonate(UserName = "Marcus Brutus", Password = "EtTuBrute?")]
                public void MyTest()
                {
                    // Some test logic here...
                }
            }
            ]]></code>
            </example>
        </member>
        <member name="M:MbUnit.Framework.ImpersonateAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ImpersonateAttribute.UserName">
            <summary>
            Gets or sets the user name.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.ImpersonateAttribute.Password">
            <summary>
            Gets or sets the password.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.ImpersonateAttribute.Domain">
            <summary>
            Gets or sets the domain where the user is defined.
            </summary>
            <remarks>
            <para>
            If not specified, the domain is supposed to be the local machine.
            </para>
            </remarks>
        </member>
        <member name="T:MbUnit.Framework.NamespaceDoc">
            <summary>
            The MbUnit.Framework namespace provides the MbUnit Test Framework, an extensible
            attribute-based test framework for .Net.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.RandomStringStock">
            <summary>
            Identifies a stock of predefined string values for the random strings generator.
            </summary>
            <seealso cref="T:MbUnit.Framework.RandomStringsAttribute"/>
        </member>
        <member name="F:MbUnit.Framework.RandomStringStock.EnUSMaleNames">
            <summary>
            A predefined collection of random US male names.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.RandomStringStock.EnCountries">
            <summary>
            A predefined collection of random country names.
            </summary>
            <remarks>
            <para>
            Reference: <a href="http://unstats.un.org/unsd/methods/m49/m49alpha.htm">Countries or areas, codes and abbreviations</a>.
            </para>
            </remarks>
        </member>
        <member name="T:MbUnit.Framework.RandomStringsAttribute">
            <summary>
            Provides a column of random <see cref="T:System.String"/> values as a data source.
            </summary>
            <remarks>
            <para>
            Initialize the random string generator by setting the named parameter <see cref="P:MbUnit.Framework.RandomStringsAttribute.Count"/>, which specifies
            how many random values to generate; and one of the two named parameters <see cref="P:MbUnit.Framework.RandomStringsAttribute.Pattern"/> or <see cref="P:MbUnit.Framework.RandomStringsAttribute.Stock"/>.
            </para>
            <para>
            The <see cref="P:MbUnit.Framework.RandomStringsAttribute.Pattern"/> property accepts a simplified regular expression syntax. 
            The following syntactic features are supported:
            <list type="bullet">
            <item>
            <strong>Logical Grouping</strong> : Group a part of the expression (<c>(...)</c>).
            </item>
            <item>
            <strong>Explicit Set</strong> : Define a set of possible characters (<c>[...]</c>). 
            Ranges defined with a tiret are accepted.
            </item>
            <item>
            <strong>Explicit Quantifier</strong> : Specify the number of times the previous expression must be repeated. 
            'Constant' (<c>{N}</c>) or 'Range' (<c>{N,M}</c>) syntax are both accepted.
            </item>
            <item>
            <strong>Zero Or One Quantifier Metacharacter</strong> : 0 or 1 of the previous expression (<c>?</c>).
            Same effect as <c>{0,1}</c>.
            </item>
            <item>
            <strong>Escape Character</strong> : Makes the next character literal instead of a special character (<c>\</c>).
            </item>
            </list>
            </para>
            <para>
            The <see cref="P:MbUnit.Framework.RandomStringsAttribute.Stock"/> property selects a stock of predefined strings from which to draw random values.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [TestFixture]
            public class MyTestFixture
            {
                [Test]
                public void MyTestMethod([RandomStrings(Count = 3, Pattern = @"[A-Z]{5,8}")] string text)
                {
                    // This test will run 3 times. It generates at each iteration
                    // a random string containing 5 to 8 uppercase alphabetic characters.
                }
            }
            ]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.ColumnAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.RandomStringsAttribute.#ctor">
            <summary>
            Adds a column of random <see cref="T:System.String"/> values.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.RandomStringsAttribute.GetRandomGeneratorSeed(Gallio.Framework.Pattern.IPatternScope)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.RandomStringsAttribute.GetGenerator(Gallio.Framework.Pattern.IPatternScope)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.RandomStringsAttribute.Pattern">
            <summary>
            Gets or sets a regular expression pattern to generate random string from.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.RandomStringsAttribute.Stock">
            <summary>
            Gets or sets the stock of predefined strings from which to draw random values.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.RandomStringsAttribute.Count">
            <summary>
            Gets or sets the number of random values that are going to be generated.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.RandomStringsAttribute.Filter">
            <summary>
            Gets or sets the name of a method present in the test fixture
            whose purpose is to prevent some specific values to be generated.
            </summary>
            <remarks>
            <para>
            The method must accepts one argument of the type <see cref="T:System.String"/>, and
            returns a <see cref="T:System.Boolean"/> value indicating whether the specified value
            must be accepted or rejected.
            </para>
            <para>
            <example>
            <code><![CDATA[
            [TestFixture]
            public class MyTestFixture
            {
                [Test]
                public void Generate_filtered_sequence([RandomStrings(Count = 3, Pattern = @"[A-Z]{5,8}", Filter = "MyFilter")]] string text)
                {
                    // Code logic here...
                }
            
                public static bool MyFilter(string text)
                {
                    return text != "AAAAA";
                }
            }
            ]]></code>
            </example>
            </para>
            </remarks>
        </member>
        <member name="T:MbUnit.Framework.SequentialNumbersAttribute">
            <summary>
            Provides a column of sequential <see cref="T:System.Decimal"/> values as a data source.
            </summary>
            <remarks>
            <para>
            The sequence is initialized by setting 3 of the 4 available named properties. 
            The following combinations are possible:
            <list type="bullet">
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/>, <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.End"/>, and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Count"/></item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/>, <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Step"/>, and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Count"/></item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/>, <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.End"/>, and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Step"/></item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.End"/> (with a default step of 1)</item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Count"/> (with a default step of 1)</item>
            </list>
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [TestFixture]
            public class MyTestFixture
            {
                [Test]
                public void MyTestMethod2([SequentialNumbers(Start = 0, End = 10, Count = 5)] decimal value)
                {
                    // This test will run 5 times with the values 0, 2.5, 5, 7.5, and 10.
                }
                
                [Test]
                public void MyTestMethod1([SequentialNumbers(Start = 1, Step = 1, Count = 4)] int value)
                {
                    // This test will run 4 times with the values 1, 2, 3 and 4.
                }
                
                [Test]
                public void MyTestMethod3([SequentialNumbers(Start = 0, End = 15, Step = 3)] decimal value)
                {
                    // This test will run 6 times with the values 0, 3, 6, 9, 12, 15.
                }
                
                [Test]
                public void MyTestMethod4([SequentialNumbers(Start = 3, End = 8)] int value)
                {
                    // This test will run 6 times with the values 3, 4, 5, 6, 7, and 8.
                }
            }]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.ColumnAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.SequentialNumbersAttribute.#ctor">
            <summary>
            Adds a column of sequential <see cref="T:System.Decimal"/> values.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.SequentialNumbersAttribute.GetGenerator(Gallio.Framework.Pattern.IPatternScope)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.SequentialNumbersAttribute.Start">
            <summary>
            Gets or sets the starting value of the sequence.
            </summary>
            <remarks>
            <para>
            That property is used to define the sequence, when used with other properties:
            <list type="bullet">
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.End"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Count"/>.</item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Step"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Count"/>.</item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.End"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Step"/>.</item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.End"/> (default step of 1)</item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Count"/> (default step of 1)</item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.SequentialNumbersAttribute.End">
            <summary>
            Gets or sets the ending value of the sequence.
            </summary>
            <remarks>
            <para>
            That property is used to define the sequence, when used with 2 other properties:
            <list type="bullet">
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Count"/></item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Step"/></item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/> (default step of 1)</item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.SequentialNumbersAttribute.Step">
            <summary>
            Gets or sets the increment between each value of the sequence.
            </summary>
            <remarks>
            <para>
            That property is used to define the sequence, when used with 2 other properties:
            <list type="bullet">
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Count"/></item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.End"/></item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.SequentialNumbersAttribute.Count">
            <summary>
            Gets or sets the length of the sequence.
            </summary>
            <remarks>
            <para>
            That property is used to define the sequence, when used with 2 other properties:
            <list type="bullet">
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.End"/></item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/> and <see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Step"/></item>
            <item><see cref="P:MbUnit.Framework.SequentialNumbersAttribute.Start"/> (default step of 1)</item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.SequentialNumbersAttribute.Filter">
            <summary>
            Gets or sets the name of a method present in the test fixture
            whose purpose is to prevent some specific values to be generated.
            </summary>
            <remarks>
            <para>
            The method must accepts one argument of a type that represents a number, such as <see cref="T:System.Decimal"/>, 
            <see cref="T:System.Double"/>, or <see cref="T:System.Int32"/>, and returns a <see cref="T:System.Boolean"/> value indicating 
            whether the specified value must be accepted or rejected.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [TestFixture]
            public class MyTestFixture
            {
                [Test]
                public void Generate_filtered_sequence([SequentialNumbers(Start = 1, End = 100, Step = 1, Filter = "MyFilter")] int value)
                {
                    // Code logic here...
                }
            
                public static bool MyFilter(int number)
                {
                    return (n % 3 == 0) || (n % 10 == 0);
                }
            }
            ]]></code>
            </example>
        </member>
        <member name="T:MbUnit.Framework.RandomNumbersAttribute">
            <summary>
            Provides a column of random <see cref="T:System.Decimal"/> values as a data source.
            </summary>
            <remarks>
            <para>
            Initialize the random number generator by setting the 3 named parameters <see cref="P:MbUnit.Framework.RandomNumbersAttribute.Minimum"/>, 
            <see cref="P:MbUnit.Framework.RandomNumbersAttribute.Maximum"/>, and <see cref="P:MbUnit.Framework.RandomNumbersAttribute.Count"/> according to the desired number of values, and to
            the expected range of numbers.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [TestFixture]
            public class MyTestFixture
            {
                [Test]
                public void MyTestMethod([RandomNumbers(Minimum = 0, Maximum = 10, Count = 3)] decimal value)
                {
                    // This test will run 3 times. It generates at each iteration
                    // a decimal number between 0 and 10.
                }
            }]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.ColumnAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.RandomNumbersAttribute.#ctor">
            <summary>
            Adds a column of random <see cref="T:System.Decimal"/> values.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.RandomNumbersAttribute.GetGenerator(Gallio.Framework.Pattern.IPatternScope)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.RandomNumbersAttribute.GetRandomGeneratorSeed(Gallio.Framework.Pattern.IPatternScope)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.RandomNumbersAttribute.Minimum">
            <summary>
            Gets or sets the lower bound of the numeric range where random values are going to be generated.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.RandomNumbersAttribute.Maximum">
            <summary>
            Gets or sets the upper bound of the numeric range where random values are going to be generated.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.RandomNumbersAttribute.Count">
            <summary>
            Gets or sets the number of random values that are going to be generated.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.RandomNumbersAttribute.Filter">
            <summary>
            Gets or sets the name of a method present in the test fixture
            whose purpose is to prevent some specific values to be generated.
            </summary>
            <remarks>
            <para>
            The method must accepts one argument of a type that represents a number, such as <see cref="T:System.Decimal"/>, 
            <see cref="T:System.Double"/>, or <see cref="T:System.Int32"/>, and returns a <see cref="T:System.Boolean"/> value indicating 
            whether the specified value must be accepted or rejected.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            [TestFixture]
            public class MyTestFixture
            {
                [Test]
                public void Generate_filtered_sequence([RandomNumbers(Minimum = 1, Maximum = 100, Count = 50, Filter = "MyFilter")] int value)
                {
                    // Code logic here...
                }
            
                public static bool MyFilter(int number)
                {
                    return (n % 3 == 0) || (n % 10 == 0);
                }
            }
            ]]></code>
            </example>
        </member>
        <member name="T:MbUnit.Framework.TestScope">
            <summary>
            Specifies the scope to which certain attributes apply.
            </summary>
            <seealso cref="T:MbUnit.Framework.ParallelizableAttribute"/>
        </member>
        <member name="F:MbUnit.Framework.TestScope.Self">
            <summary>
            Applies to this test only.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.TestScope.Descendants">
            <summary>
            Applies to the descendants of this test only.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.TestScope.All">
            <summary>
            Applies to this test and its descendants.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.EnumDataAttribute">
            <summary>
            Provides a column of enumeration values as a data source.
            </summary>
            <remarks>
            <para>
            Each value from the specified enumeration type is used as input for the
            data-driven test method.
            </para>
            <para>
            It is possible to exclude some specific values of the enumeration from the column.
            Use <see cref="P:MbUnit.Framework.EnumDataAttribute.Exclude"/> or <see cref="P:MbUnit.Framework.EnumDataAttribute.ExcludeArray"/> 
            for that purpose.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public enum Planet
            {
                Mercury,
                Venus,
                Earth,
                Mars,
                Jupiter,
                Saturn,
                Uranus,
                Neptune
            }
            
            [TestFixture]
            public class MyTestFixture
            {
                [Test]
                public void Test([EnumData(typeof(Planet))] Planet planet)
                {
                    // This test will run 8 times with all the possible values of
                    // the specified enumeration type.
                }
            
                [Test]
                public void TestWithRestrictions([EnumData(typeof(Planet), Exclude = Planet.Earth)] Planet planet)
                {
                    // This test will run only 7 times.
                }
            }]]></code>
            </example>
            <seealso cref="T:MbUnit.Framework.ColumnAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.EnumDataAttribute.#ctor(System.Type)">
            <summary>
            Adds a column of enumeration values.
            </summary>
            <param name="enumerationType">The type of the enumeration.</param>
            <exception cref="T:System.ArgumentNullException">The specified type is null.</exception>
            <exception cref="T:System.ArgumentException">The specified type is not an enumeration type.</exception>
        </member>
        <member name="M:MbUnit.Framework.EnumDataAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.EnumDataAttribute.EnumerationType">
            <summary>
            Gets the type of the enumeration.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.EnumDataAttribute.Exclude">
            <summary>
            Sets or gets the single enumeration value that must be excluded from the column.
            </summary>
            <remarks>
            <para>
            If you want to exclude several values at once, use <see cref="P:MbUnit.Framework.EnumDataAttribute.ExcludeArray"/> instead.
            </para>
            </remarks>
            <seealso cref="P:MbUnit.Framework.EnumDataAttribute.ExcludeArray"/>
        </member>
        <member name="P:MbUnit.Framework.EnumDataAttribute.ExcludeArray">
            <summary>
            Sets or gets an array of values that must be excluded from the column.
            </summary>
            <remarks>
            <para>
            If you want to exclude one value only, use <see cref="P:MbUnit.Framework.EnumDataAttribute.Exclude"/> instead.
            </para>
            </remarks>
            <seealso cref="P:MbUnit.Framework.EnumDataAttribute.Exclude"/>
        </member>
        <member name="T:MbUnit.Framework.DefaultTestCaseTimeoutAttribute">
            <summary>
            Specifies the default test case timeout for all tests in the test assembly.
            </summary>
            <remarks>
            <para>
            Defaults to 10 minutes.
            </para>
            </remarks>
            <seealso cref="P:Gallio.Framework.Pattern.TestAssemblyExecutionParameters.DegreeOfParallelism"/>
        </member>
        <member name="M:MbUnit.Framework.DefaultTestCaseTimeoutAttribute.#ctor(System.Int32)">
            <summary>
            Sets the default timeout in seconds, or zero if none.
            </summary>
            <param name="timeoutSeconds">The timeout in seconds, or zero if none.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="timeoutSeconds"/> is less than 0.</exception>
        </member>
        <member name="M:MbUnit.Framework.DefaultTestCaseTimeoutAttribute.DecorateAssemblyTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IAssemblyInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.DefaultTestCaseTimeoutAttribute.TimeoutSeconds">
            <summary>
            Gets the default timeout in seconds, or zero if none.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.DefaultTestCaseTimeoutAttribute.Timeout">
            <summary>
            Gets the timeout, or null if none.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.DegreeOfParallelismAttribute">
            <summary>
            Specifies the maximum number of concurrent threads to use when tests are run in parallel
            for all tests in the test assembly.
            </summary>
            <remarks>
            <para>
            Defaults to <see cref="P:System.Environment.ProcessorCount"/> or 2, whichever is greater.
            </para>
            </remarks>
            <seealso cref="P:Gallio.Framework.Pattern.TestAssemblyExecutionParameters.DegreeOfParallelism"/>
        </member>
        <member name="M:MbUnit.Framework.DegreeOfParallelismAttribute.#ctor(System.Int32)">
            <summary>
            Specifies the maximum number of concurrent threads to use when tests are run in parallel.
            </summary>
            <param name="degreeOfParallelism">The degree of parallelism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="degreeOfParallelism"/> is less than 1.</exception>
        </member>
        <member name="M:MbUnit.Framework.DegreeOfParallelismAttribute.DecorateAssemblyTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IAssemblyInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.DegreeOfParallelismAttribute.DegreeOfParallelism">
            <summary>
            Gets the degree of parallelism.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.SortOrder">
            <summary>
            Expected sorting order for the <see cref="M:MbUnit.Framework.Assert.Sorted``1(System.Collections.Generic.IEnumerable{``0},MbUnit.Framework.SortOrder)"/> assertion.
            </summary>
            <seealso cref="M:MbUnit.Framework.Assert.Sorted``1(System.Collections.Generic.IEnumerable{``0},MbUnit.Framework.SortOrder)"/>
        </member>
        <member name="F:MbUnit.Framework.SortOrder.Increasing">
            <summary>
            Each value is expected to be greater than or equal to the previous value.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.SortOrder.StrictlyIncreasing">
            <summary>
            Each value is expected to be strictly greater than the previous value.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.SortOrder.Decreasing">
            <summary>
            Each value is expected to be less than or equal to the previous value.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.SortOrder.StrictlyDecreasing">
            <summary>
            Each value is expected to be strictly less than the previous value.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.StructuralEqualityComparer`1">
            <summary>
            A general-purpose structural equality comparer that defines a fully customizable equality operation without the 
            need to implement <see cref="T:System.IEquatable`1"/>.
            </summary>
            <remarks>
            <para>
            That equality comparer can be used in any MbUnit assertion that takes an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> 
            object as argument, such as <see cref="M:MbUnit.Framework.Assert.AreEqual``1(``0,``0,System.Collections.Generic.IEqualityComparer{``0})"/>.
            </para>
            <para>
            The comparer must be initialized with a list of one or several matching criteria. Two instances are considered
            equal by the comparer if and only if all the criteria are true for that pair of instances.
            </para>
            </remarks>
            <example>
            The following example shows a test fixture that checks for the equality between two <strong>Foo</strong> 
            objects by using the well known <see cref="M:MbUnit.Framework.Assert.AreEqual``1(``0,``0,System.Collections.Generic.IEqualityComparer{``0})"/> assertion. The custom equality comparer which 
            is provided to the assertion method, declares two <strong>Foo</strong> objects equal when the <strong>Value</strong> 
            fields have the same parity, and when the <strong>Text</strong> fields are equal (case insensitive):
            <code><![CDATA[
            public class Foo
            {
                public int Value;
                public string Text;
            }
            
            [TestFixture]
            public class FooTest
            {
                [Test]
                public void MyTest()
                {
                    var foo1 = new Foo() { Value = 123, Text = "Hello" };    
                    var foo2 = new Foo() { Value = 789, Text = "hElLo" };
                    
                    Assert.AreEqual(foo1, foo2, new StructuralEqualityComparer<Foo>
                    {
                        { x => x.Value, (x, y) => x % 2 == y % 2 },
                        { x => x.Text, (x, y) => String.Compare(x, y, true) == 0 }
                    });
                }
            }
            ]]></code>
            </example>
            <typeparam name="T">The type of the objects. to compare.</typeparam>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.Add``1(Gallio.Common.Accessor{`0,``0})">
            <summary>
            Adds a matching criterion to the structural equality comparer.
            </summary>
            <remarks>
            <para>
            The values returned by the accessor are compared by using a default comparison evaluator.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class Foo
            {
                public int Value;
            }
            
            [TestFixture]
            public class FooTest
            {
                [Test]
                public void MyTest()
                {
                    var foo1 = new Foo() { Value = 123 };    
                    var foo2 = new Foo() { Value = 123 };
                    
                    Assert.AreEqual(foo1, foo2, new StructuralEqualityComparer<Foo>
                    {
                        { x => x.Value },
                    });
                }
            }
            ]]></code>
            </example>
            <typeparam name="TValue">The type of the value returned by the accessor.</typeparam>
            <param name="accessor">An accessor that gets a value from the tested object.</param>
            <exception cref="T:System.ArgumentNullException">The specified accessor argument is a null reference.</exception>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.Add``1(Gallio.Common.Accessor{`0,``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Adds a matching criterion to the structural equality comparer.
            </summary>
            <remarks>
            <para>
            The values returned by the accessor are compared by using the specified comparer object.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class Foo
            {
                public int Value;
            }
            
            public class MyComparer : IEqualityComparer<int>
            {
                public bool Equals(int x, int y)
                {
                    return x == y;    
                }
                
                public int GetHashCode(int obj)
                {
                    return obj;
                }
            }
            
            [TestFixture]
            public class FooTest
            {
                [Test]
                public void MyTest()
                {
                    var foo1 = new Foo() { Value = 123 };    
                    var foo2 = new Foo() { Value = 123 };
                    
                    Assert.AreEqual(foo1, foo2, new StructuralEqualityComparer<Foo>
                    {
                        { x => x.Value, new MyComparer() },
                    });
                }
            }
            ]]></code>
            </example>
            <typeparam name="TValue">The type of the value returned by the accessor.</typeparam>
            <param name="accessor">An accessor that gets a value from the tested object.</param>
            <param name="comparer">A comparer instance, or null to use the default one (<see cref="P:MbUnit.Framework.StructuralEqualityComparer`1.Default"/>).</param>
            <exception cref="T:System.ArgumentNullException">The specified accessor argument is a null reference.</exception>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.Add``1(Gallio.Common.Accessor{`0,``0},Gallio.Common.EqualityComparison{``0})">
            <summary>
            Adds a matching criterion to the structural equality comparer.
            </summary>
            <remarks>
            <para>
            The values returned by the accessor are compared by using the specified comparison delegate.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class Foo
            {
                public int Value;
            }
            
            [TestFixture]
            public class FooTest
            {
                [Test]
                public void MyTest()
                {
                    var foo1 = new Foo() { Value = 123 };    
                    var foo2 = new Foo() { Value = 123 };
                    
                    Assert.AreEqual(foo1, foo2, new StructuralEqualityComparer<Foo>
                    {
                        { x => x.Value, (x, y) => x == y },
                    });
                }
            }
            ]]></code>
            </example>
            <typeparam name="TValue">The type of the value returned by the accessor.</typeparam>
            <param name="accessor">An accessor that gets a value from the tested object.</param>
            <param name="comparer">A equality comparison delegate to compare the values returned by the accessor, or null to use the default one.</param>
            <exception cref="T:System.ArgumentNullException">The specified accessor argument is a null reference.</exception>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.Add(Gallio.Common.EqualityComparison{`0})">
            <summary>
            Adds a matching criterion to the structural equality comparer.
            </summary>
            <remarks>
            <para>
            The evaluation process is done through the specified comparison delegate.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class Foo
            {
                public int Value;
            }
            
            [TestFixture]
            public class FooTest
            {
                [Test]
                public void MyTest()
                {
                    var foo1 = new Foo() { Value = 123 };    
                    var foo2 = new Foo() { Value = 123 };
                    
                    Assert.AreEqual(foo1, foo2, new StructuralEqualityComparer<Foo>
                    {
                        { (x, y) => x.Value == y.Value },
                    });
                }
            }
            ]]></code>
            </example>
            <param name="comparer">An equality comparison delegate to directly compare two instances, or null to use the default one.</param>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.Add(System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Adds a matching criterion to the structural equality comparer.
            </summary>
            <remarks>
            <para>
            The evaluation process is done through the specified comparer object.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class Foo
            {
                public int Value;
            }
            
            public class MyComparer : IEqualityComparer<Foo>
            {
                public bool Equals(Foo x, Foo y)
                {
                    return x.Value == y.Value;    
                }
                
                public int GetHashCode(int obj)
                {
                    return obj;
                }
            }
            
            [TestFixture]
            public class FooTest
            {
                [Test]
                public void MyTest()
                {
                    var foo1 = new Foo() { Value = 123 };    
                    var foo2 = new Foo() { Value = 123 };
                    
                    Assert.AreEqual(foo1, foo2, new StructuralEqualityComparer<Foo>
                    {
                        { new MyComparer() },
                    });
                }
            }
            ]]></code>
            </example>
            <param name="comparer">An comparer object to directly compare two instances, or null to use the default one.</param>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.Add``1(Gallio.Common.Accessor{`0,System.Collections.Generic.IEnumerable{``0}},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Adds a matching criterion to the structural equality comparer.
            </summary>
            <remarks>
            <para>
            The enumerations of values returned by the accessor are compared one by one, 
            by using the specified comparer.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class Foo
            {
                public int[] Values;
            }
            
            [TestFixture]
            public class FooTest
            {
                [Test]
                public void MyTest()
                {
                    var foo1 = new Foo() { Values = new int[] { 1, 2, 3, 4, 5 } };    
                    var foo2 = new Foo() { Values = new int[] { 1, 2, 3, 4, 5 } };
                    
                    Assert.AreEqual(foo1, foo2, new StructuralEqualityComparer<Foo>
                    {
                        { x => x.Values,
                          new StructuralEqualityComparer<int> { { x => x } }
                        },
                    });
                }
            }
            ]]></code>
            </example>
            <typeparam name="TValue">The type of the value returned by the accessor.</typeparam>
            <param name="accessor">An accessor that gets an enumeration of values from the tested object.</param>
            <param name="comparer">A comparer instance for the values returned by the accessor, or null to use the default one.</param>
            <exception cref="T:System.ArgumentNullException">The specified accessor argument is a null reference.</exception>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.Add``1(Gallio.Common.Accessor{`0,System.Collections.Generic.IEnumerable{``0}},System.Collections.Generic.IEqualityComparer{``0},MbUnit.Framework.StructuralEqualityComparerOptions)">
            <summary>
            Adds a matching criterion to the structural equality comparer.
            </summary>
            <remarks>
            <para>
            The enumerations of values returned by the accessor are compared by using the specified comparer.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class Foo
            {
                public int[] Values;
            }
            
            [TestFixture]
            public class FooTest
            {
                [Test]
                public void MyTest()
                {
                    var foo1 = new Foo() { Values = new int[] { 1, 2, 3, 4, 5 } };    
                    var foo2 = new Foo() { Values = new int[] { 5, 4, 3, 2, 1 } };
                    
                    Assert.AreEqual(foo1, foo2, new StructuralEqualityComparer<Foo>
                    {
                        { x => x.Values,
                          new StructuralEqualityComparer<int> { { x => x } },
                          StructuralEqualityComparerOptions.IgnoreEnumerableOrder
                        },
                    });
                }
            }
            ]]></code>
            </example>
            <typeparam name="TValue">The type of the value returned by the accessor.</typeparam>
            <param name="accessor">An accessor that gets an enumeration of values from the tested object.</param>
            <param name="comparer">A comparer instance for the values returned by the accessor, or null to use the default one.</param>
            <param name="options">Some options indicating how to compare the enumeration of values returned by the accessor.</param>
            <exception cref="T:System.ArgumentNullException">The specified accessor argument is a null reference.</exception>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.Add``1(Gallio.Common.Accessor{`0,System.Collections.Generic.IEnumerable{``0}},Gallio.Common.EqualityComparison{``0},MbUnit.Framework.StructuralEqualityComparerOptions)">
            <summary>
            Adds a matching criterion to the structural equality comparer.
            </summary>
            <remarks>
            <para>
            The enumerations of values returned by the accessor are compared by using the specified comparer.
            </para>
            </remarks>
            <example>
            <code><![CDATA[
            public class Foo
            {
                public int[] Values;
            }
            
            [TestFixture]
            public class FooTest
            {
                [Test]
                public void MyTest()
                {
                    var foo1 = new Foo() { Values = new int[] { 1, 2, 3, 4, 5 } };    
                    var foo2 = new Foo() { Values = new int[] { 5, 4, 3, 2, 1 } };
                    
                    Assert.AreEqual(foo1, foo2, new StructuralEqualityComparer<Foo>
                    {
                        { x => x.Values,
                          new StructuralEqualityComparer<int> { { x => x } },
                          StructuralEqualityComparerOptions.IgnoreEnumerableOrder
                        },
                    });
                }
            }
            ]]></code>
            </example>
            <typeparam name="TValue">The type of the value returned by the accessor.</typeparam>
            <param name="accessor">An accessor that gets an enumeration of values from the tested object.</param>
            <param name="comparer">A comparer instance for the values returned by the accessor, or null to use the default one.</param>
            <param name="options">Some options indicating how to compare the enumeration of values returned by the accessor.</param>
            <exception cref="T:System.ArgumentNullException">The specified accessor argument is a null reference.</exception>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.Equals(`0,`0)">
            <summary>
            Determines whether the specified objects are equal.
            </summary>
            <param name="x">The first object of type T to compare.</param>
            <param name="y">The second object of type T to compare.</param>
            <returns>true if the specified objects are equal; otherwise, false.</returns>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.GetHashCode(`0)">
            <summary>
            Returns a hash code for the specified object.
            </summary>
            <param name="obj">The object for which a hash code is to be returned.</param>
            <returns>A hash code for the specified object.</returns>
            <exception cref="T:System.ArgumentNullException">The type of obj is a reference type and obj is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.StructuralEqualityComparer`1.GetEnumerator">
            <summary>
            Returns a strongly-typed enumerator that iterates through the collection.
            </summary>
            <returns>A strongly-typed enumerator that iterates through the collection.</returns>
        </member>
        <member name="P:MbUnit.Framework.StructuralEqualityComparer`1.Default">
            <summary>
            Gets a default neutral structural equality comparer for the tested type.
            </summary>
            <remarks>
            <para>
            The default comparer uses <see cref="M:System.Object.Equals(System.Object)"/> to determine whether
            two objects are equal. Is is usually sufficient for primitive types, and
            user types implementing <see cref="T:System.IEquatable`1"/>.
            </para>
            </remarks>
            <seealso cref="M:Gallio.Framework.IComparisonSemantics.Equals(System.Object,System.Object)"/>
        </member>
        <member name="T:MbUnit.Framework.StructuralEqualityComparerOptions">
            <summary>
            Comparison options for the structural equality comparer.
            </summary>
            <seealso cref="T:MbUnit.Framework.StructuralEqualityComparer`1"/>
        </member>
        <member name="F:MbUnit.Framework.StructuralEqualityComparerOptions.Default">
            <summary>
            Default options.
            </summary>
        </member>
        <member name="F:MbUnit.Framework.StructuralEqualityComparerOptions.IgnoreEnumerableOrder">
            <summary>
            Compares the two child sequences by ignoring the order of the elements.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.XmlDataAttribute">
            <summary>
            Provides data from XML contents.
            </summary>
            <remarks>
            <para>
            An XML data set selects nodes from an XML document using XPath
            expressions.  The selected nodes are returned as <see cref="T:System.Xml.XPath.XPathNavigator"/> objects
            but MbUnit will automatically convert the values to the types requested by the test
            such as strings or ints.
            </para>
            <para>
            Two XPath expressions are used.
            <list type="bullet">
            <item>
            <strong>Item Path</strong> : An XPath expression that selects a set of nodes that are used to
            uniquely identify records.  For example, the item path might be used to select
            the containing element of each Book element in an XML document of Books.
            The item path is specified in the constructor.
            </item>
            <item>
            <strong>Binding Path</strong> : An XPath expression that selects a node relative to the item path
            that contains a particular data value of interest.  For example, the binding path
            might be used to select the Author attribute of a Book element in an XML document of Books.
            The binding path is specified by the <see cref="T:Gallio.Framework.Data.DataBinding"/>.
            </item>
            </list>
            </para>
            </remarks>
            <example>
            <para>
            The XML may contain metadata at the row level by adding metadata elements in the
            <c>http://www.gallio.org/</c> namespace containing metadata entries.  In the following example,
            the row values would be selected using an Item Path of "//row" and a Binding Path of "@value".
            Additionally, some rows would have metadata as specified.
            <code><![CDATA[
            <data>
              <row value="somevalue">
                <metadata xmlns="http://www.gallio.org/">
                  <entry key="Description" value="A row..." />
                  <entry key="Author" value="Me" />
                </metadata>
              </row>
              <row value="anothervalue" />
            </data>
            ]]></code>
            </para>
            <para>
            This example reads data from an Embedded Resource called Data.xml within the
            same namespace as the test fixture.  Notice that the binding xpath expressions
            are specified for each parameter using the <see cref="T:MbUnit.Framework.BindAttribute"/> attribute.
            </para>
            <para>
            Data files:
            <code><![CDATA[
            <shoppingCart>
              <item name="Bananas">
                <unitPrice>0.85</unitPrice>
                <quantity>3</quantity>
              </item>
              <item name="Cookies">
                <unitPrice>0.10</unitPrice>
                <quantity>10</quantity>
              </item>
              <-- Comment: mmm! -->
              <item name="Shortbread">
                <unitPrice>2.25</unitPrice>
                <quantity>1</quantity>
              </item>
            </shoppingCart>
            ]]></code>
            </para>
            <para>
            A simple test.
            <code><![CDATA[
            public class AccountingTests
            {
                [Test]
                [XmlData("//item", ResourcePath = "Data.xml")]
                public void ShoppingCartTotalWithSingleItem(
                    [Bind("@name")] string item, 
                    [Bind("unitPrice")] decimal unitPrice, 
                    [Bind("quantity")] decimal quantity)
                {
                    var shoppingCart = new ShoppingCart();
                    shoppingCart.Add(item, unitprice, quantity);
                    Assert.AreEqual(unitPrice * quantity, shoppingCart.TotalCost);
                }
            }
            ]]></code>
            </para>
            </example>
            <seealso cref="T:Gallio.Framework.Data.XmlDataSet"/>
        </member>
        <member name="M:MbUnit.Framework.XmlDataAttribute.#ctor(System.String)">
            <summary>
            Specifies a XML-based data source.
            </summary>
            <param name="itemPath">The XPath expression used to select items within the document.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="itemPath"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.XmlDataAttribute.PopulateDataSource(Gallio.Framework.Pattern.IPatternScope,Gallio.Framework.Data.DataSource,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.ComparisonContract`1">
            <summary>
            Contract for verifying the implementation of the generic <see cref="T:System.IComparable`1"/> interface. 
            </summary>
            <remarks>
            <para>
            Built-in verifications:
            <list type="bullet">
            <item>
            <strong>ComparableCompareTo</strong> : The type implements the method <see cref="M:System.IComparable`1.CompareTo(`0)"/>.
            The method behaves as expected agains the provided equivalence classes.
            </item>
            <item>
            <strong>OperatorGreaterThan</strong> : The type has a static "Greater Than" operator overload which behaves
            correctly against the provided equivalence classes. Disable that test by setting 
            the <see cref="P:MbUnit.Framework.ContractVerifiers.ComparisonContract`1.ImplementsOperatorOverloads"/> property to <c>false</c>.
            </item>
            <item>
            <strong>OperatorGreaterThanOrEqual</strong> : The type has a static "Greater Than Or Equal" operator 
            overload which behaves correctly against the provided equivalence classes. Disable that test by setting 
            the <see cref="P:MbUnit.Framework.ContractVerifiers.ComparisonContract`1.ImplementsOperatorOverloads"/> property to <c>false</c>.
            </item>
            <item>
            <strong>OperatorLessThan</strong> : The type has a static "Less Than" operator overload which behaves
            correctly against the provided equivalence classes. Disable that test by setting 
            the <see cref="P:MbUnit.Framework.ContractVerifiers.ComparisonContract`1.ImplementsOperatorOverloads"/> property to <c>false</c>.
            </item>
            <item>
            <strong>OperatorLessThanOrEqual</strong> : The type has a static "Less Than Or Equal" operator 
            overload which behaves correctly against the provided equivalence classes. Disable that test by setting 
            the <see cref="P:MbUnit.Framework.ContractVerifiers.ComparisonContract`1.ImplementsOperatorOverloads"/> property to <c>false</c>.
            </item>
            </list>
            </para>
            </remarks>
            <example>
            The following example shows a simple class implementing the 
            <see cref="T:System.IComparable`1"/> interface, and a test fixture which uses the
            comparison contract to test it.
            <code><![CDATA[
            public class SampleComparable : IComparable<SampleComparable>
            {
                private int value;
            
                public SampleComparable(int value)
                {
                    this.value = value;
                }
            
                public int CompareTo(SampleComparable other)
                {
                    return Object.ReferenceEquals(other, null) 
                        ? Int32.MaxValue 
                        : value.CompareTo(other.value);
                }
            
                public static bool operator >=(SampleComparable left, SampleComparable right)
                {
                    return (Object.ReferenceEquals(left, null) 
                        && Object.ReferenceEquals(right, null)) 
                        || (!Object.ReferenceEquals(left, null) 
                        && (left.CompareTo(right) >= 0));
                }
            
                public static bool operator <=(SampleComparable left, SampleComparable right)
                {
                    return Object.ReferenceEquals(left, null) 
                        || (left.CompareTo(right) <= 0);
                }
            
                public static bool operator >(SampleComparable left, SampleComparable right)
                {
                    return !Object.ReferenceEquals(left, null) 
                        && (left.CompareTo(right) > 0);
                }
            
                public static bool operator <(SampleComparable left, SampleComparable right)
                {
                    return (!Object.ReferenceEquals(left, null) 
                        || !Object.ReferenceEquals(right, null)) 
                        && (Object.ReferenceEquals(left, null) 
                        || (left.CompareTo(right) < 0));
                }
            
            public class SampleComparableTest
            {
                [VerifyContract]
                public readonly IContract EqualityTests = new ComparisonContract<SampleComparable>
                {
                    ImplementsOperatorOverloads = true, // Optional (default is true)
                    EquivalenceClasses =
                    {
                        { new SampleComparable(1) },
                        { new SampleComparable(2) },
                        { new SampleComparable(3) },
                        { new SampleComparable(4) },
                        { new SampleComparable(5) }
                    }
                };
            }
            ]]></code>
            </example>
            <typeparam name="TTarget">The type of the object to evaluate.</typeparam>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.ComparisonContract`1.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.ComparisonContract`1.GetContractVerificationTests">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.ComparisonContract`1.ImplementsOperatorOverloads">
            <summary>
            Determines whether the verifier will evaluate the presence and the 
            behavior of the 4 operator overloads "Greater Than", "Greater Than
            Or Equal", "Less Than", and "Less Than Or Equal".
            </summary>
            <remarks>
            <para>
            The default value is <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.ComparisonContract`1.EquivalenceClasses">
            <summary>
            Gets or sets the collection of equivalence classes of instances
            to feed the contract verifier.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.EqualityContract`1">
            <summary>
            Contract for verifying the implementation of the generic <see cref="T:System.IEquatable`1"/> interface. 
            </summary>
            <remarks>
            <para>
            Built-in verifications:
            <list type="bullet">
            <item>
            <strong>ObjectEquals</strong> : The <see cref="M:System.Object.Equals(System.Object)"/> method was overriden and 
            behaves correctly against the provided equivalence classes.
            </item>
            <item>
            <strong>ObjectGetHashCode</strong> : The <see cref="M:System.Object.GetHashCode"/> method was overriden and behaves 
            correctly against the provided equivalence classes.
            </item>
            <item>
            <strong>EquatableEquals</strong> : The <see cref="M:System.IEquatable`1.Equals(`0)"/> method is implemented
            and behaves as expected agains the provided equivalence classes.
            </item>
            <item>
            <strong>OperatorEquals</strong> : The type has a static equality operator (==) overload which behaves
            correctly against the provided equivalence classes. Disable that test by setting 
            the <see cref="P:MbUnit.Framework.ContractVerifiers.EqualityContract`1.ImplementsOperatorOverloads"/> 
            property to <c>false</c>.
            </item>
            <item>
            <strong>OperatorNotEquals</strong> : The type has a static inequality operator (!=) overload which 
            behaves correctly against the provided equivalence classes. Disable that test by 
            setting the <see cref="P:MbUnit.Framework.ContractVerifiers.EqualityContract`1.ImplementsOperatorOverloads"/> 
            property to <c>false</c>.
            </item>
            </list>
            </para>
            </remarks>
            <example>
            The following example shows a simple class implementing the 
            <see cref="T:System.IEquatable`1"/> interface, and a test fixture which uses the
            equality contract to test it.
            <code><![CDATA[
            public class SampleEquatable : IEquatable<SampleEquatable>
            {
                private int value;
            
                public SampleEquatable(int value)
                {
                    this.value = value;
                }
            
                public override int GetHashCode()
                {
                    return value.GetHashCode();
                }
            
                public override bool Equals(object obj)
                {
                    return Equals(obj as SampleEquatable);
                }
            
                public bool Equals(SampleEquatable other)
                {
                    return !Object.ReferenceEquals(other, null) 
                        && (value == other.value);
                }
            
                public static bool operator ==(SampleEquatable left, SampleEquatable right)
                {
                    return (Object.ReferenceEquals(left, null)
                        && Object.ReferenceEquals(right, null))
                        || (!Object.ReferenceEquals(left, null) 
                        && left.Equals(right));
                }
                
                public static bool operator !=(SampleEquatable left, SampleEquatable right)
                {
                    return !(left == right);
                }
            }
            
            public class SampleEquatableTest
            {
                [VerifyContract]
                public readonly IContract EqualityTests = new EqualityContract<SampleEquatable>
                {
                    ImplementsOperatorOverloads = true, // Optional (default is true)
                    EquivalenceClasses =
                    {
                        { new SampleEquatable(1) },
                        { new SampleEquatable(2) },
                        { new SampleEquatable(3) },
                        { new SampleEquatable(4) },
                        { new SampleEquatable(5) }
                    }
                };
            }
            ]]></code>
            </example>
            <typeparam name="TTarget">The target tested type which implements the generic <see cref="T:System.IEquatable`1"/> interface.</typeparam>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.EqualityContract`1.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.EqualityContract`1.GetContractVerificationTests">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.EqualityContract`1.ImplementsOperatorOverloads">
            <summary>
            Determines whether the verifier will evaluate the presence and the 
            behavior of the equality and the inequality operator overloads.
            </summary>
            <remarks>
            <para>
            The default value is <c>true</c>.
            </para>
            <para>
            Built-in verifications:
            <list type="bullet">
            <item>The type has a static equality operator (==) overload which 
            behaves correctly against the provided equivalence classes.</item>
            <item>The type has a static inequality operator (!=) overload which 
            behaves correctly against the provided equivalence classes.</item>
            <item></item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.EqualityContract`1.EquivalenceClasses">
            <summary>
            Gets or sets the collection of equivalence classes of instances
            to feed the contract verifier.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.ExceptionContract`1">
            <summary>
            Contract for verifying the implementation of a custom exception type.
            </summary>
            <remarks>
            <para>
            Built-in verifications:
            <list type="bullet">
            <item>
            <strong>HasSerializableAttribute</strong> : The exception type has the <see cref="T:System.SerializableAttribute"/> 
            attribute. Disable that test by settings the <see cref="P:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.ImplementsSerialization"/>
            property to <c>false</c>.
            </item>
            <item>
            <strong>HasSerializationConstructor</strong> : The exception type has a protected serialization 
            constructor similar to <see cref="M:System.Exception.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"/>. Disable that test 
            by settings the <see cref="P:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.ImplementsSerialization"/>
            property to <c>false</c>.
            </item>
            <item>
            <strong>IsDefaultConstructorWellDefined</strong> : The exception type has a default parameter-less 
            constructor. When the <see cref="P:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.ImplementsSerialization"/> property
            is set to <c>true</c> as well, the method verifies that the properties of 
            the exception are preserved during a roundtrip serialization. Disable the test 
            by settings the <see cref="P:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.ImplementsStandardConstructors"/>
            property to <c>false</c>. 
            </item>
            <item>
            <strong>IsMessageConstructorWellDefined</strong> : The exception type has single argument constructor 
            for the message. When the <see cref="P:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.ImplementsSerialization"/> property
            is set to <c>true</c> as well, the method verifies that the properties of 
            the exception are preserved during a roundtrip serialization. Disable the test 
            by settings the <see cref="P:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.ImplementsStandardConstructors"/>
            property to <c>false</c>. 
            </item>
            <item>
            <strong>IsMessageAndInnerExceptionConstructorWellDefined</strong> : The exception type has two 
            parameters constructor for the message and an inner exception. 
            When the <see cref="P:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.ImplementsSerialization"/> property
            is set to <c>true</c> as well, the method verifies that the properties of 
            the exception are preserved during a roundtrip serialization. Disable the test 
            by settings the <see cref="P:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.ImplementsStandardConstructors"/>
            property to <c>false</c>. 
            </item>
            </list>
            </para>
            </remarks>
            <example>
            The following example shows a simple custom exception class with some 
            basic serialization support, and a test fixture which uses the
            exception contract to test it.
            <code><![CDATA[
            [Serializable]
            public class SampleException : Exception, ISerializable
            {
                public SampleException()
                {
                }
            
                public SampleException(string message)
                    : base(message)
                {
                }
            
                public SampleException(string message, Exception innerException)
                    : base(message, innerException)
                {
                }
            
                protected SampleException(SerializationInfo info, StreamingContext context)
                    : base(info, context)
                {
                }
            
                public override void GetObjectData(SerializationInfo info, StreamingContext context)
                {
                    base.GetObjectData(info, context);
                }
            }
            
            public class SampleExceptionTest
            {
                [VerifyContract]
                public readonly IContract ExceptionTests = new ExceptionContract<SampleException>()
                {
                    ImplementsSerialization = true, // Optional (default is true)
                    ImplementsStandardConstructors = true // Optional (default is true)
                };
            }
            ]]></code>
            </example>
            <typeparam name="TException">The target custom exception type.</typeparam>
            <seealso cref="T:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.GetContractVerificationTests">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.AssertMessageAndInnerExceptionPreservedByRoundTripSerialization(System.Exception)">
            <summary>
            Verifies that the <see cref="P:System.Exception.Message"/> and 
            <see cref="P:System.Exception.InnerException"/> properties are preserved by round-trip serialization.
            </summary>
            <param name="instance">The exception instance.</param>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.RoundTripSerialize(System.Exception)">
            <summary>
            Performs round-trip serialization of the exception and returns the result.
            </summary>
            <param name="instance">The exception instance.</param>
            <returns>The instance produced after serialization and deserialization.</returns>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.ImplementsSerialization">
            <summary>
            Determines whether the verifier will check for the serialization support. 
            </summary>
            <remarks>
            <para>
            The default value is <c>true</c>.
            </para>
            <para>
            Built-in verifications:
            <list type="bullet">
            <item>The exception implements the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface.</item>
            <item>The exception has the <see cref="T:System.SerializableAttribute"/> attribute.</item>
            <item>The exception type has a protected serialization constructor similar to
            <see cref="M:System.Exception.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"/>.</item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.ContractVerifiers.ExceptionContract`1.ImplementsStandardConstructors">
            <summary>
            Determines whether the verifier will check for the presence of
            the recommended standard constructors.
            </summary>
            <remarks>
            <para>
            The default value is <c>true</c>.
            </para>
            <para>
            Built-in verifications:
            <list type="bullet">
            <item>The exception has a default parameter-less constructor.</item>
            <item>The exception has a single parameter constructor for the message.</item>
            <item>The exception two parameters constructor for the message and an inner exception.</item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="T:MbUnit.Framework.ContractVerifiers.ImmutabilityContract`1">
             <summary>
             Contract for verifying the implementation of an immutable type.
             </summary>
             <remarks>
             <para>
             Built-in verifications:
             <list type="bullet">
             <item>
             <strong>AreReadOnlyFields</strong> : All the public and non-public instance fields are marked
             as read only. The evaluation is made recursively on the field types too.
             </item>
             <item>
             <strong>HasNoPublicPropertySetter</strong> : The type does not have any public property setter. 
             The evaluation is made recursively on the property types too.
             </item>
             </list>
             </para>
             </remarks>
             <example>
             The following example shows a simple immutable class with all the
             instance fields marked as read only, and a test fixture which invokes the
             immutability contract to test the class.
             <code><![CDATA[
             public class SampleImmutable
             {
                 private readonly int number;
                 private readonly string text;
             
                 public SampleImmutable(int number, string text)
                 {
                     this.number = number;
                     this.text = text;
                 }
             }
            
             public class SampleImmutableTest
             {
                 [VerifyContract]
                 public readonly IContract ImmutabilityTests = new ImmutabilityContract<SampleImmutable>();
             }
             ]]></code>
             </example>
             <typeparam name="TTarget">The target immutable type.</typeparam>
             <seealso cref="T:MbUnit.Framework.ContractVerifiers.VerifyContractAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.ImmutabilityContract`1.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ContractVerifiers.ImmutabilityContract`1.GetContractVerificationTests">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.ParallelizableAttribute">
            <summary>
            Specifies that a test can be run in parallel with other parallelizable tests.
            </summary>
            <remarks>
            <para>
            If this attribute is not specified, then the test will be run with Process-level
            isolation.  That is, it will not run concurrently with any other test within the
            given process (notwithstanding any use of <see cref="T:MbUnit.Framework.ThreadedRepeatAttribute"/>
            or similar decorators).
            </para>
            <para>
            Parallelizable tests are run in batches subject to the hierarchical structure of
            the tests, any explicit ordering specifications, and test dependencies.
            </para>
            <para>
            If two tests must be run exclusively of one another but are otherwise parallelizable,
            then a simple expedient is to assign a different test order to each one.  Later editions
            of the framework may introduce additional controls over test isolation, mutual exclusion,
            access to shared resources, and degree of paralleism.
            </para>
            <para>
            To make all tests within a fixture parallelizable, apply this attribute to
            the fixture class with a scope of <see cref="F:MbUnit.Framework.TestScope.Descendants"/> to
            only make the tests parallelizable or <see cref="F:MbUnit.Framework.TestScope.All"/> to also make
            the fixture itself parallelizable.   Likewise to make all tests in a test assembly
            parallelizable, apply this attribute to the test assembly with the scope set similarly.
            </para>
            </remarks>
            <example>
            <para>
            This C# example shows a fixture with a few tests, two of which are parallelizable.
            <code><![CDATA[
            public class Fixture
            {
                // may run in parallel with test 2
                [Parallelizable]
                public void Test1() { ... }
                
                // may run in parallel with test 1
                [Parallelizable]
                public void Test2() { ... }
                
                // will not run in parallel because it is not parallelizable
                public void Test3() { ... }
            }
            ]]></code>
            </para>
            <para>
            This C# example shows a fixture all of whose tests are parallelizable.
            <code><![CDATA[
            [Parallelizable(TestScope.Descendants)]
            public class Fixture
            {
                public void Test1() { ... }
                
                public void Test2() { ... }
                
                public void Test3() { ... }
            }
            ]]></code>
            </para>
            <para>
            This C# example shows a test assembly all of whose tests are parallelizable.
            <code><![CDATA[
            [assembly: Parallelizable(TestScope.All)]
            ]]></code>
            </para>
            </example>
        </member>
        <member name="M:MbUnit.Framework.ParallelizableAttribute.#ctor">
            <summary>
            Specifies that this test is parallelizable.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.ParallelizableAttribute.#ctor(MbUnit.Framework.TestScope)">
            <summary>
            Specifies that the tests in the specified scope are parallelizable.
            </summary>
            <param name="scope">The test scope.</param>
        </member>
        <member name="M:MbUnit.Framework.ParallelizableAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.ParallelizableAttribute.Scope">
            <summary>
            Gets the scope to which the parallelizable attribute applies.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.StaticTestFactoryAttribute">
            <summary>
            Specifies a method that is used to generate tests statically at
            test exploration time.
            </summary>
            <remarks>
            <para>
            The tests created by the static test factory are considered to be children
            of the fixture that contains the factory method that generated them.
            Because the tests are created statically, they will appear in the test
            runner and they can be filtered as usual.  However, this means that the
            tests will be generated only when the fixture is being explored rather
            than each time the fixture is executed.  It also means that the factory
            method must be static and cannot be parameterized.
            </para>
            <para>
            Contrast with <see cref="T:MbUnit.Framework.DynamicTestFactoryAttribute"/>.
            </para>
            <para>
            The method to which this attribute is applied must be declared by the
            fixture class.  It must be static and must not have any parameters.
            It must return an enumeration of values of type <see cref="T:MbUnit.Framework.Test"/>.
            </para>
            <para>
            Tests built by a <see cref="T:MbUnit.Framework.StaticTestFactoryAttribute"/> will not be visible in ReSharper
            and other test runners that rely only on source code and metadata exclusively.
            This is because the test factory must be executed in order to populate the list of tests
            but the code might not be available in a compiled form during test exploration.  The
            tests should still run as part of the containing fixture although the results may
            only be visible in the full test report.
            </para>
            </remarks>
            <example>
            <para>
            A simple static test factory that reads some data from a file and generates
            a number of static tests.  The file is read at test exploration time,
            so if the file changes, the test package must be reloaded to obtain the new
            contents.
            <code><![CDATA[
            [StaticTestFactory]
            public static IEnumerable<Test> CreateStaticTests()
            {
                foreach (string searchTerm in File.ReadAllLines("SearchTerms.txt"))
                {
            		var copySearchTerm = searchTerm; // Local copy for the closure.
                    yield return new TestCase("Search Term: " + copySearchTerm, () => {
                        var searchEngine = new SearchEngine();
                        Assert.IsNotEmpty(searchEngine.GetSearchResults(copySearchTerm));
                    });
                }
            }
            ]]></code>
            </para>
            </example>
            <seealso cref="T:MbUnit.Framework.DynamicTestFactoryAttribute"/>
            <seealso cref="T:MbUnit.Framework.TestCase"/>
        </member>
        <member name="M:MbUnit.Framework.StaticTestFactoryAttribute.Validate(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.StaticTestFactoryAttribute.DecorateContainingScope(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.IMethodInfo)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.Test">
            <summary>
            Describes a test generated either at test exploration time or at test
            execution time by a test factory.
            </summary>
            <remarks>
            <para>
            Tests can be nested to form test suites and other aggregates.
            </para>
            </remarks>
            <example>
            <para>
            Produces a suite of static tests as part of a containing test fixture.
            The suite includes some custom set-up and tear-down behavior, metadata,
            a timeout, an order relative to the other tests in the fixture, and a list
            of children.  There are two test cases defined in line, and one reference
            to another statically defined test elsewhere.
            <code><![CDATA[
            [StaticTestFactory]
            public static IEnumerable<Test> TestSuite()
            {
                yield return new TestSuite("My Suite")
                {
                    Description = "An example test suite.",
                    Metadata =
                    {
                        { MetadataKeys.AuthorName, "Me" },
                        { MetadataKeys.AuthorEmail, "me@mycompany.com" }
                    },
                    SuiteSetUp = () => DatabaseUtils.SetUpDatabase(),
                    SuiteTearDown = () => DatabaseUtils.TearDownDatabase(),
                    Timeout = TimeSpan.FromMinutes(2),
                    Children =
                    {
                        new TestCase("Test 1", () => {
                            // first test in suite
                        }),
                        new TestCase("Test 2", () => {
                           // second test in suite
                        }),
                        new TestFixtureReference(typeof(OtherFixtureToIncludeInSuite))
                    }
                };
            }
            ]]></code>
            </para>
            </example>
            <seealso cref="T:MbUnit.Framework.StaticTestFactoryAttribute"/>
            <seealso cref="T:MbUnit.Framework.DynamicTestFactoryAttribute"/>
            <seealso cref="T:MbUnit.Framework.TestCase"/>
            <seealso cref="T:MbUnit.Framework.TestSuite"/>
            <seealso cref="T:MbUnit.Framework.TestFixtureReference"/>
        </member>
        <member name="M:MbUnit.Framework.Test.BuildStaticTests(System.Collections.Generic.IEnumerable{MbUnit.Framework.Test},Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <summary>
            Builds a collection of static tests during test exploration.
            </summary>
            <param name="tests">The enumeration of tests to build as children of the containing scope.</param>
            <param name="containingScope">The containing pattern evaluation scope.</param>
            <param name="declaringCodeElement">The code element that represents the scope in which the test was defined.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="containingScope"/>, <paramref name="declaringCodeElement"/>
            or <paramref name="tests"/> is null or contains a null.</exception>
            <seealso cref="T:MbUnit.Framework.StaticTestFactoryAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.Test.RunDynamicTests(System.Collections.Generic.IEnumerable{MbUnit.Framework.Test},Gallio.Common.Reflection.ICodeElementInfo,Gallio.Common.Action,Gallio.Common.Action)">
            <summary>
            Runs a collection of dynamic tests during test execution.
            </summary>
            <param name="tests">The enumeration of tests to run.</param>
            <param name="declaringCodeElement">The code element that represents the scope in which the test was defined.</param>
            <param name="setUp">Optional set-up code to run before the test, or null if none.</param>
            <param name="tearDown">Optional tear-down code to run after the test, or null if none.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="declaringCodeElement"/> or
            <paramref name="tests"/> is null or contains a null.</exception>
            <seealso cref="T:MbUnit.Framework.DynamicTestFactoryAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.Test.BuildStaticTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <summary>
            Builds a static test during test exploration.
            </summary>
            <remarks>
            <para>
            Subclasses may override this behavior to change how the static test
            gets added to the test model.
            </para>
            </remarks>
            <param name="containingScope">The containing pattern evaluation scope.</param>
            <param name="declaringCodeElement">The code element that represents the scope in which the test was defined.</param>
            <seealso cref="T:MbUnit.Framework.StaticTestFactoryAttribute"/>
        </member>
        <member name="M:MbUnit.Framework.Test.RunDynamicTest(Gallio.Common.Reflection.ICodeElementInfo,Gallio.Common.Action,Gallio.Common.Action)">
            <summary>
            Runs a dynamic test during test execution.
            </summary>
            <remarks>
            <para>
            Subclasses may override this behavior to change how the dynamic test
            is executed as a test step.
            </para>
            </remarks>
            <param name="declaringCodeElement">The code element that represents the scope in which the test was defined.</param>
            <param name="setUp">Optional set-up code to run before the test, or null if none.</param>
            <param name="tearDown">Optional tear-down code to run after the test, or null if none.</param>
            <seealso cref="T:MbUnit.Framework.DynamicTestFactoryAttribute"/>
        </member>
        <member name="T:MbUnit.Framework.TestCase">
            <summary>
            Describes a test case generated either at test exploration time or at test
            execution time by a test factory.
            </summary>
            <remarks>
            <para>
            A test case has a timeout of 10 minutes by default.  This may be changed
            setting the <see cref="P:MbUnit.Framework.TestDefinition.Timeout"/> property.
            </para>
            <para>
            Refer to the examples on the <see cref="T:MbUnit.Framework.Test"/> class for more information.
            </para>
            </remarks>
            <seealso cref="T:MbUnit.Framework.Test"/>
        </member>
        <member name="T:MbUnit.Framework.TestDefinition">
            <summary>
            Abstract class for custom test definitions such as generated test cases
            and test suites.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.TestDefinition.#ctor(System.String)">
            <summary>
            Creates a test.
            </summary>
            <param name="name">The test name.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.TestDefinition.BuildStaticTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.TestDefinition.RunDynamicTest(Gallio.Common.Reflection.ICodeElementInfo,Gallio.Common.Action,Gallio.Common.Action)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.TestDefinition.GetChildren">
            <summary>
            Gets the children of this test.
            </summary>
            <remarks>
            <para>
            The default implementation returns an empty array.  Subclasses may
            override this behavior as appropriate.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TestDefinition.OnSetupSelf">
            <summary>
            Runs set-up code before execute and before all children.
            </summary>
            <remarks>
            <para>
            The default implementation does nothing.  Subclasses may override this
            behavior.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TestDefinition.OnTearDownSelf">
            <summary>
            Runs tear-down code after execute and after all children.
            </summary>
            <remarks>
            <para>
            The default implementation does nothing.  Subclasses may override this
            behavior.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TestDefinition.OnExecuteSelf">
            <summary>
            Executes the main body of the test, excluding its children (which will
            run afterwards).
            </summary>
            <remarks>
            <para>
            The default implementation does nothing.  Subclasses may override this
            behavior.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TestDefinition.OnSetupChild">
            <summary>
            Runs set-up code before each child.
            </summary>
            <remarks>
            <para>
            The default implementation does nothing.  Subclasses may override this
            behavior.
            </para>
            </remarks>
        </member>
        <member name="M:MbUnit.Framework.TestDefinition.OnTearDownChild">
            <summary>
            Runs tear-down code after each child.
            </summary>
            <remarks>
            <para>
            The default implementation does nothing.  Subclasses may override this
            behavior.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.TestDefinition.Name">
            <summary>
            Gets the test name.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.TestDefinition.Description">
            <summary>
            Gets or sets the description metadata of the test, or null if none.
            </summary>
            <remarks>
            <para>
            This is a convenience method that accesses the <see cref="F:Gallio.Model.MetadataKeys.Description"/>
            element of the test case's <see cref="P:MbUnit.Framework.TestDefinition.Metadata"/>.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.TestDefinition.Metadata">
            <summary>
            Gets a mutable table of metadata entries associated with the test.
            </summary>
            <remarks>
            <para>
            Add any extra metadata to this map.
            </para>
            </remarks>
            <seealso cref="T:Gallio.Model.MetadataKeys"/>
        </member>
        <member name="P:MbUnit.Framework.TestDefinition.Timeout">
            <summary>
            Gets or sets the maximum amount of time the whole test including
            its setup, teardown and body should be permitted to run.
            </summary>
            <remarks>
            <para>
            If the test runs any longer than this, it will be aborted by the framework.
            The timeout may be null to indicate the absence of a timeout.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="value"/>
            represents a negative time span.</exception>
            <value>The timeout.  Default value is null.</value>
        </member>
        <member name="P:MbUnit.Framework.TestDefinition.CodeElement">
            <summary>
            Gets or sets the code element associated with the test, or null if none.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.TestDefinition.Kind">
            <summary>
            Gets the test kind.
            </summary>
            <remarks>
            <para>
            A test suite will return <see cref="F:Gallio.Model.TestKinds.Suite"/>.
            A test case will return <see cref="F:Gallio.Model.TestKinds.Test"/>.
            Custom tests may return other kinds.
            </para>
            <para>
            Subclasses must override this behavior.
            </para>
            </remarks>
            <seealso cref="T:Gallio.Model.TestKinds"/>
        </member>
        <member name="P:MbUnit.Framework.TestDefinition.IsTestCase">
            <summary>
            Returns true if the test represents an individual test case.
            </summary>
            <remarks>
            <para>
            A test suite will return <c>true</c>.
            A test case will return <c>false</c>.
            Custom tests may return an appropriate result.
            </para>
            <para>
            Subclasses must override this behavior.
            </para>
            </remarks>
            <seealso cref="T:Gallio.Model.TestKinds"/>
        </member>
        <member name="M:MbUnit.Framework.TestCase.#ctor(System.String,Gallio.Common.Action)">
            <summary>
            Creates a test case with a delegate to execute as its main body.
            </summary>
            <param name="name">The test case name.</param>
            <param name="execute">The main body of the test case.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name"/> or <paramref name="execute"/>
            is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.TestCase.OnExecuteSelf">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.TestCase.SetUp">
            <summary>
            Gets or sets a set-up action to be executed before the test case.
            </summary>
            <remarks>
            <para>
            If set to <c>null</c> (default), no action is performed.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.TestCase.TearDown">
            <summary>
            Gets or sets a tear-down action to be executed after the test case.
            </summary>
            <remarks>
            <para>
            If set to <c>null</c> (default), no action is performed.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.TestCase.Execute">
            <summary>
            Gets the delegate to run as the main body of the test case.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.TestCase.IsTestCase">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.TestCase.Kind">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.DynamicTestFactoryAttribute">
            <summary>
            Specifies a method that is used to generate tests dynamically at runtime.
            </summary>
            <remarks>
            <para>
            The tests created by the dynamic test factory are considered to be children
            of the factory method that generated them.  Because the tests are created
            dynamically, they will not appear in the test tree (so most test runners will
            not find them) and they are not directly affected by test filters.  However,
            the dynamic test factory is represented as a test so it will be visible in
            the test tree.
            </para>
            <para>
            Contrast with <see cref="T:MbUnit.Framework.StaticTestFactoryAttribute"/>.
            </para>
            <para>
            The method to which this attribute is applied must be declared by the
            fixture class.  It may have parameters and be data-driven just like an ordinary
            test method!  The method may be static.  It must return an enumeration of
            values of type <see cref="T:MbUnit.Framework.Test"/>.
            </para>
            </remarks>
            <example>
            <para>
            A simple dynamic test factory that reads some data from a file and generates
            a number of dynamic tests.
            <code><![CDATA[
            [DynamicTestFactory]
            public IEnumerable<Test> CreateDynamicTests()
            {
                foreach (string searchTerm in File.ReadAllLines("SearchTerms.txt"))
                {
                    yield return new TestCase("Search Term: " + searchTerm, () => {
                        var searchEngine = new SearchEngine();
                        Assert.IsNotEmpty(searchEngine.GetSearchResults(searchTerm));
                    });
                }
            }
            ]]></code>
            </para>
            <para>
            A data-driven test factory that reads some data from a file and generates
            a number of dynamic tests repeatedly in multiple configurations.
            <code><![CDATA[
            [DynamicTestFactory]
            [Row("Google")]
            [Row("Yahoo")]
            public IEnumerable<Test> CreateDynamicTests(string searchProvider)
            {
                foreach (string searchTerm in File.ReadAllLines("SearchTerms.txt"))
                {
                    yield return new TestCase("Search Term: " + searchTerm, () => {
                        var searchEngine = new SearchEngine(searchProvider);
                        Assert.IsNotEmpty(searchEngine.GetSearchResults(searchTerm));
                    });
                }
            }
            ]]></code>
            </para>
            </example>
            <seealso cref="T:MbUnit.Framework.StaticTestFactoryAttribute"/>
            <seealso cref="T:MbUnit.Framework.TestCase"/>
        </member>
        <member name="M:MbUnit.Framework.DynamicTestFactoryAttribute.Execute(Gallio.Framework.Pattern.PatternTestInstanceState)">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.RollbackAttribute">
            <summary>
            Decorates a test method whose database operation must be executed within a transaction and rolled
            back when it has finished executing.
            </summary>
            <remarks>
            <para>
            By default, the attribute does not rollback changes performed during SetUp and TearDown.
            Set the <see cref="P:MbUnit.Framework.RollbackAttribute.IncludeSetUpAndTearDown"/> to <c>true</c> to change this.
            </para>
            <para>
            The attribute uses a <see cref="T:System.Transactions.TransactionScope"/> to set an ambient transaction that will
            be rolled back.  Assuming the subject under test enlists itself with this transaction then
            its transactions operations will be rolled back.
            </para>
            <para>
            Unfortunately there are a few caveats from this approach, the subject under test might use
            its own transaction manager and ignore the ambient transaction set up here.  Likewise,
            it is possible that the presence of an enclosing transaction scope can interfere with the
            normal operation of the subject under test.
            </para>
            <para>
            If this attribute does not work for a particular application, we recommend that you
            create your own custom rollback decorator attribute with the appropriate application-specific
            semantics.  Just create a new subclass of <see cref="T:MbUnit.Framework.TestDecoratorAttribute"/> and override the
            <see cref="M:MbUnit.Framework.TestDecoratorAttribute.Execute(Gallio.Framework.Pattern.PatternTestInstanceState)"/> method to wrap test execution as required.
            </para>
            <para>
            Here are a few troubleshooting tips in case Rollback is not working properly for
            your application:
            <list type="bullet">
            <item>Ensure that the subject under test enlists its work in the current "ambient"
            transaction managed by the <see cref="T:System.Transactions.TransactionManager"/>.  Not all databases
            support these transactions.</item>
            <item>Ensure that the Distributed Transaction Coordinator service is enabled and
            running if you are using COM+ transactions.</item>
            <item>Ensure that the database is configured to enable distributed transactions.
            This feature is sometimes disabled for performance reasons to prevent long-running
            distributed transactions from locking database resources.</item>
            </list>
            </para>
            </remarks>
            <example>
            <para>
            The following example shows the <see cref="T:MbUnit.Framework.RollbackAttribute"/> in use:
            <code><![CDATA[
            [TestFixture]
            public class RollbackTest {
            
                [Test, Rollback]
                public void TestWithRollback()
                {
                    // Any transaction performed within this test will be rolled back
                    // automatically when the test completes.
                }
                
                [Test, Rollback(IncludeSetupAndTearDown=true)]
                public void TestWithRollback()
                {
                    // Any transaction performed within this test or within its setup and 
                    // teardown will be rolled back automatically when the test completes.
                }
            } 
            ]]></code>
            </para>
            </example>
        </member>
        <member name="M:MbUnit.Framework.RollbackAttribute.#ctor">
            <summary>
            Tags a test method whose database operation must be executed within a transaction and rolled
            back when it has finished executing.
            </summary>
        </member>
        <member name="M:MbUnit.Framework.RollbackAttribute.DecorateTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.RollbackAttribute.IncludeSetUpAndTearDown">
            <summary>
            When set to true, includes setup and teardown in the rollback.  Otherwise
            only transactions performed during the test itself are affected.
            </summary>
            <remarks>
            <para>
            The fixture setup and teardown is not included regardless unless this
            attribute is applied to the fixture class itself instead of the test method.
            </para>
            </remarks>
        </member>
        <member name="T:MbUnit.Framework.TestFixtureReference">
            <summary>
            Describes a reference to another test fixture.
            </summary>
            <remarks>
            <para>
            This is used to enable test suites to include tests that are defined using attributes.
            </para>
            <para>
            Refer to the examples on the <see cref="T:MbUnit.Framework.Test"/> class for more information.
            </para>
            <para>
            Running referenced test fixtures dynamically is not supported at this time.  Run it
            statically instead using <see cref="T:MbUnit.Framework.StaticTestFactoryAttribute"/>.
            </para>
            </remarks>
            <seealso cref="T:MbUnit.Framework.Test"/>
        </member>
        <member name="M:MbUnit.Framework.TestFixtureReference.#ctor(System.Type)">
            <summary>
            Creates a reference to a test fixture.
            </summary>
            <param name="testFixtureType">The test fixture type.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="testFixtureType"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.TestFixtureReference.BuildStaticTest(Gallio.Framework.Pattern.IPatternScope,Gallio.Common.Reflection.ICodeElementInfo)">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.TestFixtureReference.RunDynamicTest(Gallio.Common.Reflection.ICodeElementInfo,Gallio.Common.Action,Gallio.Common.Action)">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.TestFixtureReference.TestFixtureType">
            <summary>
            Gets the referenced test fixture type, or null if the reference is on a
            test method of the containing test fixture.
            </summary>
        </member>
        <member name="T:MbUnit.Framework.TestSuite">
            <summary>
            Describes a test suite generated either at test exploration time or at test
            execution time by a test factory.
            </summary>
            <remarks>
            <para>
            A test suite has no timeout by default.  This may be changed
            setting the <see cref="P:MbUnit.Framework.TestDefinition.Timeout"/> property.
            </para>
            <para>
            Refer to the examples on the <see cref="T:MbUnit.Framework.Test"/> class for more information.
            </para>
            </remarks>
            <seealso cref="T:MbUnit.Framework.Test"/>
        </member>
        <member name="M:MbUnit.Framework.TestSuite.#ctor(System.String)">
            <summary>
            Creates a test suite.
            </summary>
            <param name="name">The test suite name.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="name"/> is null.</exception>
        </member>
        <member name="M:MbUnit.Framework.TestSuite.GetChildren">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.TestSuite.OnSetupSelf">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.TestSuite.OnTearDownSelf">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.TestSuite.OnSetupChild">
            <inheritdoc />
        </member>
        <member name="M:MbUnit.Framework.TestSuite.OnTearDownChild">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.TestSuite.Children">
            <summary>
            Gets a mutable list of the children of this test.
            </summary>
            <remarks>
            <para>
            Add test cases to this collection to include them in the test suite.
            </para>
            </remarks>
        </member>
        <member name="P:MbUnit.Framework.TestSuite.SetUp">
            <summary>
            Gets or sets a delegate to run before each test case in the suite, or null if none.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.TestSuite.TearDown">
            <summary>
            Gets or sets a delegate to run after each test case in the suite, or null if none.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.TestSuite.SuiteSetUp">
            <summary>
            Gets or sets a delegate to run before all test cases in the suite, or null if none.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.TestSuite.SuiteTearDown">
            <summary>
            Gets or sets a delegate to run after all test cases in the suite, or null if none.
            </summary>
        </member>
        <member name="P:MbUnit.Framework.TestSuite.IsTestCase">
            <inheritdoc />
        </member>
        <member name="P:MbUnit.Framework.TestSuite.Kind">
            <inheritdoc />
        </member>
        <member name="T:MbUnit.Framework.XmlPath">
            <summary>
            Represents the path to an element or an attribute in a XML fragment.
            </summary>
            <example>
            Consider the following XML fragment:
            <![CDATA[
            <Root>
              <Parent>
                <Child value="123"/>
              </Parent>
            <Root>
            ]]>
            The path to the attribute <c>value</c> of the element <c>Child</c> is specified as follows:
            <![CDATA[
            var path = XmlPath.Element("Root").Element("Parent").Element("Child").Attribute("value");
            ]]></example>
        </member>
        <member name="M:MbUnit.Framework.XmlPath.Element(System.String)">
            <summary>
            Starts the construction of a path.
            </summary>
            <param name="elementName">The name of the first element.</param>
            <returns>A path that can be further extended.</returns>
        </member>
    </members>
</doc>
