Commit b2a7ccc

mo khan <mo@mokhan.ca>
2010-02-06 05:10:13
switched from mbunit to nunit.
1 parent 4e88068
Changed files (166)
build
product
client
tests
unit
client
boot
database
domain
presentation
service
service.infrastructure
commons
build/tools/nunit/framework/nunit.framework.dll
Binary file
build/tools/nunit/framework/nunit.framework.xml
@@ -0,0 +1,10088 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>nunit.framework</name>
+    </assembly>
+    <members>
+        <member name="T:NUnit.Framework.Constraints.TypeConstraint">
+            <summary>
+            TypeConstraint is the abstract base for constraints
+            that take a Type as their expected value.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.Constraint">
+            <summary>
+            The Constraint class is the base of all built-in constraints
+            within NUnit. It provides the operator overloads used to combine 
+            constraints.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.IResolveConstraint">
+            <summary>
+            The IConstraintExpression interface is implemented by all
+            complete and resolvable constraints and expressions.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.IResolveConstraint.Resolve">
+            <summary>
+            Return the top-level constraint for this expression
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.UNSET">
+            <summary>
+            Static UnsetObject used to detect derived constraints
+            failing to set the actual value.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.actual">
+            <summary>
+            The actual value being tested against a constraint
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.displayName">
+            <summary>
+            The display name of this Constraint for use by ToString()
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.argcnt">
+            <summary>
+            Argument fields used by ToString();
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.Constraint.builder">
+            <summary>
+            The builder holding this constraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.#ctor">
+            <summary>
+            Construct a constraint with no arguments
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.#ctor(System.Object)">
+            <summary>
+            Construct a constraint with one argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.#ctor(System.Object,System.Object)">
+            <summary>
+            Construct a constraint with two arguments
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.SetBuilder(NUnit.Framework.Constraints.ConstraintBuilder)">
+            <summary>
+            Sets the ConstraintBuilder holding this constraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the failure message to the MessageWriter provided
+            as an argument. The default implementation simply passes
+            the constraint and the actual value to the writer, which
+            then displays the constraint description and the value.
+            
+            Constraints that need to provide additional details,
+            such as where the error occured can override this.
+            </summary>
+            <param name="writer">The MessageWriter on which to display the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.Matches(NUnit.Framework.Constraints.ActualValueDelegate)">
+            <summary>
+            Test whether the constraint is satisfied by an
+            ActualValueDelegate that returns the value to be tested.
+            The default implementation simply evaluates the delegate
+            but derived classes may override it to provide for delayed 
+            processing.
+            </summary>
+            <param name="del">An ActualValueDelegate</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.Matches``1(``0@)">
+            <summary>
+            Test whether the constraint is satisfied by a given reference.
+            The default implementation simply dereferences the value but
+            derived classes may override it to provide for delayed processing.
+            </summary>
+            <param name="actual">A reference to the value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. The default implementation simply writes
+            the raw value of actual, leaving it to the writer to
+            perform any formatting.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.ToString">
+            <summary>
+            Default override of ToString returns the constraint DisplayName
+            followed by any arguments within angle brackets.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseAnd(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            This operator creates a constraint that is satisfied only if both 
+            argument constraints are satisfied.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseOr(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            This operator creates a constraint that is satisfied if either 
+            of the argument constraints is satisfied.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.op_LogicalNot(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            This operator creates a constraint that is satisfied if the 
+            argument constraint is not satisfied.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32)">
+            <summary>
+            Returns a DelayedConstraint with the specified delay time.
+            </summary>
+            <param name="delayInMilliseconds">The delay in milliseconds.</param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32,System.Int32)">
+            <summary>
+            Returns a DelayedConstraint with the specified delay time
+            and polling interval.
+            </summary>
+            <param name="delayInMilliseconds">The delay in milliseconds.</param>
+            <param name="pollingInterval">The interval at which to test the constraint.</param>
+            <returns></returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Constraint.DisplayName">
+            <summary>
+            The display name of this Constraint for use by ToString().
+            The default value is the name of the constraint with
+            trailing "Constraint" removed. Derived classes may set
+            this to another name in their constructors.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Constraint.And">
+            <summary>
+            Returns a ConstraintExpression by appending And
+            to the current constraint.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Constraint.With">
+            <summary>
+            Returns a ConstraintExpression by appending And
+            to the current constraint.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Constraint.Or">
+            <summary>
+            Returns a ConstraintExpression by appending Or
+            to the current constraint.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.Constraint.UnsetObject">
+            <summary>
+            Class used to detect any derived constraints
+            that fail to set the actual value in their
+            Matches override.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.TypeConstraint.expectedType">
+            <summary>
+            The expected Type used by the constraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.TypeConstraint.#ctor(System.Type)">
+            <summary>
+            Construct a TypeConstraint for a given Type
+            </summary>
+            <param name="type"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.TypeConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. TypeConstraints override this method to write
+            the name of the type.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ExactTypeConstraint">
+            <summary>
+            ExactTypeConstraint is used to test that an object
+            is of the exact type provided in the constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.#ctor(System.Type)">
+            <summary>
+            Construct an ExactTypeConstraint for a given Type
+            </summary>
+            <param name="type">The expected Type.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.Matches(System.Object)">
+            <summary>
+            Test that an object is of the exact type specified
+            </summary>
+            <param name="actual">The actual value.</param>
+            <returns>True if the tested object is of the exact type provided, otherwise false.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer">The MessageWriter to use</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.InstanceOfTypeConstraint">
+            <summary>
+            InstanceOfTypeConstraint is used to test that an object
+            is of the same type provided or derived from it.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.#ctor(System.Type)">
+            <summary>
+            Construct an InstanceOfTypeConstraint for the type provided
+            </summary>
+            <param name="type">The expected Type</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.Matches(System.Object)">
+            <summary>
+            Test whether an object is of the specified type or a derived type
+            </summary>
+            <param name="actual">The object to be tested</param>
+            <returns>True if the object is of the provided type or derives from it, otherwise false.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer">The MessageWriter to use</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AssignableFromConstraint">
+            <summary>
+            AssignableFromConstraint is used to test that an object
+            can be assigned from a given Type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.#ctor(System.Type)">
+            <summary>
+            Construct an AssignableFromConstraint for the type provided
+            </summary>
+            <param name="type"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.Matches(System.Object)">
+            <summary>
+            Test whether an object can be assigned from the specified type
+            </summary>
+            <param name="actual">The object to be tested</param>
+            <returns>True if the object can be assigned a value of the expected Type, otherwise false.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer">The MessageWriter to use</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AssignableToConstraint">
+            <summary>
+            AssignableToConstraint is used to test that an object
+            can be assigned to a given Type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.#ctor(System.Type)">
+            <summary>
+            Construct an AssignableToConstraint for the type provided
+            </summary>
+            <param name="type"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.Matches(System.Object)">
+            <summary>
+            Test whether an object can be assigned to the specified type
+            </summary>
+            <param name="actual">The object to be tested</param>
+            <returns>True if the object can be assigned a value of the expected Type, otherwise false.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer">The MessageWriter to use</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ConstraintBuilder">
+            <summary>
+            ConstraintBuilder maintains the stacks that are used in
+            processing a ConstraintExpression. An OperatorStack
+            is used to hold operators that are waiting for their
+            operands to be reognized. a ConstraintStack holds 
+            input constraints as well as the results of each
+            operator applied.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ConstraintBuilder"/> class.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.ConstraintOperator)">
+            <summary>
+            Appends the specified operator to the expression by first
+            reducing the operator stack and then pushing the new
+            operator on the stack.
+            </summary>
+            <param name="op">The operator to push.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Appends the specified constraint to the expresson by pushing
+            it on the constraint stack.
+            </summary>
+            <param name="constraint">The constraint to push.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.SetTopOperatorRightContext(System.Object)">
+            <summary>
+            Sets the top operator right context.
+            </summary>
+            <param name="rightContext">The right context.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ReduceOperatorStack(System.Int32)">
+            <summary>
+            Reduces the operator stack until the topmost item
+            precedence is greater than or equal to the target precedence.
+            </summary>
+            <param name="targetPrecedence">The target precedence.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Resolve">
+            <summary>
+            Resolves this instance, returning a Constraint. If the builder
+            is not currently in a resolvable state, an exception is thrown.
+            </summary>
+            <returns>The resolved constraint</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.IsResolvable">
+            <summary>
+            Gets a value indicating whether this instance is resolvable.
+            </summary>
+            <value>
+            	<c>true</c> if this instance is resolvable; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack">
+            <summary>
+            OperatorStack is a type-safe stack for holding ConstraintOperators
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)">
+            <summary>
+            Initializes a new instance of the <see cref="T:OperatorStack"/> class.
+            </summary>
+            <param name="builder">The builder.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Push(NUnit.Framework.Constraints.ConstraintOperator)">
+            <summary>
+            Pushes the specified operator onto the stack.
+            </summary>
+            <param name="op">The op.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Pop">
+            <summary>
+            Pops the topmost operator from the stack.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Empty">
+            <summary>
+            Gets a value indicating whether this <see cref="T:OpStack"/> is empty.
+            </summary>
+            <value><c>true</c> if empty; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Top">
+            <summary>
+            Gets the topmost operator without modifying the stack.
+            </summary>
+            <value>The top.</value>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack">
+            <summary>
+            ConstraintStack is a type-safe stack for holding Constraints
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ConstraintStack"/> class.
+            </summary>
+            <param name="builder">The builder.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Push(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Pushes the specified constraint. As a side effect,
+            the constraint's builder field is set to the 
+            ConstraintBuilder owning this stack.
+            </summary>
+            <param name="constraint">The constraint.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Pop">
+            <summary>
+            Pops this topmost constrait from the stack.
+            As a side effect, the constraint's builder
+            field is set to null.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Empty">
+            <summary>
+            Gets a value indicating whether this <see cref="T:ConstraintStack"/> is empty.
+            </summary>
+            <value><c>true</c> if empty; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Top">
+            <summary>
+            Gets the topmost constraint without modifying the stack.
+            </summary>
+            <value>The topmost constraint</value>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ThrowsConstraint">
+            <summary>
+            ThrowsConstraint is used to test the exception thrown by 
+            a delegate by applying a constraint to it.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.PrefixConstraint">
+            <summary>
+            Abstract base class used for prefixes
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.PrefixConstraint.baseConstraint">
+            <summary>
+            The base constraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PrefixConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Construct given a base constraint
+            </summary>
+            <param name="resolvable"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ThrowsConstraint"/> class,
+            using a constraint to be applied to the exception.
+            </summary>
+            <param name="baseConstraint">A constraint to apply to the caught exception.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.Matches(System.Object)">
+            <summary>
+            Executes the code of the delegate and captures any exception.
+            If a non-null base constraint was provided, it applies that
+            constraint to the exception.
+            </summary>
+            <param name="actual">A delegate representing the code to be tested</param>
+            <returns>True if an exception is thrown and the constraint succeeds, otherwise false</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.Matches(NUnit.Framework.Constraints.ActualValueDelegate)">
+            <summary>
+            Converts an ActualValueDelegate to a TestDelegate
+            before calling the primary overload.
+            </summary>
+            <param name="del"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. The default implementation simply writes
+            the raw value of actual, leaving it to the writer to
+            perform any formatting.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ToString">
+            <summary>
+            Returns the string representation of this constraint
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.ActualException">
+            <summary>
+            Get the actual exception thrown - used by Assert.Throws.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ThrowsNothingConstraint">
+            <summary>
+            ThrowsNothingConstraint tests that a delegate does not
+            throw an exception.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True if no exception is thrown, otherwise false</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. The default implementation simply writes
+            the raw value of actual, leaving it to the writer to
+            perform any formatting.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionConstraint">
+            <summary>
+            CollectionConstraint is the abstract base class for
+            constraints that operate on collections.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor">
+            <summary>
+            Construct an empty CollectionConstraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor(System.Object)">
+            <summary>
+            Construct a CollectionConstraint
+            </summary>
+            <param name="arg"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionConstraint.IsEmpty(System.Collections.IEnumerable)">
+            <summary>
+            Determines whether the specified enumerable is empty.
+            </summary>
+            <param name="enumerable">The enumerable.</param>
+            <returns>
+            	<c>true</c> if the specified enumerable is empty; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Protected method to be implemented by derived classes
+            </summary>
+            <param name="collection"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionItemsEqualConstraint">
+            <summary>
+            CollectionItemsEqualConstraint is the abstract base class for all
+            collection constraints that apply some notion of item equality
+            as a part of their operation.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor">
+            <summary>
+            Construct an empty CollectionConstraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor(System.Object)">
+            <summary>
+            Construct a CollectionConstraint
+            </summary>
+            <param name="arg"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IComparer)">
+            <summary>
+            Flag the constraint to use the supplied IComparer object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})">
+            <summary>
+            Flag the constraint to use the supplied IComparer object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Comparison{``0})">
+            <summary>
+            Flag the constraint to use the supplied Comparison object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IEqualityComparer)">
+            <summary>
+            Flag the constraint to use the supplied IEqualityComparer object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})">
+            <summary>
+            Flag the constraint to use the supplied IEqualityComparer object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.ItemsEqual(System.Object,System.Object)">
+            <summary>
+            Compares two collection members for equality
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Tally(System.Collections.IEnumerable)">
+            <summary>
+            Return a new CollectionTally for use in making tests
+            </summary>
+            <param name="c">The collection to be included in the tally</param>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoreCase">
+            <summary>
+            Flag the constraint to ignore case and return self.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.CollectionTally">
+            <summary>
+            CollectionTally counts (tallies) the number of
+            occurences of each object in one or more enumerations.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.CollectionTally.#ctor(NUnit.Framework.Constraints.NUnitEqualityComparer,System.Collections.IEnumerable)">
+            <summary>
+            Construct a CollectionTally object from a comparer and a collection
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.CollectionTally.TryRemove(System.Object)">
+            <summary>
+            Try to remove an object from the tally
+            </summary>
+            <param name="o">The object to remove</param>
+            <returns>True if successful, false if the object was not found</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.CollectionTally.TryRemove(System.Collections.IEnumerable)">
+            <summary>
+            Try to remove a set of objects from the tally
+            </summary>
+            <param name="c">The objects to remove</param>
+            <returns>True if successful, false if any object was not found</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.CollectionTally.Count">
+            <summary>
+            The number of objects remaining in the tally
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EmptyCollectionConstraint">
+            <summary>
+            EmptyCollectionConstraint tests whether a collection is empty. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Check that the collection is empty
+            </summary>
+            <param name="collection"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.UniqueItemsConstraint">
+            <summary>
+            UniqueItemsConstraint tests whether all the items in a 
+            collection are unique.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Check that all items are unique.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionContainsConstraint">
+            <summary>
+            CollectionContainsConstraint is used to test whether a collection
+            contains an expected object as a member.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.#ctor(System.Object)">
+            <summary>
+            Construct a CollectionContainsConstraint
+            </summary>
+            <param name="expected"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Test whether the expected item is contained in the collection
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a descripton of the constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint">
+            <summary>
+            CollectionEquivalentCOnstraint is used to determine whether two
+            collections are equivalent.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.#ctor(System.Collections.IEnumerable)">
+            <summary>
+            Construct a CollectionEquivalentConstraint
+            </summary>
+            <param name="expected"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Test whether two collections are equivalent
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionSubsetConstraint">
+            <summary>
+            CollectionSubsetConstraint is used to determine whether
+            one collection is a subset of another
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.#ctor(System.Collections.IEnumerable)">
+            <summary>
+            Construct a CollectionSubsetConstraint
+            </summary>
+            <param name="expected">The collection that the actual value is expected to be a subset of</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Test whether the actual collection is a subset of 
+            the expected collection provided.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint">
+            <summary>
+            CollectionOrderedConstraint is used to test whether a collection is ordered.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.#ctor">
+            <summary>
+            Construct a CollectionOrderedConstraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using(System.Collections.IComparer)">
+            <summary>
+            Modifies the constraint to use an IComparer and returns self.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Collections.Generic.IComparer{``0})">
+            <summary>
+            Modifies the constraint to use an IComparer&lt;T&gt; and returns self.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Comparison{``0})">
+            <summary>
+            Modifies the constraint to use a Comparison&lt;T&gt; and returns self.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.By(System.String)">
+            <summary>
+            Modifies the constraint to test ordering by the value of
+            a specified property and returns self.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.doMatch(System.Collections.IEnumerable)">
+            <summary>
+            Test whether the collection is ordered
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description of the constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.ToString">
+            <summary>
+            Returns the string representation of the constraint.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Descending">
+            <summary>
+             If used performs a reverse comparison
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EmptyDirectoryContraint">
+            <summary>
+            EmptyDirectoryConstraint is used to test that a directory is empty
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyDirectoryContraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyDirectoryContraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyDirectoryContraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. The default implementation simply writes
+            the raw value of actual, leaving it to the writer to
+            perform any formatting.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SubDirectoryConstraint">
+            <summary>
+            SubDirectoryConstraint is used to test that one directory is a subdirectory of another.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.#ctor(System.IO.DirectoryInfo)">
+            <summary>
+            Initializes a new instance of the <see cref="T:SubDirectoryConstraint"/> class.
+            </summary>
+            <param name="dirInfo">The dir info.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.BuildDirectoryList(System.IO.DirectoryInfo)">
+            <summary>
+            Builds a list of DirectoryInfo objects, recursing where necessary
+            </summary>
+            <param name="StartingDirectory">directory to recurse</param>
+            <returns>list of DirectoryInfo objects from the top level</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.IsDirectoryOnPath(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+            <summary>
+            private method to determine whether a directory is within the path
+            </summary>
+            <param name="ParentDirectory">top-level directory to search</param>
+            <param name="SearchDirectory">directory to search for</param>
+            <returns>true if found, false if not</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubDirectoryConstraint.DirectoriesEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+            <summary>
+            Method to compare two DirectoryInfo objects
+            </summary>
+            <param name="expected">first directory to compare</param>
+            <param name="actual">second directory to compare</param>
+            <returns>true if equivalent, false if not</returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.PathConstraint">
+            <summary>
+            PathConstraint serves as the abstract base of constraints
+            that operate on paths and provides several helper methods.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.PathConstraint.expected">
+            <summary>
+            The expected path used in the constraint
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.PathConstraint.caseInsensitive">
+            <summary>
+            Flag indicating whether a caseInsensitive comparison should be made
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PathConstraint.#ctor(System.String)">
+            <summary>
+            Construct a PathConstraint for a give expected path
+            </summary>
+            <param name="expected">The expected path</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PathConstraint.ToString">
+            <summary>
+            Returns the string representation of this constraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PathConstraint.Canonicalize(System.String)">
+            <summary>
+            Canonicalize the provided path
+            </summary>
+            <param name="path"></param>
+            <returns>The path in standardized form</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PathConstraint.IsSamePath(System.String,System.String)">
+            <summary>
+            Test whether two paths are the same
+            </summary>
+            <param name="path1">The first path</param>
+            <param name="path2">The second path</param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PathConstraint.IsSamePathOrUnder(System.String,System.String)">
+            <summary>
+            Test whether one path is the same as or under another path
+            </summary>
+            <param name="path1">The first path - supposed to be the parent path</param>
+            <param name="path2">The second path - supposed to be the child path</param>
+            <returns></returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.PathConstraint.IgnoreCase">
+            <summary>
+            Modifies the current instance to be case-insensitve
+            and returns it.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.PathConstraint.RespectCase">
+            <summary>
+            Modifies the current instance to be case-sensitve
+            and returns it.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SamePathConstraint">
+            <summary>
+            Summary description for SamePathConstraint.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SamePathConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:SamePathConstraint"/> class.
+            </summary>
+            <param name="expected">The expected path</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SamePathConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SamePathConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint">
+            <summary>
+            SamePathOrUnderConstraint tests that one path is under another
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:SamePathOrUnderConstraint"/> class.
+            </summary>
+            <param name="expected">The expected path</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.PropertyExistsConstraint">
+            <summary>
+            PropertyExistsConstraint tests that a named property
+            exists on the object provided through Match.
+            
+            Originally, PropertyConstraint provided this feature
+            in addition to making optional tests on the vaue
+            of the property. The two constraints are now separate.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:PropertyExistConstraint"/> class.
+            </summary>
+            <param name="name">The name of the property.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the property exists for a given object
+            </summary>
+            <param name="actual">The object to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.ToString">
+            <summary>
+            Returns the string representation of the constraint.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.PropertyConstraint">
+            <summary>
+            PropertyConstraint extracts a named property and uses
+            its value as the actual value for a chained constraint.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyConstraint.#ctor(System.String,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Initializes a new instance of the <see cref="T:PropertyConstraint"/> class.
+            </summary>
+            <param name="name">The name.</param>
+            <param name="baseConstraint">The constraint to apply to the property.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. The default implementation simply writes
+            the raw value of actual, leaving it to the writer to
+            perform any formatting.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropertyConstraint.ToString">
+            <summary>
+            Returns the string representation of the constraint.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ConstraintExpression">
+            <summary>
+            ConstraintExpression represents a compound constraint in the 
+            process of being constructed from a series of syntactic elements.
+            
+            Individual elements are appended to the expression as they are
+            reognized. Once an actual Constraint is appended, the expression
+            returns a resolvable Constraint.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ConstraintExpressionBase">
+            <summary>
+            ConstraintExpressionBase is the abstract base class for the 
+            generated ConstraintExpression class, which represents a 
+            compound constraint in the process of being constructed 
+            from a series of syntactic elements.
+            
+            NOTE: ConstraintExpressionBase is aware of some of its
+            derived classes, which is an apparent violation of 
+            encapsulation. Ideally, these classes would be a 
+            single class, but they must be separated in order to
+            allow parts to be generated under .NET 1.x and to
+            provide proper user feedback in syntactically 
+            aware IDEs.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ConstraintExpressionBase.builder">
+            <summary>
+            The ConstraintBuilder holding the elements recognized so far
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ConstraintExpressionBase"/> class.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ConstraintExpressionBase"/> 
+            class passing in a ConstraintBuilder, which may be pre-populated.
+            </summary>
+            <param name="builder">The builder.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.ToString">
+            <summary>
+            Returns a string representation of the expression as it
+            currently stands. This should only be used for testing,
+            since it has the side-effect of resolving the expression.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.Append(NUnit.Framework.Constraints.ConstraintOperator)">
+            <summary>
+            Appends an operator to the expression and returns the
+            resulting expression itself.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.Append(NUnit.Framework.Constraints.SelfResolvingOperator)">
+            <summary>
+            Appends a self-resolving operator to the expression and
+            returns a new ResolvableConstraintExpression.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpressionBase.Append(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Appends a constraint to the expression and returns that
+            constraint, which is associated with the current state
+            of the expression being built.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ConstraintExpression"/> class.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ConstraintExpression"/> 
+            class passing in a ConstraintBuilder, which may be pre-populated.
+            </summary>
+            <param name="builder">The builder.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Property(System.String)">
+            <summary>
+            Returns a new PropertyConstraintExpression, which will either
+            test for the existence of the named property on the object
+            being tested or apply any following constraint to that property.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute(System.Type)">
+            <summary>
+            Returns a new AttributeConstraint checking for the
+            presence of a particular attribute on an object.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute``1">
+            <summary>
+            Returns a new AttributeConstraint checking for the
+            presence of a particular attribute on an object.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Returns the constraint provided as an argument - used to allow custom
+            custom constraints to easily participate in the syntax.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches``1(System.Predicate{``0})">
+            <summary>
+            Returns the constraint provided as an argument - used to allow custom
+            custom constraints to easily participate in the syntax.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EqualTo(System.Object)">
+            <summary>
+            Returns a constraint that tests two items for equality
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SameAs(System.Object)">
+            <summary>
+            Returns a constraint that tests that two references are the same object
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThan(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is greater than the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThanOrEqualTo(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is greater than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtLeast(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is greater than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThan(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is less than the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThanOrEqualTo(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is less than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtMost(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is less than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual
+            value is of the exact type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf``1">
+            <summary>
+            Returns a constraint that tests whether the actual
+            value is of the exact type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOfType(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOfType``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EquivalentTo(System.Collections.IEnumerable)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is a collection containing the same elements as the 
+            collection supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubsetOf(System.Collections.IEnumerable)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is a subset of the collection supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Member(System.Object)">
+            <summary>
+            Returns a new CollectionContainsConstraint checking for the
+            presence of a particular object in the collection.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)">
+            <summary>
+            Returns a new CollectionContainsConstraint checking for the
+            presence of a particular object in the collection.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)">
+            <summary>
+            Returns a new ContainsConstraint. This constraint
+            will, in turn, make use of the appropriate second-level
+            constraint, depending on the type of the actual argument. 
+            This overload is only used if the item sought is a string,
+            since any other type implies that we are looking for a 
+            collection member.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringContaining(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value contains the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainsSubstring(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value contains the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartsWith(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value starts with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringStarting(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value starts with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndsWith(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value ends with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringEnding(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value ends with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value matches the Regex pattern supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringMatching(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value matches the Regex pattern supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePath(System.String)">
+            <summary>
+            Returns a constraint that tests whether the path provided 
+            is the same as an expected path after canonicalization.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePathOrUnder(System.String)">
+            <summary>
+            Returns a constraint that tests whether the path provided 
+            is the same path or under an expected path after canonicalization.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InRange(System.IComparable,System.IComparable)">
+            <summary>
+            Returns a constraint that tests whether the actual value falls 
+            within a specified range.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Not">
+            <summary>
+            Returns a ConstraintExpression that negates any
+            following constraint.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.No">
+            <summary>
+            Returns a ConstraintExpression that negates any
+            following constraint.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.All">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them succeed.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Some">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if at least one of them succeeds.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.None">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them fail.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Length">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the Length property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Count">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the Count property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Message">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the Message property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.InnerException">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the InnerException property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.With">
+            <summary>
+            With is currently a NOP - reserved for future use.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Null">
+            <summary>
+            Returns a constraint that tests for null
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.True">
+            <summary>
+            Returns a constraint that tests for True
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.False">
+            <summary>
+            Returns a constraint that tests for False
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.NaN">
+            <summary>
+            Returns a constraint that tests for NaN
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Empty">
+            <summary>
+            Returns a constraint that tests for empty
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Unique">
+            <summary>
+            Returns a constraint that tests whether a collection 
+            contains all unique items.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.BinarySerializable">
+            <summary>
+            Returns a constraint that tests whether an object graph is serializable in binary format.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.XmlSerializable">
+            <summary>
+            Returns a constraint that tests whether an object graph is serializable in xml format.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Ordered">
+            <summary>
+            Returns a constraint that tests whether a collection is ordered
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.RangeConstraint">
+            <summary>
+            RangeConstraint tests whethe two values are within a 
+            specified range.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RangeConstraint.#ctor(System.IComparable,System.IComparable)">
+            <summary>
+            Initializes a new instance of the <see cref="T:RangeConstraint"/> class.
+            </summary>
+            <param name="from">From.</param>
+            <param name="to">To.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RangeConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RangeConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using(System.Collections.IComparer)">
+            <summary>
+            Modifies the constraint to use an IComparer and returns self.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Collections.Generic.IComparer{``0})">
+            <summary>
+            Modifies the constraint to use an IComparer&lt;T&gt; and returns self.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Comparison{``0})">
+            <summary>
+            Modifies the constraint to use a Comparison&lt;T&gt; and returns self.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EqualConstraint">
+            <summary>
+            EqualConstraint is able to compare an actual value with the
+            expected value provided in its constructor. Two objects are 
+            considered equal if both are null, or if both have the same 
+            value. NUnit has special semantics for some object types.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.EqualConstraint.clipStrings">
+            <summary>
+            If true, strings in error messages will be clipped
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.EqualConstraint.comparer">
+            <summary>
+            NUnitEqualityComparer used to test equality.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EqualConstraint"/> class.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)">
+            <summary>
+            Flag the constraint to use a tolerance when determining equality.
+            </summary>
+            <param name="amount">Tolerance value to be used</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.Comparer(System.Collections.IComparer)">
+            <summary>
+            Flag the constraint to use the supplied IComparer object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IComparer)">
+            <summary>
+            Flag the constraint to use the supplied IComparer object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})">
+            <summary>
+            Flag the constraint to use the supplied IComparer object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Comparison{``0})">
+            <summary>
+            Flag the constraint to use the supplied Comparison object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IEqualityComparer)">
+            <summary>
+            Flag the constraint to use the supplied IEqualityComparer object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})">
+            <summary>
+            Flag the constraint to use the supplied IEqualityComparer object.
+            </summary>
+            <param name="comparer">The IComparer object to use.</param>
+            <returns>Self.</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a failure message. Overridden to provide custom 
+            failure messages for EqualConstraint.
+            </summary>
+            <param name="writer">The MessageWriter to write to</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write description of this constraint
+            </summary>
+            <param name="writer">The MessageWriter to write to</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.DisplayCollectionDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)">
+            <summary>
+            Display the failure information for two collections that did not match.
+            </summary>
+            <param name="writer">The MessageWriter on which to display</param>
+            <param name="expected">The expected collection.</param>
+            <param name="actual">The actual collection</param>
+            <param name="depth">The depth of this failure in a set of nested collections</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.DisplayCollectionTypesAndSizes(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)">
+            <summary>
+            Displays a single line showing the types and sizes of the expected
+            and actual collections or arrays. If both are identical, the value is 
+            only shown once.
+            </summary>
+            <param name="writer">The MessageWriter on which to display</param>
+            <param name="expected">The expected collection or array</param>
+            <param name="actual">The actual collection or array</param>
+            <param name="indent">The indentation level for the message line</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualConstraint.DisplayFailurePoint(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32,System.Int32)">
+            <summary>
+            Displays a single line showing the point in the expected and actual
+            arrays at which the comparison failed. If the arrays have different
+            structures or dimensions, both values are shown.
+            </summary>
+            <param name="writer">The MessageWriter on which to display</param>
+            <param name="expected">The expected array</param>
+            <param name="actual">The actual array</param>
+            <param name="failurePoint">Index of the failure point in the underlying collections</param>
+            <param name="indent">The indentation level for the message line</param>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.IgnoreCase">
+            <summary>
+            Flag the constraint to ignore case and return self.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.NoClip">
+            <summary>
+            Flag the constraint to suppress string clipping 
+            and return self.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.AsCollection">
+            <summary>
+            Flag the constraint to compare arrays as collections
+            and return self.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ulps">
+            <summary>
+            Switches the .Within() modifier to interpret its tolerance as
+            a distance in representable values (see remarks).
+            </summary>
+            <returns>Self.</returns>
+            <remarks>
+            Ulp stands for "unit in the last place" and describes the minimum
+            amount a given value can change. For any integers, an ulp is 1 whole
+            digit. For floating point values, the accuracy of which is better
+            for smaller numbers and worse for larger numbers, an ulp depends
+            on the size of the number. Using ulps for comparison of floating
+            point results instead of fixed tolerances is safer because it will
+            automatically compensate for the added inaccuracy of larger numbers.
+            </remarks>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.Percent">
+            <summary>
+            Switches the .Within() modifier to interpret its tolerance as
+            a percentage that the actual values is allowed to deviate from
+            the expected value.
+            </summary>
+            <returns>Self</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.Days">
+            <summary>
+            Causes the tolerance to be interpreted as a TimeSpan in days.
+            </summary>
+            <returns>Self</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.Hours">
+            <summary>
+            Causes the tolerance to be interpreted as a TimeSpan in hours.
+            </summary>
+            <returns>Self</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.Minutes">
+            <summary>
+            Causes the tolerance to be interpreted as a TimeSpan in minutes.
+            </summary>
+            <returns>Self</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.Seconds">
+            <summary>
+            Causes the tolerance to be interpreted as a TimeSpan in seconds.
+            </summary>
+            <returns>Self</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.Milliseconds">
+            <summary>
+            Causes the tolerance to be interpreted as a TimeSpan in milliseconds.
+            </summary>
+            <returns>Self</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ticks">
+            <summary>
+            Causes the tolerance to be interpreted as a TimeSpan in clock ticks.
+            </summary>
+            <returns>Self</returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NotConstraint">
+            <summary>
+            NotConstraint negates the effect of some other constraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NotConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Initializes a new instance of the <see cref="T:NotConstraint"/> class.
+            </summary>
+            <param name="baseConstraint">The base constraint to be negated.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NotConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for if the base constraint fails, false if it succeeds</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NotConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NotConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a MessageWriter.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AllItemsConstraint">
+            <summary>
+            AllItemsConstraint applies another constraint to each
+            item in a collection, succeeding if they all succeed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Construct an AllItemsConstraint on top of an existing constraint
+            </summary>
+            <param name="itemConstraint"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.Matches(System.Object)">
+            <summary>
+            Apply the item constraint to each item in the collection,
+            failing if any item fails.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SomeItemsConstraint">
+            <summary>
+            SomeItemsConstraint applies another constraint to each
+            item in a collection, succeeding if any of them succeeds.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Construct a SomeItemsConstraint on top of an existing constraint
+            </summary>
+            <param name="itemConstraint"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Matches(System.Object)">
+            <summary>
+            Apply the item constraint to each item in the collection,
+            succeeding if any item succeeds.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NoItemConstraint">
+            <summary>
+            NoItemConstraint applies another constraint to each
+            item in a collection, failing if any of them succeeds.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NoItemConstraint.#ctor(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Construct a SomeItemsConstraint on top of an existing constraint
+            </summary>
+            <param name="itemConstraint"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NoItemConstraint.Matches(System.Object)">
+            <summary>
+            Apply the item constraint to each item in the collection,
+            failing if any item fails.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NoItemConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description of this constraint to a MessageWriter
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ContainsConstraint">
+            <summary>
+            ContainsConstraint tests a whether a string contains a substring
+            or a collection contains an object. It postpones the decision of
+            which test to use until the type of the actual argument is known.
+            This allows testing whether a string is contained in a collection
+            or as a substring of another string using the same syntax.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ContainsConstraint.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ContainsConstraint"/> class.
+            </summary>
+            <param name="expected">The expected.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ContainsConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ContainsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ContainsConstraint.IgnoreCase">
+            <summary>
+            Flag the constraint to ignore case and return self.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.MsgUtils">
+            <summary>
+            Static methods used in creating messages
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.MsgUtils.ELLIPSIS">
+            <summary>
+            Static string used when strings are clipped
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MsgUtils.GetTypeRepresentation(System.Object)">
+            <summary>
+            Returns the representation of a type as used in NUnitLite.
+            This is the same as Type.ToString() except for arrays,
+            which are displayed with their declared sizes.
+            </summary>
+            <param name="obj"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeControlChars(System.String)">
+            <summary>
+            Converts any control characters in a string 
+            to their escaped representation.
+            </summary>
+            <param name="s">The string to be converted</param>
+            <returns>The converted string</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesAsString(System.Int32[])">
+            <summary>
+            Return the a string representation for a set of indices into an array
+            </summary>
+            <param name="indices">Array of indices for which a string is needed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesFromCollectionIndex(System.Collections.ICollection,System.Int32)">
+            <summary>
+            Get an array of indices representing the point in a collection or
+            array corresponding to a single int index into the collection.
+            </summary>
+            <param name="collection">The collection to which the indices apply</param>
+            <param name="index">Index in the collection</param>
+            <returns>Array of indices</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipString(System.String,System.Int32,System.Int32)">
+            <summary>
+            Clip a string to a given length, starting at a particular offset, returning the clipped
+            string with ellipses representing the removed parts
+            </summary>
+            <param name="s">The string to be clipped</param>
+            <param name="maxStringLength">The maximum permitted length of the result string</param>
+            <param name="clipStart">The point at which to start clipping</param>
+            <returns>The clipped string</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipExpectedAndActual(System.String@,System.String@,System.Int32,System.Int32)">
+            <summary>
+            Clip the expected and actual strings in a coordinated fashion, 
+            so that they may be displayed together.
+            </summary>
+            <param name="expected"></param>
+            <param name="actual"></param>
+            <param name="maxDisplayLength"></param>
+            <param name="mismatch"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MsgUtils.FindMismatchPosition(System.String,System.String,System.Int32,System.Boolean)">
+            <summary>
+            Shows the position two strings start to differ.  Comparison 
+            starts at the start index.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+            <param name="istart">The index in the strings at which comparison should start</param>
+            <param name="ignoreCase">Boolean indicating whether case should be ignored</param>
+            <returns>-1 if no mismatch found, or the index where mismatch found</returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.BasicConstraint">
+            <summary>
+            BasicConstraint is the abstract base for constraints that
+            perform a simple comparison to a constant value.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BasicConstraint.#ctor(System.Object,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:BasicConstraint"/> class.
+            </summary>
+            <param name="expected">The expected.</param>
+            <param name="description">The description.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BasicConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BasicConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NullConstraint">
+            <summary>
+            NullConstraint tests that the actual value is null
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NullConstraint.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:NullConstraint"/> class.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.TrueConstraint">
+            <summary>
+            TrueConstraint tests that the actual value is true
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.TrueConstraint.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:TrueConstraint"/> class.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.FalseConstraint">
+            <summary>
+            FalseConstraint tests that the actual value is false
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.FalseConstraint.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:FalseConstraint"/> class.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NaNConstraint">
+            <summary>
+            NaNConstraint tests that the actual value is a double or float NaN
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NaNConstraint.Matches(System.Object)">
+            <summary>
+            Test that the actual value is an NaN
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NaNConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a specified writer
+            </summary>
+            <param name="writer"></param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.MessageWriter">
+            <summary>
+            MessageWriter is the abstract base for classes that write
+            constraint descriptions and messages in some form. The
+            class has separate methods for writing various components
+            of a message, allowing implementations to tailor the
+            presentation as needed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.#ctor">
+            <summary>
+            Construct a MessageWriter given a culture
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.String,System.Object[])">
+            <summary>
+            Method to write single line  message with optional args, usually
+            written to precede the general failure message.
+            </summary>
+            <param name="message">The message to be written</param>
+            <param name="args">Any arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])">
+            <summary>
+            Method to write single line  message with optional args, usually
+            written to precede the general failure message, at a givel 
+            indentation level.
+            </summary>
+            <param name="level">The indentation level of the message</param>
+            <param name="message">The message to be written</param>
+            <param name="args">Any arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Display Expected and Actual lines for a constraint. This
+            is called by MessageWriter's default implementation of 
+            WriteMessageTo and provides the generic two-line display. 
+            </summary>
+            <param name="constraint">The constraint that failed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object)">
+            <summary>
+            Display Expected and Actual lines for given values. This
+            method may be called by constraints that need more control over
+            the display of actual and expected values than is provided
+            by the default implementation.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value causing the failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)">
+            <summary>
+            Display Expected and Actual lines for given values, including
+            a tolerance value on the Expected line.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value causing the failure</param>
+            <param name="tolerance">The tolerance within which the test was made</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)">
+            <summary>
+            Display the expected and actual string values on separate lines.
+            If the mismatch parameter is >=0, an additional line is displayed
+            line containing a caret that points to the mismatch point.
+            </summary>
+            <param name="expected">The expected string value</param>
+            <param name="actual">The actual string value</param>
+            <param name="mismatch">The point at which the strings don't match or -1</param>
+            <param name="ignoreCase">If true, case is ignored in locating the point where the strings differ</param>
+            <param name="clipping">If true, the strings should be clipped to fit the line</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteConnector(System.String)">
+            <summary>
+            Writes the text for a connector.
+            </summary>
+            <param name="connector">The connector.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.WritePredicate(System.String)">
+            <summary>
+            Writes the text for a predicate.
+            </summary>
+            <param name="predicate">The predicate.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteExpectedValue(System.Object)">
+            <summary>
+            Writes the text for an expected value.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteModifier(System.String)">
+            <summary>
+            Writes the text for a modifier
+            </summary>
+            <param name="modifier">The modifier.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteActualValue(System.Object)">
+            <summary>
+            Writes the text for an actual value.
+            </summary>
+            <param name="actual">The actual value.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteValue(System.Object)">
+            <summary>
+            Writes the text for a generalized value.
+            </summary>
+            <param name="val">The value.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteCollectionElements(System.Collections.ICollection,System.Int32,System.Int32)">
+            <summary>
+            Writes the text for a collection value,
+            starting at a particular point, to a max length
+            </summary>
+            <param name="collection">The collection containing elements to write.</param>
+            <param name="start">The starting point of the elements to write</param>
+            <param name="max">The maximum number of elements to write</param>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.MessageWriter.MaxLineLength">
+            <summary>
+            Abstract method to get the max line length
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ToleranceMode">
+            <summary>
+            Modes in which the tolerance value for a comparison can
+            be interpreted.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ToleranceMode.None">
+            <summary>
+            The tolerance was created with a value, without specifying 
+            how the value would be used. This is used to prevent setting
+            the mode more than once and is generally changed to Linear
+            upon execution of the test.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ToleranceMode.Linear">
+            <summary>
+            The tolerance is used as a numeric range within which
+            two compared values are considered to be equal.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ToleranceMode.Percent">
+            <summary>
+            Interprets the tolerance as the percentage by which
+            the two compared values my deviate from each other.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ToleranceMode.Ulps">
+            <summary>
+            Compares two values based in their distance in
+            representable numbers.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.Tolerance">
+            <summary>
+            The Tolerance class generalizes the notion of a tolerance
+            within which an equality test succeeds. Normally, it is
+            used with numeric types, but it can be used with any
+            type that supports taking a difference between two 
+            objects and comparing that difference to a value.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object)">
+            <summary>
+            Constructs a linear tolerance of a specdified amount
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object,NUnit.Framework.Constraints.ToleranceMode)">
+            <summary>
+            Constructs a tolerance given an amount and ToleranceMode
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Tolerance.CheckLinearAndNumeric">
+            <summary>
+            Tests that the current Tolerance is linear with a 
+            numeric value, throwing an exception if it is not.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Empty">
+            <summary>
+            Returns an empty Tolerance object, equivalent to 
+            specifying an exact match.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Mode">
+            <summary>
+            Gets the ToleranceMode for the current Tolerance
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Value">
+            <summary>
+            Gets the value of the current Tolerance instance.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Percent">
+            <summary>
+            Returns a new tolerance, using the current amount as a percentage.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Ulps">
+            <summary>
+            Returns a new tolerance, using the current amount in Ulps.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Days">
+            <summary>
+            Returns a new tolerance with a TimeSpan as the amount, using 
+            the current amount as a number of days.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Hours">
+            <summary>
+            Returns a new tolerance with a TimeSpan as the amount, using 
+            the current amount as a number of hours.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Minutes">
+            <summary>
+            Returns a new tolerance with a TimeSpan as the amount, using 
+            the current amount as a number of minutes.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Seconds">
+            <summary>
+            Returns a new tolerance with a TimeSpan as the amount, using 
+            the current amount as a number of seconds.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Milliseconds">
+            <summary>
+            Returns a new tolerance with a TimeSpan as the amount, using 
+            the current amount as a number of milliseconds.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.Ticks">
+            <summary>
+            Returns a new tolerance with a TimeSpan as the amount, using 
+            the current amount as a number of clock ticks.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.Tolerance.IsEmpty">
+            <summary>
+            Returns true if the current tolerance is empty.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.Numerics">
+            <summary>
+            The Numerics class contains common operations on numeric values.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Numerics.IsNumericType(System.Object)">
+            <summary>
+            Checks the type of the object, returning true if
+            the object is a numeric type.
+            </summary>
+            <param name="obj">The object to check</param>
+            <returns>true if the object is a numeric type</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Numerics.IsFloatingPointNumeric(System.Object)">
+            <summary>
+            Checks the type of the object, returning true if
+            the object is a floating point numeric type.
+            </summary>
+            <param name="obj">The object to check</param>
+            <returns>true if the object is a floating point numeric type</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Numerics.IsFixedPointNumeric(System.Object)">
+            <summary>
+            Checks the type of the object, returning true if
+            the object is a fixed point numeric type.
+            </summary>
+            <param name="obj">The object to check</param>
+            <returns>true if the object is a fixed point numeric type</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Numerics.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)">
+            <summary>
+            Test two numeric values for equality, performing the usual numeric 
+            conversions and using a provided or default tolerance. If the tolerance 
+            provided is Empty, this method may set it to a default tolerance.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="tolerance">A reference to the tolerance in effect</param>
+            <returns>True if the values are equal</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.Numerics.Compare(System.Object,System.Object)">
+            <summary>
+            Compare two numeric values, performing the usual numeric conversions.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <returns>The relationship of the values to each other</returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EmptyConstraint">
+            <summary>
+            EmptyConstraint tests a whether a string or collection is empty,
+            postponing the decision about which test is applied until the
+            type of the actual argument is known.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.StringConstraint">
+            <summary>
+            StringConstraint is the abstract base for constraints
+            that operate on strings. It supports the IgnoreCase
+            modifier for string operations.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.StringConstraint.expected">
+            <summary>
+            The expected value
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.StringConstraint.caseInsensitive">
+            <summary>
+            Indicates whether tests should be case-insensitive
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor(System.String)">
+            <summary>
+            Constructs a StringConstraint given an expected value
+            </summary>
+            <param name="expected">The expected value</param>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.StringConstraint.IgnoreCase">
+            <summary>
+            Modify the constraint to ignore case in matching.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EmptyStringConstraint">
+            <summary>
+            EmptyStringConstraint tests whether a string is empty.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NullOrEmptyStringConstraint">
+            <summary>
+            NullEmptyStringConstraint tests whether a string is either null or empty.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NullOrEmptyStringConstraint.#ctor">
+            <summary>
+            Constructs a new NullOrEmptyStringConstraint
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NullOrEmptyStringConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NullOrEmptyStringConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SubstringConstraint">
+            <summary>
+            SubstringConstraint can test whether a string contains
+            the expected substring.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubstringConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:SubstringConstraint"/> class.
+            </summary>
+            <param name="expected">The expected.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SubstringConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.StartsWithConstraint">
+            <summary>
+            StartsWithConstraint can test whether a string starts
+            with an expected substring.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:StartsWithConstraint"/> class.
+            </summary>
+            <param name="expected">The expected string</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is matched by the actual value.
+            This is a template method, which calls the IsMatch method
+            of the derived class.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EndsWithConstraint">
+            <summary>
+            EndsWithConstraint can test whether a string ends
+            with an expected substring.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:EndsWithConstraint"/> class.
+            </summary>
+            <param name="expected">The expected string</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is matched by the actual value.
+            This is a template method, which calls the IsMatch method
+            of the derived class.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.RegexConstraint">
+            <summary>
+            RegexConstraint can test whether a string matches
+            the pattern provided.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:RegexConstraint"/> class.
+            </summary>
+            <param name="pattern">The pattern.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RegexConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.RegexConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ComparisonConstraint">
+            <summary>
+            Abstract base class for constraints that compare values to
+            determine if one is greater than, equal to or less than
+            the other.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.expected">
+            <summary>
+            The value against which a comparison is to be made
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.ltOK">
+            <summary>
+            If true, less than returns success
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.eqOK">
+            <summary>
+            if true, equal returns success
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.gtOK">
+            <summary>
+            if true, greater than returns success
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.predicate">
+            <summary>
+            The predicate used as a part of the description
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ComparisonConstraint.comparer">
+            <summary>
+            ComparisonAdapter to be used in making the comparison
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.#ctor(System.Object,System.Boolean,System.Boolean,System.Boolean,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ComparisonConstraint"/> class.
+            </summary>
+            <param name="value">The value against which to make a comparison.</param>
+            <param name="ltOK">if set to <c>true</c> less succeeds.</param>
+            <param name="eqOK">if set to <c>true</c> equal succeeds.</param>
+            <param name="gtOK">if set to <c>true</c> greater succeeds.</param>
+            <param name="predicate">String used in describing the constraint.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using(System.Collections.IComparer)">
+            <summary>
+            Modifies the constraint to use an IComparer and returns self
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Collections.Generic.IComparer{``0})">
+            <summary>
+            Modifies the constraint to use an IComparer&lt;T&gt; and returns self
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Comparison{``0})">
+            <summary>
+            Modifies the constraint to use a Comparison&lt;T&gt; and returns self
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.GreaterThanConstraint">
+            <summary>
+            Tests whether a value is greater than the value supplied to its constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GreaterThanConstraint"/> class.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint">
+            <summary>
+            Tests whether a value is greater than or equal to the value supplied to its constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:GreaterThanOrEqualConstraint"/> class.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.LessThanConstraint">
+            <summary>
+            Tests whether a value is less than the value supplied to its constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.LessThanConstraint.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LessThanConstraint"/> class.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint">
+            <summary>
+            Tests whether a value is less than or equal to the value supplied to its constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LessThanOrEqualConstraint"/> class.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SameAsConstraint">
+            <summary>
+            SameAsConstraint tests whether an object is identical to
+            the object passed to its constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SameAsConstraint.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:SameAsConstraint"/> class.
+            </summary>
+            <param name="expected">The expected object.</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SameAsConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SameAsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.BinaryConstraint">
+            <summary>
+            BinaryConstraint is the abstract base of all constraints
+            that combine two other constraints in some fashion.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.BinaryConstraint.left">
+            <summary>
+            The first constraint being combined
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.BinaryConstraint.right">
+            <summary>
+            The second constraint being combined
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BinaryConstraint.#ctor(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Construct a BinaryConstraint from two other constraints
+            </summary>
+            <param name="left">The first constraint</param>
+            <param name="right">The second constraint</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AndConstraint">
+            <summary>
+            AndConstraint succeeds only if both members succeed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AndConstraint.#ctor(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Create an AndConstraint from two other constraints
+            </summary>
+            <param name="left">The first constraint</param>
+            <param name="right">The second constraint</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AndConstraint.Matches(System.Object)">
+            <summary>
+            Apply both member constraints to an actual value, succeeding 
+            succeeding only if both of them succeed.
+            </summary>
+            <param name="actual">The actual value</param>
+            <returns>True if the constraints both succeeded</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AndConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description for this contraint to a MessageWriter
+            </summary>
+            <param name="writer">The MessageWriter to receive the description</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AndConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. The default implementation simply writes
+            the raw value of actual, leaving it to the writer to
+            perform any formatting.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.OrConstraint">
+            <summary>
+            OrConstraint succeeds if either member succeeds
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.OrConstraint.#ctor(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Create an OrConstraint from two other constraints
+            </summary>
+            <param name="left">The first constraint</param>
+            <param name="right">The second constraint</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.OrConstraint.Matches(System.Object)">
+            <summary>
+            Apply the member constraints to an actual value, succeeding 
+            succeeding as soon as one of them succeeds.
+            </summary>
+            <param name="actual">The actual value</param>
+            <returns>True if either constraint succeeded</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.OrConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write a description for this contraint to a MessageWriter
+            </summary>
+            <param name="writer">The MessageWriter to receive the description</param>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ConstraintFactory">
+            <summary>
+            Helper class with properties and methods that supply
+            a number of constraints used in Asserts.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Property(System.String)">
+            <summary>
+            Returns a new PropertyConstraintExpression, which will either
+            test for the existence of the named property on the object
+            being tested or apply any following constraint to that property.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Attribute(System.Type)">
+            <summary>
+            Returns a new AttributeConstraint checking for the
+            presence of a particular attribute on an object.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Attribute``1">
+            <summary>
+            Returns a new AttributeConstraint checking for the
+            presence of a particular attribute on an object.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.EqualTo(System.Object)">
+            <summary>
+            Returns a constraint that tests two items for equality
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.SameAs(System.Object)">
+            <summary>
+            Returns a constraint that tests that two references are the same object
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.GreaterThan(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is greater than the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.GreaterThanOrEqualTo(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is greater than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AtLeast(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is greater than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.LessThan(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is less than the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.LessThanOrEqualTo(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is less than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AtMost(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is less than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.TypeOf(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual
+            value is of the exact type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.TypeOf``1">
+            <summary>
+            Returns a constraint that tests whether the actual
+            value is of the exact type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.InstanceOf(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.InstanceOf``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.InstanceOfType(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.InstanceOfType``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AssignableFrom(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AssignableFrom``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AssignableTo(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.AssignableTo``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.EquivalentTo(System.Collections.IEnumerable)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is a collection containing the same elements as the 
+            collection supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.SubsetOf(System.Collections.IEnumerable)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is a subset of the collection supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Member(System.Object)">
+            <summary>
+            Returns a new CollectionContainsConstraint checking for the
+            presence of a particular object in the collection.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Contains(System.Object)">
+            <summary>
+            Returns a new CollectionContainsConstraint checking for the
+            presence of a particular object in the collection.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Contains(System.String)">
+            <summary>
+            Returns a new ContainsConstraint. This constraint
+            will, in turn, make use of the appropriate second-level
+            constraint, depending on the type of the actual argument. 
+            This overload is only used if the item sought is a string,
+            since any other type implies that we are looking for a 
+            collection member.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.StringContaining(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value contains the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.ContainsSubstring(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value contains the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.DoesNotContain(System.String)">
+            <summary>
+            Returns a constraint that fails if the actual
+            value contains the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.StartsWith(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value starts with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.StringStarting(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value starts with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.DoesNotStartWith(System.String)">
+            <summary>
+            Returns a constraint that fails if the actual
+            value starts with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.EndsWith(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value ends with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.StringEnding(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value ends with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.DoesNotEndWith(System.String)">
+            <summary>
+            Returns a constraint that fails if the actual
+            value ends with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.Matches(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value matches the Regex pattern supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.StringMatching(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value matches the Regex pattern supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.DoesNotMatch(System.String)">
+            <summary>
+            Returns a constraint that fails if the actual
+            value matches the pattern supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.SamePath(System.String)">
+            <summary>
+            Returns a constraint that tests whether the path provided 
+            is the same as an expected path after canonicalization.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.SamePathOrUnder(System.String)">
+            <summary>
+            Returns a constraint that tests whether the path provided 
+            is the same path or under an expected path after canonicalization.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintFactory.InRange(System.IComparable,System.IComparable)">
+            <summary>
+            Returns a constraint that tests whether the actual value falls 
+            within a specified range.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Not">
+            <summary>
+            Returns a ConstraintExpression that negates any
+            following constraint.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.No">
+            <summary>
+            Returns a ConstraintExpression that negates any
+            following constraint.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.All">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them succeed.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Some">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if at least one of them succeeds.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.None">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them fail.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Length">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the Length property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Count">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the Count property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Message">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the Message property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.InnerException">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the InnerException property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Null">
+            <summary>
+            Returns a constraint that tests for null
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.True">
+            <summary>
+            Returns a constraint that tests for True
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.False">
+            <summary>
+            Returns a constraint that tests for False
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.NaN">
+            <summary>
+            Returns a constraint that tests for NaN
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Empty">
+            <summary>
+            Returns a constraint that tests for empty
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Unique">
+            <summary>
+            Returns a constraint that tests whether a collection 
+            contains all unique items.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.BinarySerializable">
+            <summary>
+            Returns a constraint that tests whether an object graph is serializable in binary format.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.XmlSerializable">
+            <summary>
+            Returns a constraint that tests whether an object graph is serializable in xml format.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintFactory.Ordered">
+            <summary>
+            Returns a constraint that tests whether a collection is ordered
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.DelayedConstraint">
+            <summary>
+             Applies a delay to the match so that a match can be evaluated in the future.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.Constraint,System.Int32)">
+            <summary>
+             Creates a new DelayedConstraint
+            </summary>
+            <param name="baseConstraint">The inner constraint two decorate</param>
+            <param name="delayInMilliseconds">The time interval after which the match is performed</param>
+            <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.Constraint,System.Int32,System.Int32)">
+            <summary>
+             Creates a new DelayedConstraint
+            </summary>
+            <param name="baseConstraint">The inner constraint two decorate</param>
+            <param name="delayInMilliseconds">The time interval after which the match is performed</param>
+            <param name="pollingInterval">The time interval used for polling</param>
+            <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.DelayedConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for if the base constraint fails, false if it succeeds</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.DelayedConstraint.Matches(NUnit.Framework.Constraints.ActualValueDelegate)">
+            <summary>
+            Test whether the constraint is satisfied by a delegate
+            </summary>
+            <param name="del">The delegate whose value is to be tested</param>
+            <returns>True for if the base constraint fails, false if it succeeds</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.DelayedConstraint.Matches``1(``0@)">
+            <summary>
+            Test whether the constraint is satisfied by a given reference.
+            Overridden to wait for the specified delay period before
+            calling the base constraint with the dereferenced value.
+            </summary>
+            <param name="actual">A reference to the value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a MessageWriter.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ToString">
+            <summary>
+            Returns the string representation of the constraint.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NUnitComparer">
+            <summary>
+            NUnitComparer encapsulates NUnit's default behavior
+            in comparing two objects.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NUnitComparer.Compare(System.Object,System.Object)">
+            <summary>
+            Compares two objects
+            </summary>
+            <param name="x"></param>
+            <param name="y"></param>
+            <returns></returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.NUnitComparer.Default">
+            <summary>
+            Returns the default NUnitComparer.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ActualValueDelegate">
+            <summary>
+            Delegate used to delay evaluation of the actual value
+            to be used in evaluating a constraint
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer">
+            <summary>
+            NUnitEqualityComparer encapsulates NUnit's handling of
+            equality tests between objects.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.caseInsensitive">
+            <summary>
+            If true, all string comparisons will ignore case
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.compareAsCollection">
+            <summary>
+            If true, arrays will be treated as collections, allowing
+            those of different dimensions to be compared
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.tolerance">
+            <summary>
+            If non-zero, equality comparisons within the specified 
+            tolerance will succeed.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.externalComparer">
+            <summary>
+            Comparison object used in comparisons for some constraints.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.ObjectsEqual(System.Object,System.Object)">
+            <summary>
+            Compares two objects for equality.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.ArraysEqual(System.Array,System.Array)">
+            <summary>
+            Helper method to compare two arrays
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.DirectoriesEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+            <summary>
+            Method to compare two DirectoryInfo objects
+            </summary>
+            <param name="x">first directory to compare</param>
+            <param name="y">second directory to compare</param>
+            <returns>true if equivalent, false if not</returns>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.Default">
+            <summary>
+            Returns the default NUnitEqualityComparer
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.IgnoreCase">
+            <summary>
+            Gets and sets a flag indicating whether case should
+            be ignored in determining equality.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.CompareAsCollection">
+            <summary>
+            Gets and sets a flag indicating that arrays should be
+            compared as collections, without regard to their shape.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.ExternalComparer">
+            <summary>
+            Gets and sets an external comparer to be used to
+            test for equality. It is applied to members of
+            collections, in place of NUnit's own logic.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.Tolerance">
+            <summary>
+            Gets and sets a tolerance used to compare objects of 
+            certin types.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoints">
+            <summary>
+            Gets the list of failure points for the last Match performed.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ComparisonAdapter">
+            <summary>
+            ComparisonAdapter class centralizes all comparisons of
+            values in NUnit, adapting to the use of any provided
+            IComparer, IComparer&lt;T&gt; or Comparison&lt;T&gt;
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For(System.Collections.IComparer)">
+            <summary>
+            Returns a ComparisonAdapter that wraps an IComparer
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Collections.Generic.IComparer{``0})">
+            <summary>
+            Returns a ComparisonAdapter that wraps an IComparer&lt;T&gt;
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Comparison{``0})">
+            <summary>
+            Returns a ComparisonAdapter that wraps a Comparison&lt;T&gt;
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.Compare(System.Object,System.Object)">
+            <summary>
+            Compares two objects
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ComparisonAdapter.Default">
+            <summary>
+            Gets the default ComparisonAdapter, which wraps an
+            NUnitComparer object.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.#ctor(System.Collections.IComparer)">
+            <summary>
+            Construct a ComparisonAdapter for an IComparer
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.Compare(System.Object,System.Object)">
+            <summary>
+            Compares two objects
+            </summary>
+            <param name="expected"></param>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.DefaultComparisonAdapter.#ctor">
+            <summary>
+            Construct a default ComparisonAdapter
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1">
+            <summary>
+            ComparisonAdapter&lt;T&gt; extends ComparisonAdapter and
+            allows use of an IComparer&lt;T&gt; or Comparison&lt;T&gt;
+            to actually perform the comparison.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.#ctor(System.Collections.Generic.IComparer{`0})">
+            <summary>
+            Construct a ComparisonAdapter for an IComparer&lt;T&gt;
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.Compare(System.Object,System.Object)">
+            <summary>
+            Compare a Type T to an object
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.#ctor(System.Comparison{`0})">
+            <summary>
+            Construct a ComparisonAdapter for a Comparison&lt;T&gt;
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.Compare(System.Object,System.Object)">
+            <summary>
+            Compare a Type T to an object
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ConstraintOperator">
+            <summary>
+            The ConstraintOperator class is used internally by a
+            ConstraintBuilder to represent an operator that 
+            modifies or combines constraints. 
+            
+            Constraint operators use left and right precedence
+            values to determine whether the top operator on the
+            stack should be reduced before pushing a new operator.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ConstraintOperator.left_precedence">
+            <summary>
+            The precedence value used when the operator
+            is about to be pushed to the stack.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.ConstraintOperator.right_precedence">
+            <summary>
+            The precedence value used when the operator
+            is on the top of the stack.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ConstraintOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+            <summary>
+            Reduce produces a constraint from the operator and 
+            any arguments. It takes the arguments from the constraint 
+            stack and pushes the resulting constraint on it.
+            </summary>
+            <param name="stack"></param>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftContext">
+            <summary>
+            The syntax element preceding this operator
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightContext">
+            <summary>
+            The syntax element folowing this operator
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftPrecedence">
+            <summary>
+            The precedence value used when the operator
+            is about to be pushed to the stack.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightPrecedence">
+            <summary>
+            The precedence value used when the operator
+            is on the top of the stack.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.PrefixOperator">
+            <summary>
+            PrefixOperator takes a single constraint and modifies
+            it's action in some way.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PrefixOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+            <summary>
+            Reduce produces a constraint from the operator and 
+            any arguments. It takes the arguments from the constraint 
+            stack and pushes the resulting constraint on it.
+            </summary>
+            <param name="stack"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PrefixOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Returns the constraint created by applying this
+            prefix to another constraint.
+            </summary>
+            <param name="constraint"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NotOperator">
+            <summary>
+            Negates the test of the constraint it wraps.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NotOperator.#ctor">
+            <summary>
+            Constructs a new NotOperator
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NotOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Returns a NotConstraint applied to its argument.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.CollectionOperator">
+            <summary>
+            Abstract base for operators that indicate how to
+            apply a constraint to items in a collection.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.CollectionOperator.#ctor">
+            <summary>
+            Constructs a CollectionOperator
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AllOperator">
+            <summary>
+            Represents a constraint that succeeds if all the 
+            members of a collection match a base constraint.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AllOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Returns a constraint that will apply the argument
+            to the members of a collection, succeeding if
+            they all succeed.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SomeOperator">
+            <summary>
+            Represents a constraint that succeeds if any of the 
+            members of a collection match a base constraint.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.SomeOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Returns a constraint that will apply the argument
+            to the members of a collection, succeeding if
+            any of them succeed.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.NoneOperator">
+            <summary>
+            Represents a constraint that succeeds if none of the 
+            members of a collection match a base constraint.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.NoneOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Returns a constraint that will apply the argument
+            to the members of a collection, succeeding if
+            none of them succeed.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.WithOperator">
+            <summary>
+            Represents a constraint that simply wraps the
+            constraint provided as an argument, without any
+            further functionality, but which modifes the
+            order of evaluation because of its precedence.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.WithOperator.#ctor">
+            <summary>
+            Constructor for the WithOperator
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.WithOperator.ApplyPrefix(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Returns a constraint that wraps its argument
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.SelfResolvingOperator">
+            <summary>
+            Abstract base class for operators that are able to reduce to a 
+            constraint whether or not another syntactic element follows.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.PropOperator">
+            <summary>
+            Operator used to test for the presence of a named Property
+            on an object and optionally apply further tests to the
+            value of that property.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropOperator.#ctor(System.String)">
+            <summary>
+            Constructs a PropOperator for a particular named property
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PropOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+            <summary>
+            Reduce produces a constraint from the operator and 
+            any arguments. It takes the arguments from the constraint 
+            stack and pushes the resulting constraint on it.
+            </summary>
+            <param name="stack"></param>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.PropOperator.Name">
+            <summary>
+            Gets the name of the property to which the operator applies
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AttributeOperator">
+            <summary>
+            Operator that tests for the presence of a particular attribute
+            on a type and optionally applies further tests to the attribute.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AttributeOperator.#ctor(System.Type)">
+            <summary>
+            Construct an AttributeOperator for a particular Type
+            </summary>
+            <param name="type">The Type of attribute tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AttributeOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+            <summary>
+            Reduce produces a constraint from the operator and 
+            any arguments. It takes the arguments from the constraint 
+            stack and pushes the resulting constraint on it.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ThrowsOperator">
+            <summary>
+            Operator that tests that an exception is thrown and
+            optionally applies further tests to the exception.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsOperator.#ctor">
+            <summary>
+            Construct a ThrowsOperator
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ThrowsOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+            <summary>
+            Reduce produces a constraint from the operator and 
+            any arguments. It takes the arguments from the constraint 
+            stack and pushes the resulting constraint on it.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.BinaryOperator">
+            <summary>
+            Abstract base class for all binary operators
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BinaryOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)">
+            <summary>
+            Reduce produces a constraint from the operator and 
+            any arguments. It takes the arguments from the constraint 
+            stack and pushes the resulting constraint on it.
+            </summary>
+            <param name="stack"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BinaryOperator.ApplyOperator(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Abstract method that produces a constraint by applying
+            the operator to its left and right constraint arguments.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.BinaryOperator.LeftPrecedence">
+            <summary>
+            Gets the left precedence of the operator
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.BinaryOperator.RightPrecedence">
+            <summary>
+            Gets the right precedence of the operator
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AndOperator">
+            <summary>
+            Operator that requires both it's arguments to succeed
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AndOperator.#ctor">
+            <summary>
+            Construct an AndOperator
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AndOperator.ApplyOperator(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Apply the operator to produce an AndConstraint
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.OrOperator">
+            <summary>
+            Operator that requires at least one of it's arguments to succeed
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.OrOperator.#ctor">
+            <summary>
+            Construct an OrOperator
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.OrOperator.ApplyOperator(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Apply the operator to produce an OrConstraint
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.BinarySerializableConstraint">
+            <summary>
+            BinarySerializableConstraint tests whether 
+            an object is serializable in binary format.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. The default implementation simply writes
+            the raw value of actual, leaving it to the writer to
+            perform any formatting.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.ToString">
+            <summary>
+            Returns the string representation
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.XmlSerializableConstraint">
+            <summary>
+            BinarySerializableConstraint tests whether 
+            an object is serializable in binary format.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.Matches(System.Object)">
+            <summary>
+            Test whether the constraint is satisfied by a given value
+            </summary>
+            <param name="actual">The value to be tested</param>
+            <returns>True for success, false for failure</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the constraint description to a MessageWriter
+            </summary>
+            <param name="writer">The writer on which the description is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Write the actual value for a failing constraint test to a
+            MessageWriter. The default implementation simply writes
+            the raw value of actual, leaving it to the writer to
+            perform any formatting.
+            </summary>
+            <param name="writer">The writer on which the actual value is displayed</param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.ToString">
+            <summary>
+            Returns the string representation of this constraint
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.ResolvableConstraintExpression">
+            <summary>
+            ResolvableConstraintExpression is used to represent a compound
+            constraint being constructed at a point where the last operator
+            may either terminate the expression or may have additional 
+            qualifying constraints added to it. 
+            
+            It is used, for example, for a Property element or for
+            an Exception element, either of which may be optionally
+            followed by constraints that apply to the property or 
+            exception.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor">
+            <summary>
+            Create a new instance of ResolvableConstraintExpression
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)">
+            <summary>
+            Create a new instance of ResolvableConstraintExpression,
+            passing in a pre-populated ConstraintBuilder.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.NUnit#Framework#Constraints#IResolveConstraint#Resolve">
+            <summary>
+            Resolve the current expression to a Constraint
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.And">
+            <summary>
+            Appends an And Operator to the expression
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.Or">
+            <summary>
+            Appends an Or operator to the expression.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.EqualityAdapter">
+            <summary>
+            EqualityAdapter class handles all equality comparisons
+            that use an IEqualityComparer, IEqualityComparer&lt;T&gt;
+            or a ComparisonAdapter.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualityAdapter.ObjectsEqual(System.Object,System.Object)">
+            <summary>
+            Compares two objects, returning true if they are equal
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IComparer)">
+            <summary>
+            Returns an EqualityAdapter that wraps an IComparer.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IEqualityComparer)">
+            <summary>
+            Returns an EqualityAdapter that wraps an IEqualityComparer.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IEqualityComparer{``0})">
+            <summary>
+            Returns an EqualityAdapter that wraps an IEqualityComparer&lt;T&gt;.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IComparer{``0})">
+            <summary>
+            Returns an EqualityAdapter that wraps an IComparer&lt;T&gt;.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Comparison{``0})">
+            <summary>
+            Returns an EqualityAdapter that wraps a Comparison&lt;T&gt;.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AttributeExistsConstraint">
+            <summary>
+            AttributeExistsConstraint tests for the presence of a
+            specified attribute on  a Type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.#ctor(System.Type)">
+            <summary>
+            Constructs an AttributeExistsConstraint for a specific attribute Type
+            </summary>
+            <param name="type"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.Matches(System.Object)">
+            <summary>
+            Tests whether the object provides the expected attribute.
+            </summary>
+            <param name="actual">A Type, MethodInfo, or other ICustomAttributeProvider</param>
+            <returns>True if the expected attribute is present, otherwise false</returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Writes the description of the constraint to the specified writer
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.AttributeConstraint">
+            <summary>
+            AttributeConstraint tests that a specified attribute is present
+            on a Type or other provider and that the value of the attribute
+            satisfies some other constraint.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AttributeConstraint.#ctor(System.Type,NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Constructs an AttributeConstraint for a specified attriute
+            Type and base constraint.
+            </summary>
+            <param name="type"></param>
+            <param name="baseConstraint"></param>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AttributeConstraint.Matches(System.Object)">
+            <summary>
+            Determines whether the Type or other provider has the 
+            expected attribute and if its value matches the
+            additional constraint specified.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AttributeConstraint.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Writes a description of the attribute to the specified writer.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AttributeConstraint.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Writes the actual value supplied to the specified writer.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.AttributeConstraint.ToString">
+            <summary>
+            Returns a string representation of the constraint.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics">
+            <summary>Helper routines for working with floating point numbers</summary>
+            <remarks>
+              <para>
+                The floating point comparison code is based on this excellent article:
+                http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
+              </para>
+              <para>
+                "ULP" means Unit in the Last Place and in the context of this library refers to
+                the distance between two adjacent floating point numbers. IEEE floating point
+                numbers can only represent a finite subset of natural numbers, with greater
+                accuracy for smaller numbers and lower accuracy for very large numbers.
+              </para>
+              <para>
+                If a comparison is allowed "2 ulps" of deviation, that means the values are
+                allowed to deviate by up to 2 adjacent floating point values, which might be
+                as low as 0.0000001 for small numbers or as high as 10.0 for large numbers.
+              </para>
+            </remarks>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Single,System.Single,System.Int32)">
+            <summary>Compares two floating point values for equality</summary>
+            <param name="left">First floating point value to be compared</param>
+            <param name="right">Second floating point value t be compared</param>
+            <param name="maxUlps">
+              Maximum number of representable floating point values that are allowed to
+              be between the left and the right floating point values
+            </param>
+            <returns>True if both numbers are equal or close to being equal</returns>
+            <remarks>
+              <para>
+                Floating point values can only represent a finite subset of natural numbers.
+                For example, the values 2.00000000 and 2.00000024 can be stored in a float,
+                but nothing inbetween them.
+              </para>
+              <para>
+                This comparison will count how many possible floating point values are between
+                the left and the right number. If the number of possible values between both
+                numbers is less than or equal to maxUlps, then the numbers are considered as
+                being equal.
+              </para>
+              <para>
+                Implementation partially follows the code outlined here:
+                http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/
+              </para>
+            </remarks>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Double,System.Double,System.Int64)">
+            <summary>Compares two double precision floating point values for equality</summary>
+            <param name="left">First double precision floating point value to be compared</param>
+            <param name="right">Second double precision floating point value t be compared</param>
+            <param name="maxUlps">
+              Maximum number of representable double precision floating point values that are
+              allowed to be between the left and the right double precision floating point values
+            </param>
+            <returns>True if both numbers are equal or close to being equal</returns>
+            <remarks>
+              <para>
+                Double precision floating point values can only represent a limited series of
+                natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004
+                can be stored in a double, but nothing inbetween them.
+              </para>
+              <para>
+                This comparison will count how many possible double precision floating point
+                values are between the left and the right number. If the number of possible
+                values between both numbers is less than or equal to maxUlps, then the numbers
+                are considered as being equal.
+              </para>
+              <para>
+                Implementation partially follows the code outlined here:
+                http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/
+              </para>
+            </remarks>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.ReinterpretAsInt(System.Single)">
+            <summary>
+              Reinterprets the memory contents of a floating point value as an integer value
+            </summary>
+            <param name="value">
+              Floating point value whose memory contents to reinterpret
+            </param>
+            <returns>
+              The memory contents of the floating point value interpreted as an integer
+            </returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.ReinterpretAsLong(System.Double)">
+            <summary>
+              Reinterprets the memory contents of a double precision floating point
+              value as an integer value
+            </summary>
+            <param name="value">
+              Double precision floating point value whose memory contents to reinterpret
+            </param>
+            <returns>
+              The memory contents of the double precision floating point value
+              interpreted as an integer
+            </returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.ReinterpretAsFloat(System.Int32)">
+            <summary>
+              Reinterprets the memory contents of an integer as a floating point value
+            </summary>
+            <param name="value">Integer value whose memory contents to reinterpret</param>
+            <returns>
+              The memory contents of the integer value interpreted as a floating point value
+            </returns>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.ReinterpretAsDouble(System.Int64)">
+            <summary>
+              Reinterprets the memory contents of an integer value as a double precision
+              floating point value
+            </summary>
+            <param name="value">Integer whose memory contents to reinterpret</param>
+            <returns>
+              The memory contents of the integer interpreted as a double precision
+              floating point value
+            </returns>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion">
+            <summary>Union of a floating point variable and an integer</summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Float">
+            <summary>The union's value as a floating point variable</summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Int">
+            <summary>The union's value as an integer</summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.UInt">
+            <summary>The union's value as an unsigned integer</summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion">
+            <summary>Union of a double precision floating point variable and a long</summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Double">
+            <summary>The union's value as a double precision floating point variable</summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Long">
+            <summary>The union's value as a long</summary>
+        </member>
+        <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.ULong">
+            <summary>The union's value as an unsigned long</summary>
+        </member>
+        <member name="T:NUnit.Framework.Constraints.PredicateConstraint`1">
+            <summary>
+            Predicate constraint wraps a Predicate in a constraint,
+            returning success if the predicate is true.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.#ctor(System.Predicate{`0})">
+            <summary>
+            Construct a PredicateConstraint from a predicate
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.Matches(System.Object)">
+            <summary>
+            Determines whether the predicate succeeds when applied
+            to the actual value.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.WriteDescriptionTo(NUnit.Framework.Constraints.MessageWriter)">
+            <summary>
+            Writes the description to a MessageWriter
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestCaseData">
+            <summary>
+            The TestCaseData class represents a set of arguments
+            and other parameter info to be used for a parameterized
+            test case. It provides a number of instance modifiers
+            for use in initializing the test case.
+            
+            Note: Instance modifiers are getters that return
+            the same instance after modifying it's state.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.ITestCaseData">
+            <summary>
+            The ITestCaseData interface is implemented by a class
+            that is able to return complete testcases for use by
+            a parameterized test method.
+            
+            NOTE: This interface is used in both the framework
+            and the core, even though that results in two different
+            types. However, sharing the source code guarantees that
+            the various implementations will be compatible and that
+            the core is able to reflect successfully over the
+            framework implementations of ITestCaseData.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ITestCaseData.Arguments">
+            <summary>
+            Gets the argument list to be provided to the test
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ITestCaseData.Result">
+            <summary>
+            Gets the expected result
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ITestCaseData.ExpectedException">
+            <summary>
+             Gets the expected exception Type
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ITestCaseData.ExpectedExceptionName">
+            <summary>
+            Gets the FullName of the expected exception
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ITestCaseData.TestName">
+            <summary>
+            Gets the name to be used for the test
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ITestCaseData.Description">
+            <summary>
+            Gets the description of the test
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ITestCaseData.Ignored">
+            <summary>
+            Gets a value indicating whether this <see cref="T:NUnit.Framework.ITestCaseData"/> is ignored.
+            </summary>
+            <value><c>true</c> if ignored; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:NUnit.Framework.ITestCaseData.IgnoreReason">
+            <summary>
+            Gets the ignore reason.
+            </summary>
+            <value>The ignore reason.</value>
+        </member>
+        <member name="F:NUnit.Framework.TestCaseData.arguments">
+            <summary>
+            The argument list to be provided to the test
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TestCaseData.result">
+            <summary>
+            The expected result to be returned
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TestCaseData.expectedExceptionType">
+            <summary>
+             The expected exception Type
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TestCaseData.expectedExceptionName">
+            <summary>
+            The FullName of the expected exception
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TestCaseData.testName">
+            <summary>
+            The name to be used for the test
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TestCaseData.description">
+            <summary>
+            The description of the test
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TestCaseData.properties">
+            <summary>
+            A dictionary of properties, used to add information
+            to tests without requiring the class to change.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TestCaseData.isIgnored">
+            <summary>
+            If true, indicates that the test case is to be ignored
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TestCaseData.ignoreReason">
+            <summary>
+            The reason for ignoring a test case
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:TestCaseData"/> class.
+            </summary>
+            <param name="args">The arguments.</param>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:TestCaseData"/> class.
+            </summary>
+            <param name="arg">The argument.</param>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:TestCaseData"/> class.
+            </summary>
+            <param name="arg1">The first argument.</param>
+            <param name="arg2">The second argument.</param>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object,System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:TestCaseData"/> class.
+            </summary>
+            <param name="arg1">The first argument.</param>
+            <param name="arg2">The second argument.</param>
+            <param name="arg3">The third argument.</param>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.Returns(System.Object)">
+            <summary>
+            Sets the expected result for the test
+            </summary>
+            <param name="result">The expected result</param>
+            <returns>A modified TestCaseData</returns>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.Throws(System.Type)">
+            <summary>
+            Sets the expected exception type for the test
+            </summary>
+            <param name="exceptionType">Type of the expected exception.</param>
+            <returns>The modified TestCaseData instance</returns>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.Throws(System.String)">
+            <summary>
+            Sets the expected exception type for the test
+            </summary>
+            <param name="exceptionName">FullName of the expected exception.</param>
+            <returns>The modified TestCaseData instance</returns>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.SetName(System.String)">
+            <summary>
+            Sets the name of the test case
+            </summary>
+            <returns>The modified TestCaseData instance</returns>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.SetDescription(System.String)">
+            <summary>
+            Sets the description for the test case
+            being constructed.
+            </summary>
+            <param name="description">The description.</param>
+            <returns>The modified TestCaseData instance.</returns>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.SetCategory(System.String)">
+            <summary>
+            Applies a category to the test
+            </summary>
+            <param name="category"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.String)">
+            <summary>
+            Applies a named property to the test
+            </summary>
+            <param name="propName"></param>
+            <param name="propValue"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Int32)">
+            <summary>
+            Applies a named property to the test
+            </summary>
+            <param name="propName"></param>
+            <param name="propValue"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Double)">
+            <summary>
+            Applies a named property to the test
+            </summary>
+            <param name="propName"></param>
+            <param name="propValue"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.Ignore">
+            <summary>
+            Ignores this TestCase.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseData.Ignore(System.String)">
+            <summary>
+            Ignores this TestCase, specifying the reason.
+            </summary>
+            <param name="reason">The reason.</param>
+            <returns></returns>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseData.Arguments">
+            <summary>
+            Gets the argument list to be provided to the test
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseData.Result">
+            <summary>
+            Gets the expected result
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseData.ExpectedException">
+            <summary>
+             Gets the expected exception Type
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseData.ExpectedExceptionName">
+            <summary>
+            Gets the FullName of the expected exception
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseData.TestName">
+            <summary>
+            Gets the name to be used for the test
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseData.Description">
+            <summary>
+            Gets the description of the test
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseData.Ignored">
+            <summary>
+            Gets a value indicating whether this <see cref="T:NUnit.Framework.ITestCaseData"/> is ignored.
+            </summary>
+            <value><c>true</c> if ignored; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseData.IgnoreReason">
+            <summary>
+            Gets the ignore reason.
+            </summary>
+            <value>The ignore reason.</value>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseData.Categories">
+            <summary>
+            Gets a list of categories associated with this test.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseData.Properties">
+            <summary>
+            Gets the property dictionary for this test
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestCaseSourceAttribute">
+            <summary>
+            FactoryAttribute indicates the source to be used to
+            provide test cases for a test method.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String)">
+            <summary>
+            Construct with the name of the factory - for use with languages
+            that don't support params arrays.
+            </summary>
+            <param name="sourceName">An array of the names of the factories that will provide data</param>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String)">
+            <summary>
+            Construct with a Type and name - for use with languages
+            that don't support params arrays.
+            </summary>
+            <param name="sourceType">The Type that will provide data</param>
+            <param name="sourceName">The name of the method, property or field that will provide data</param>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceName">
+            <summary>
+            The name of a the method, property or fiend to be used as a source
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceType">
+            <summary>
+            A Type to be used as a source
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Has">
+            <summary>
+            Helper class with properties and methods that supply
+            a number of constraints used in Asserts.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Has.Property(System.String)">
+            <summary>
+            Returns a new PropertyConstraintExpression, which will either
+            test for the existence of the named property on the object
+            being tested or apply any following constraint to that property.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Has.Attribute(System.Type)">
+            <summary>
+            Returns a new AttributeConstraint checking for the
+            presence of a particular attribute on an object.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Has.Attribute``1">
+            <summary>
+            Returns a new AttributeConstraint checking for the
+            presence of a particular attribute on an object.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Has.Member(System.Object)">
+            <summary>
+            Returns a new CollectionContainsConstraint checking for the
+            presence of a particular object in the collection.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Has.No">
+            <summary>
+            Returns a ConstraintExpression that negates any
+            following constraint.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Has.All">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them succeed.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Has.Some">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if at least one of them succeeds.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Has.None">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them fail.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Has.Length">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the Length property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Has.Count">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the Count property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Has.Message">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the Message property of the object being tested.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Has.InnerException">
+            <summary>
+            Returns a new ConstraintExpression, which will apply the following
+            constraint to the InnerException property of the object being tested.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.List">
+            <summary>
+            The List class is a helper class with properties and methods
+            that supply a number of constraints used with lists and collections.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.List.Map(System.Collections.ICollection)">
+            <summary>
+            List.Map returns a ListMapper, which can be used to map
+            the original collection to another collection.
+            </summary>
+            <param name="actual"></param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.MessageMatch">
+            <summary>
+            Enumeration indicating how the expected message parameter is to be used
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.MessageMatch.Exact">
+            Expect an exact match
+        </member>
+        <member name="F:NUnit.Framework.MessageMatch.Contains">
+            Expect a message containing the parameter string
+        </member>
+        <member name="F:NUnit.Framework.MessageMatch.Regex">
+            Match the regular expression provided as a parameter
+        </member>
+        <member name="F:NUnit.Framework.MessageMatch.StartsWith">
+            Expect a message that starts with the parameter string
+        </member>
+        <member name="T:NUnit.Framework.ExpectedExceptionAttribute">
+            <summary>
+            ExpectedExceptionAttribute
+            </summary>
+            
+        </member>
+        <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor">
+            <summary>
+            Constructor for a non-specific exception
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor(System.Type)">
+            <summary>
+            Constructor for a given type of exception
+            </summary>
+            <param name="exceptionType">The type of the expected exception</param>
+        </member>
+        <member name="M:NUnit.Framework.ExpectedExceptionAttribute.#ctor(System.String)">
+            <summary>
+            Constructor for a given exception name
+            </summary>
+            <param name="exceptionName">The full name of the expected exception</param>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.ExpectedException">
+            <summary>
+            Gets or sets the expected exception type
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.ExpectedExceptionName">
+            <summary>
+            Gets or sets the full Type name of the expected exception
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.ExpectedMessage">
+            <summary>
+            Gets or sets the expected message text
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.UserMessage">
+            <summary>
+            Gets or sets the user message displayed in case of failure
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.MatchType">
+            <summary>
+             Gets or sets the type of match to be performed on the expected message
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ExpectedExceptionAttribute.Handler">
+            <summary>
+             Gets the name of a method to be used as an exception handler
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestCaseAttribute">
+            <summary>
+            TestCaseAttribute is used to mark parameterized test cases
+            and provide them with their arguments.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object[])">
+            <summary>
+            Construct a TestCaseAttribute with a list of arguments.
+            This constructor is not CLS-Compliant
+            </summary>
+            <param name="arguments"></param>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object)">
+            <summary>
+            Construct a TestCaseAttribute with a single argument
+            </summary>
+            <param name="arg"></param>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object)">
+            <summary>
+            Construct a TestCaseAttribute with a two arguments
+            </summary>
+            <param name="arg1"></param>
+            <param name="arg2"></param>
+        </member>
+        <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object,System.Object)">
+            <summary>
+            Construct a TestCaseAttribute with a three arguments
+            </summary>
+            <param name="arg1"></param>
+            <param name="arg2"></param>
+            <param name="arg3"></param>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.Arguments">
+            <summary>
+            Gets the list of arguments to a test case
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.Result">
+            <summary>
+            Gets or sets the expected result.
+            </summary>
+            <value>The result.</value>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedException">
+            <summary>
+            Gets or sets the expected exception.
+            </summary>
+            <value>The expected exception.</value>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedExceptionName">
+            <summary>
+            Gets or sets the name the expected exception.
+            </summary>
+            <value>The expected name of the exception.</value>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedMessage">
+            <summary>
+            Gets or sets the expected message of the expected exception
+            </summary>
+            <value>The expected message of the exception.</value>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.MatchType">
+            <summary>
+             Gets or sets the type of match to be performed on the expected message
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.Description">
+            <summary>
+            Gets or sets the description.
+            </summary>
+            <value>The description.</value>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.TestName">
+            <summary>
+            Gets or sets the name of the test.
+            </summary>
+            <value>The name of the test.</value>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.Ignore">
+            <summary>
+            Gets or sets the ignored status of the test
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.Ignored">
+            <summary>
+            Gets or sets the ignored status of the test
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestCaseAttribute.IgnoreReason">
+            <summary>
+            Gets the ignore reason.
+            </summary>
+            <value>The ignore reason.</value>
+        </member>
+        <member name="T:NUnit.Framework.SuccessException">
+            <summary>
+            Thrown when an assertion failed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SuccessException.#ctor(System.String)">
+            <param name="message"></param>
+        </member>
+        <member name="M:NUnit.Framework.SuccessException.#ctor(System.String,System.Exception)">
+            <param name="message">The error message that explains 
+            the reason for the exception</param>
+            <param name="inner">The exception that caused the 
+            current exception</param>
+        </member>
+        <member name="M:NUnit.Framework.SuccessException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Serialization Constructor
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.InconclusiveException">
+            <summary>
+            Thrown when a test executes inconclusively.
+            </summary>
+            
+        </member>
+        <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String)">
+            <param name="message">The error message that explains 
+            the reason for the exception</param>
+        </member>
+        <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String,System.Exception)">
+            <param name="message">The error message that explains 
+            the reason for the exception</param>
+            <param name="inner">The exception that caused the 
+            current exception</param>
+        </member>
+        <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Serialization Constructor
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestDelegate">
+            <summary>
+            Delegate used by tests that execute code and
+            capture any thrown exception.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Assert">
+            <summary>
+            The Assert class contains a collection of static methods that
+            implement the most common assertions used in NUnit.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assert.#ctor">
+            <summary>
+            We don't actually want any instances of this object, but some people
+            like to inherit from it to add other static methods. Hence, the
+            protected constructor disallows any instances of this object. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Equals(System.Object,System.Object)">
+            <summary>
+            The Equals method throws an AssertionException. This is done 
+            to make sure there is no mistake by calling this function.
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            override the default ReferenceEquals to throw an AssertionException. This 
+            implementation makes sure there is no mistake in calling this function 
+            as part of Assert. 
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AssertDoublesAreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Helper for Assert.AreEqual(double expected, double actual, ...)
+            allowing code generation to work consistently.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Pass(System.String,System.Object[])">
+            <summary>
+            Throws a <see cref="T:NUnit.Framework.SuccessException"/> with the message and arguments 
+            that are passed in. This allows a test to be cut short, with a result
+            of success returned to NUnit.
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Pass(System.String)">
+            <summary>
+            Throws a <see cref="T:NUnit.Framework.SuccessException"/> with the message and arguments 
+            that are passed in. This allows a test to be cut short, with a result
+            of success returned to NUnit.
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Pass">
+            <summary>
+            Throws a <see cref="T:NUnit.Framework.SuccessException"/> with the message and arguments 
+            that are passed in. This allows a test to be cut short, with a result
+            of success returned to NUnit.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Fail(System.String,System.Object[])">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.AssertionException"/> with the message and arguments 
+            that are passed in. This is used by the other Assert functions. 
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Fail(System.String)">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.AssertionException"/> with the message that is 
+            passed in. This is used by the other Assert functions. 
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Fail">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.AssertionException"/>. 
+            This is used by the other Assert functions. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Ignore(System.String,System.Object[])">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message and arguments 
+            that are passed in.  This causes the test to be reported as ignored.
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Ignore(System.String)">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message that is 
+            passed in. This causes the test to be reported as ignored. 
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Ignore">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.IgnoreException"/>. 
+            This causes the test to be reported as ignored. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Inconclusive(System.String,System.Object[])">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message and arguments 
+            that are passed in.  This causes the test to be reported as inconclusive.
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Inconclusive(System.String)">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message that is 
+            passed in. This causes the test to be reported as inconclusive. 
+            </summary>
+            <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Inconclusive">
+            <summary>
+            Throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. 
+            This causes the test to be reported as Inconclusive. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expression">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expression">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expression">A Constraint expression to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expr">A Constraint expression to be applied</param>
+            <param name="del">An ActualValueDelegate returning the value to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expr">A Constraint expression to be applied</param>
+            <param name="del">An ActualValueDelegate returning the value to be tested</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="del">An ActualValueDelegate returning the value to be tested</param>
+            <param name="expr">A Constraint expression to be applied</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Apply a constraint to a referenced value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expression">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+            <summary>
+            Apply a constraint to a referenced value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expression">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to a referenced value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expression">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(System.Boolean)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Asserts that the code represented by a delegate throws an exception
+            that satisfies the constraint provided.
+            </summary>
+            <param name="code">A TestDelegate to be executed</param>
+            <param name="constraint">A ThrowsConstraint used in the test</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate,System.String,System.Object[])">
+            <summary>
+            Verifies that a delegate throws a particular exception when called.
+            </summary>
+            <param name="expression">A constraint to be satisfied by the exception</param>
+            <param name="code">A TestSnippet delegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate,System.String)">
+            <summary>
+            Verifies that a delegate throws a particular exception when called.
+            </summary>
+            <param name="expression">A constraint to be satisfied by the exception</param>
+            <param name="code">A TestSnippet delegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate)">
+            <summary>
+            Verifies that a delegate throws a particular exception when called.
+            </summary>
+            <param name="expression">A constraint to be satisfied by the exception</param>
+            <param name="code">A TestSnippet delegate</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])">
+            <summary>
+            Verifies that a delegate throws a particular exception when called.
+            </summary>
+            <param name="expectedExceptionType">The exception Type expected</param>
+            <param name="code">A TestSnippet delegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate,System.String)">
+            <summary>
+            Verifies that a delegate throws a particular exception when called.
+            </summary>
+            <param name="expectedExceptionType">The exception Type expected</param>
+            <param name="code">A TestSnippet delegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate)">
+            <summary>
+            Verifies that a delegate throws a particular exception when called.
+            </summary>
+            <param name="expectedExceptionType">The exception Type expected</param>
+            <param name="code">A TestSnippet delegate</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate,System.String,System.Object[])">
+            <summary>
+            Verifies that a delegate throws a particular exception when called.
+            </summary>
+            <typeparam name="T">Type of the expected exception</typeparam>
+            <param name="code">A TestSnippet delegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate,System.String)">
+            <summary>
+            Verifies that a delegate throws a particular exception when called.
+            </summary>
+            <typeparam name="T">Type of the expected exception</typeparam>
+            <param name="code">A TestSnippet delegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate)">
+            <summary>
+            Verifies that a delegate throws a particular exception when called.
+            </summary>
+            <typeparam name="T">Type of the expected exception</typeparam>
+            <param name="code">A TestSnippet delegate</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate,System.String,System.Object[])">
+            <summary>
+            Verifies that a delegate throws an exception when called
+            and returns it.
+            </summary>
+            <param name="code">A TestDelegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate,System.String)">
+            <summary>
+            Verifies that a delegate throws an exception when called
+            and returns it.
+            </summary>
+            <param name="code">A TestDelegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate)">
+            <summary>
+            Verifies that a delegate throws an exception when called
+            and returns it.
+            </summary>
+            <param name="code">A TestDelegate</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])">
+            <summary>
+            Verifies that a delegate throws an exception of a certain Type
+            or one derived from it when called and returns it.
+            </summary>
+            <param name="expectedExceptionType">The expected Exception Type</param>
+            <param name="code">A TestDelegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate,System.String)">
+            <summary>
+            Verifies that a delegate throws an exception of a certain Type
+            or one derived from it when called and returns it.
+            </summary>
+            <param name="expectedExceptionType">The expected Exception Type</param>
+            <param name="code">A TestDelegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate)">
+            <summary>
+            Verifies that a delegate throws an exception of a certain Type
+            or one derived from it when called and returns it.
+            </summary>
+            <param name="expectedExceptionType">The expected Exception Type</param>
+            <param name="code">A TestDelegate</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate,System.String,System.Object[])">
+            <summary>
+            Verifies that a delegate throws an exception of a certain Type
+            or one derived from it when called and returns it.
+            </summary>
+            <typeparam name="T">The expected Exception Type</typeparam>
+            <param name="code">A TestDelegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate,System.String)">
+            <summary>
+            Verifies that a delegate throws an exception of a certain Type
+            or one derived from it when called and returns it.
+            </summary>
+            <typeparam name="T">The expected Exception Type</typeparam>
+            <param name="code">A TestDelegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate)">
+            <summary>
+            Verifies that a delegate throws an exception of a certain Type
+            or one derived from it when called and returns it.
+            </summary>
+            <typeparam name="T">The expected Exception Type</typeparam>
+            <param name="code">A TestDelegate</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate,System.String,System.Object[])">
+            <summary>
+            Verifies that a delegate does not throw an exception
+            </summary>
+            <param name="code">A TestSnippet delegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate,System.String)">
+            <summary>
+            Verifies that a delegate does not throw an exception.
+            </summary>
+            <param name="code">A TestSnippet delegate</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate)">
+            <summary>
+            Verifies that a delegate does not throw an exception.
+            </summary>
+            <param name="code">A TestSnippet delegate</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.True(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.True(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.True(System.Boolean)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.False(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is false. If the condition is true the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.False(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is false. If the condition is true the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.False(System.Boolean)">
+            <summary>
+            Asserts that a condition is false. If the condition is true the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is false. If the condition is true the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is false. If the condition is true the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean)">
+            <summary>
+            Asserts that a condition is false. If the condition is true the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.NotNull(System.Object,System.String,System.Object[])">
+            <summary>
+            Verifies that the object that is passed in is not equal to <code>null</code>
+            If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.NotNull(System.Object,System.String)">
+            <summary>
+            Verifies that the object that is passed in is not equal to <code>null</code>
+            If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.NotNull(System.Object)">
+            <summary>
+            Verifies that the object that is passed in is not equal to <code>null</code>
+            If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String,System.Object[])">
+            <summary>
+            Verifies that the object that is passed in is not equal to <code>null</code>
+            If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String)">
+            <summary>
+            Verifies that the object that is passed in is not equal to <code>null</code>
+            If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object)">
+            <summary>
+            Verifies that the object that is passed in is not equal to <code>null</code>
+            If the object is <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Null(System.Object,System.String,System.Object[])">
+            <summary>
+            Verifies that the object that is passed in is equal to <code>null</code>
+            If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Null(System.Object,System.String)">
+            <summary>
+            Verifies that the object that is passed in is equal to <code>null</code>
+            If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Null(System.Object)">
+            <summary>
+            Verifies that the object that is passed in is equal to <code>null</code>
+            If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String,System.Object[])">
+            <summary>
+            Verifies that the object that is passed in is equal to <code>null</code>
+            If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String)">
+            <summary>
+            Verifies that the object that is passed in is equal to <code>null</code>
+            If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNull(System.Object)">
+            <summary>
+            Verifies that the object that is passed in is equal to <code>null</code>
+            If the object is not <code>null</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="anObject">The object that is to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that the double that is passed in is an <code>NaN</code> value.
+            If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="aDouble">The value that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String)">
+            <summary>
+            Verifies that the double that is passed in is an <code>NaN</code> value.
+            If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="aDouble">The value that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNaN(System.Double)">
+            <summary>
+            Verifies that the double that is passed in is an <code>NaN</code> value.
+            If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="aDouble">The value that is to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double},System.String,System.Object[])">
+            <summary>
+            Verifies that the double that is passed in is an <code>NaN</code> value.
+            If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="aDouble">The value that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double},System.String)">
+            <summary>
+            Verifies that the double that is passed in is an <code>NaN</code> value.
+            If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="aDouble">The value that is to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double})">
+            <summary>
+            Verifies that the double that is passed in is an <code>NaN</code> value.
+            If the object is not <code>NaN</code> then an <see cref="T:NUnit.Framework.AssertionException"/>
+            is thrown.
+            </summary>
+            <param name="aDouble">The value that is to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String,System.Object[])">
+            <summary>
+            Assert that a string is empty - that is equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String)">
+            <summary>
+            Assert that a string is empty - that is equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.String)">
+            <summary>
+            Assert that a string is empty - that is equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.ICollection,System.String,System.Object[])">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.ICollection,System.String)">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.ICollection)">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String,System.Object[])">
+            <summary>
+            Assert that a string is not empty - that is not equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String)">
+            <summary>
+            Assert that a string is not empty - that is not equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String)">
+            <summary>
+            Assert that a string is not empty - that is not equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.ICollection,System.String,System.Object[])">
+            <summary>
+            Assert that an array, list or other collection is not empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.ICollection,System.String)">
+            <summary>
+            Assert that an array, list or other collection is not empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.ICollection)">
+            <summary>
+            Assert that an array, list or other collection is not empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing ICollection</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNullOrEmpty(System.String,System.String,System.Object[])">
+            <summary>
+            Assert that a string is either null or equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNullOrEmpty(System.String,System.String)">
+            <summary>
+            Assert that a string is either null or equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNullOrEmpty(System.String)">
+            <summary>
+            Assert that a string is either null or equal to string.Empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotNullOrEmpty(System.String,System.String,System.Object[])">
+            <summary>
+            Assert that a string is not null or empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotNullOrEmpty(System.String,System.String)">
+            <summary>
+            Assert that a string is not null or empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotNullOrEmpty(System.String)">
+            <summary>
+            Assert that a string is not null or empty
+            </summary>
+            <param name="aString">The string to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object may be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String)">
+            <summary>
+            Asserts that an object may be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object)">
+            <summary>
+            Asserts that an object may be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object may be assigned a  value of a given Type.
+            </summary>
+            <typeparam name="T">The expected Type.</typeparam>
+            <param name="actual">The object under examination</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object,System.String)">
+            <summary>
+            Asserts that an object may be assigned a  value of a given Type.
+            </summary>
+            <typeparam name="T">The expected Type.</typeparam>
+            <param name="actual">The object under examination</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object)">
+            <summary>
+            Asserts that an object may be assigned a  value of a given Type.
+            </summary>
+            <typeparam name="T">The expected Type.</typeparam>
+            <param name="actual">The object under examination</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object may not be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String)">
+            <summary>
+            Asserts that an object may not be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object)">
+            <summary>
+            Asserts that an object may not be assigned a  value of a given Type.
+            </summary>
+            <param name="expected">The expected Type.</param>
+            <param name="actual">The object under examination</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object may not be assigned a  value of a given Type.
+            </summary>
+            <typeparam name="T">The expected Type.</typeparam>
+            <param name="actual">The object under examination</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object,System.String)">
+            <summary>
+            Asserts that an object may not be assigned a  value of a given Type.
+            </summary>
+            <typeparam name="T">The expected Type.</typeparam>
+            <param name="actual">The object under examination</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object)">
+            <summary>
+            Asserts that an object may not be assigned a  value of a given Type.
+            </summary>
+            <typeparam name="T">The expected Type.</typeparam>
+            <param name="actual">The object under examination</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object,System.String)">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object)">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object,System.String)">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOfType(System.Type,System.Object)">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <typeparam name="T">The expected Type</typeparam>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object,System.String)">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <typeparam name="T">The expected Type</typeparam>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object)">
+            <summary>
+            Asserts that an object is an instance of a given type.
+            </summary>
+            <typeparam name="T">The expected Type</typeparam>
+            <param name="actual">The object being examined</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object,System.String)">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object)">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object,System.String)">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOfType(System.Type,System.Object)">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <param name="expected">The expected Type</param>
+            <param name="actual">The object being examined</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <typeparam name="T">The expected Type</typeparam>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object,System.String)">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <typeparam name="T">The expected Type</typeparam>
+            <param name="actual">The object being examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object)">
+            <summary>
+            Asserts that an object is not an instance of a given type.
+            </summary>
+            <typeparam name="T">The expected Type</typeparam>
+            <param name="actual">The object being examined</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int32,System.Int32)">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Int64,System.Int64)">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that two values are equal. If they are not, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that two doubles are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that two doubles are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double)">
+            <summary>
+            Verifies that two doubles are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that two doubles are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double,System.String)">
+            <summary>
+            Verifies that two doubles are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double)">
+            <summary>
+            Verifies that two doubles are equal considering a delta. If the
+            expected value is infinity then the delta value is ignored. If 
+            they are not equal then an <see cref="T:NUnit.Framework.AssertionException"/> is
+            thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="delta">The maximum acceptable difference between the
+            the expected and the actual</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String,System.Object[])">
+            <summary>
+            Verifies that two objects are equal.  Two objects are considered
+            equal if both are null, or if both have the same value. NUnit
+            has special semantics for some object types.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The value that is expected</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String)">
+            <summary>
+            Verifies that two objects are equal.  Two objects are considered
+            equal if both are null, or if both have the same value. NUnit
+            has special semantics for some object types.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The value that is expected</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object)">
+            <summary>
+            Verifies that two objects are equal.  Two objects are considered
+            equal if both are null, or if both have the same value. NUnit
+            has special semantics for some object types.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The value that is expected</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int32,System.Int32)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Int64,System.Int64)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Single,System.Single,System.String)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Single,System.Single)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Double,System.Double)">
+            <summary>
+            Verifies that two values are not equal. If they are equal, then an 
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String,System.Object[])">
+            <summary>
+            Verifies that two objects are not equal.  Two objects are considered
+            equal if both are null, or if both have the same value. NUnit
+            has special semantics for some object types.
+            If they are equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The value that is expected</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String)">
+            <summary>
+            Verifies that two objects are not equal.  Two objects are considered
+            equal if both are null, or if both have the same value. NUnit
+            has special semantics for some object types.
+            If they are equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The value that is expected</param>
+            <param name="actual">The actual value</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object)">
+            <summary>
+            Verifies that two objects are not equal.  Two objects are considered
+            equal if both are null, or if both have the same value. NUnit
+            has special semantics for some object types.
+            If they are equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The value that is expected</param>
+            <param name="actual">The actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that two objects refer to the same object. If they
+            are not the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String)">
+            <summary>
+            Asserts that two objects refer to the same object. If they
+            are not the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object)">
+            <summary>
+            Asserts that two objects refer to the same object. If they
+            are not the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that two objects do not refer to the same object. If they
+            are the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String)">
+            <summary>
+            Asserts that two objects do not refer to the same object. If they
+            are the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object)">
+            <summary>
+            Asserts that two objects do not refer to the same object. If they
+            are the same an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The actual object</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable)">
+            <summary>
+            Verifies that the first value is greater than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable)">
+            <summary>
+            Verifies that the first value is less than the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable)">
+            <summary>
+            Verifies that the first value is greater than or equal tothe second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be greater</param>
+            <param name="arg2">The second value, expected to be less</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable)">
+            <summary>
+            Verifies that the first value is less than or equal to the second
+            value. If it is not, then an
+            <see cref="T:NUnit.Framework.AssertionException"/> is thrown. 
+            </summary>
+            <param name="arg1">The first value, expected to be less</param>
+            <param name="arg2">The second value, expected to be greater</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String,System.Object[])">
+            <summary>
+            Asserts that an object is contained in a list.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The list to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Array of objects to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String)">
+            <summary>
+            Asserts that an object is contained in a list.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The list to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection)">
+            <summary>
+            Asserts that an object is contained in a list.
+            </summary>
+            <param name="expected">The expected object</param>
+            <param name="actual">The list to be examined</param>
+        </member>
+        <member name="P:NUnit.Framework.Assert.Counter">
+            <summary>
+            Gets the number of assertions executed so far and 
+            resets the counter to zero.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.RequiredAddinAttribute">
+            <summary>
+            RequiredAddinAttribute may be used to indicate the names of any addins
+            that must be present in order to run some or all of the tests in an
+            assembly. If the addin is not loaded, the entire assembly is marked
+            as NotRunnable.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.RequiredAddinAttribute.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:RequiredAddinAttribute"/> class.
+            </summary>
+            <param name="requiredAddin">The required addin.</param>
+        </member>
+        <member name="P:NUnit.Framework.RequiredAddinAttribute.RequiredAddin">
+            <summary>
+            Gets the name of required addin.
+            </summary>
+            <value>The required addin name.</value>
+        </member>
+        <member name="T:NUnit.Framework.CombinatorialAttribute">
+            <summary>
+            Marks a test to use a combinatorial join of any argument 
+            data provided. Since this is the default, the attribute is
+            not needed.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.PropertyAttribute">
+            <summary>
+            PropertyAttribute is used to attach information to a test as a name/value pair..
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.String)">
+            <summary>
+            Construct a PropertyAttribute with a name and string value
+            </summary>
+            <param name="propertyName">The name of the property</param>
+            <param name="propertyValue">The property value</param>
+        </member>
+        <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Int32)">
+            <summary>
+            Construct a PropertyAttribute with a name and int value
+            </summary>
+            <param name="propertyName">The name of the property</param>
+            <param name="propertyValue">The property value</param>
+        </member>
+        <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Double)">
+            <summary>
+            Construct a PropertyAttribute with a name and double value
+            </summary>
+            <param name="propertyName">The name of the property</param>
+            <param name="propertyValue">The property value</param>
+        </member>
+        <member name="M:NUnit.Framework.PropertyAttribute.#ctor">
+            <summary>
+            Constructor for derived classes that set the
+            property dictionary directly.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.Object)">
+            <summary>
+            Constructor for use by derived classes that use the
+            name of the type as the property name. Derived classes
+            must ensure that the Type of the property value is
+            a standard type supported by the BCL. Any custom
+            types will cause a serialization Exception when
+            in the client.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.PropertyAttribute.Properties">
+            <summary>
+            Gets the property dictionary for this attribute
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.CombinatorialAttribute.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.PairwiseAttribute">
+            <summary>
+            Marks a test to use a combinatorial join of any argument 
+            data provided. Since this is the default, the attribute is
+            not needed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.PairwiseAttribute.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.SequentialAttribute">
+            <summary>
+            Marks a test to use a combinatorial join of any argument 
+            data provided. Since this is the default, the attribute is
+            not needed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SequentialAttribute.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestAttribute">
+            <summary>
+            Adding this attribute to a method within a <seealso cref="T:NUnit.Framework.TestFixtureAttribute"/> 
+            class makes the method callable from the NUnit test runner. There is a property 
+            called Description which is optional which you can provide a more detailed test
+            description. This class cannot be inherited.
+            </summary>
+            
+            <example>
+            [TestFixture]
+            public class Fixture
+            {
+              [Test]
+              public void MethodToTest()
+              {}
+              
+              [Test(Description = "more detailed description")]
+              publc void TestDescriptionMethod()
+              {}
+            }
+            </example>
+            
+        </member>
+        <member name="P:NUnit.Framework.TestAttribute.Description">
+            <summary>
+            Descriptive text for this test
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestFixtureAttribute">
+            <example>
+            [TestFixture]
+            public class ExampleClass 
+            {}
+            </example>
+        </member>
+        <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor(System.Object[])">
+            <summary>
+            Construct with a object[] representing a set of arguments. 
+            In .NET 2.0, the arguments may later be separated into
+            type arguments and constructor arguments.
+            </summary>
+            <param name="arguments"></param>
+        </member>
+        <member name="P:NUnit.Framework.TestFixtureAttribute.Description">
+            <summary>
+            Descriptive text for this fixture
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestFixtureAttribute.Arguments">
+            <summary>
+            The arguments originally provided to the attribute
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.TestFixtureAttribute.Ignore">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestFixtureAttribute"/> should be ignored.
+            </summary>
+            <value><c>true</c> if ignore; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:NUnit.Framework.TestFixtureAttribute.IgnoreReason">
+            <summary>
+            Gets or sets the ignore reason. May set Ignored as a side effect.
+            </summary>
+            <value>The ignore reason.</value>
+        </member>
+        <member name="P:NUnit.Framework.TestFixtureAttribute.TypeArgs">
+            <summary>
+            Get or set the type arguments. If not set
+            explicitly, any leading arguments that are
+            Types are taken as type arguments.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.CollectionAssert">
+            <summary>
+            A set of Assert methods operationg on one or more collections
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.Equals(System.Object,System.Object)">
+            <summary>
+            The Equals method throws an AssertionException. This is done 
+            to make sure there is no mistake by calling this function.
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            override the default ReferenceEquals to throw an AssertionException. This 
+            implementation makes sure there is no mistake in calling this function 
+            as part of Assert. 
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type)">
+            <summary>
+            Asserts that all items contained in collection are of the type specified by expectedType.
+            </summary>
+            <param name="collection">IEnumerable containing objects to be considered</param>
+            <param name="expectedType">System.Type that all objects in collection must be instances of</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String)">
+            <summary>
+            Asserts that all items contained in collection are of the type specified by expectedType.
+            </summary>
+            <param name="collection">IEnumerable containing objects to be considered</param>
+            <param name="expectedType">System.Type that all objects in collection must be instances of</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String,System.Object[])">
+            <summary>
+            Asserts that all items contained in collection are of the type specified by expectedType.
+            </summary>
+            <param name="collection">IEnumerable containing objects to be considered</param>
+            <param name="expectedType">System.Type that all objects in collection must be instances of</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable)">
+            <summary>
+            Asserts that all items contained in collection are not equal to null.
+            </summary>
+            <param name="collection">IEnumerable containing objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that all items contained in collection are not equal to null.
+            </summary>
+            <param name="collection">IEnumerable containing objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that all items contained in collection are not equal to null.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable)">
+            <summary>
+            Ensures that every object contained in collection exists within the collection
+            once and only once.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String)">
+            <summary>
+            Ensures that every object contained in collection exists within the collection
+            once and only once.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Ensures that every object contained in collection exists within the collection
+            once and only once.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String)">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are exactly equal.  The collections must have the same count, 
+            and contain the exact same objects in the same order.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String)">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are not exactly equal.
+            If comparer is not null then it will be used to compare the objects.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that expected and actual are not equivalent.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that expected and actual are not equivalent.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that expected and actual are not equivalent.
+            </summary>
+            <param name="expected">The first IEnumerable of objects to be considered</param>
+            <param name="actual">The second IEnumerable of objects to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object)">
+            <summary>
+            Asserts that collection contains actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object to be found within collection</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String)">
+            <summary>
+            Asserts that collection contains actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object to be found within collection</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that collection contains actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object to be found within collection</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object)">
+            <summary>
+            Asserts that collection does not contain actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object that cannot exist within collection</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String)">
+            <summary>
+            Asserts that collection does not contain actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object that cannot exist within collection</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String,System.Object[])">
+            <summary>
+            Asserts that collection does not contain actual as an item.
+            </summary>
+            <param name="collection">IEnumerable of objects to be considered</param>
+            <param name="actual">Object that cannot exist within collection</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that superset is not a subject of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that superset is not a subject of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that superset is not a subject of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)">
+            <summary>
+            Asserts that superset is a subset of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String)">
+            <summary>
+            Asserts that superset is a subset of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Asserts that superset is a subset of subset.
+            </summary>
+            <param name="subset">The IEnumerable superset to be considered</param>
+            <param name="superset">The IEnumerable subset to be considered</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="message">The message to be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String)">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="message">The message to be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable)">
+            <summary>
+            Assert that an array,list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="message">The message to be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String)">
+            <summary>
+            Assert that an array, list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="message">The message to be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable)">
+            <summary>
+            Assert that an array,list or other collection is empty
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.String,System.Object[])">
+            <summary>
+            Assert that an array, list or other collection is ordered
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="message">The message to be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.String)">
+            <summary>
+            Assert that an array, list or other collection is ordered
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="message">The message to be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable)">
+            <summary>
+            Assert that an array, list or other collection is ordered
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])">
+            <summary>
+            Assert that an array, list or other collection is ordered
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="comparer">A custom comparer to perform the comparisons</param>
+            <param name="message">The message to be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer,System.String)">
+            <summary>
+            Assert that an array, list or other collection is ordered
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="comparer">A custom comparer to perform the comparisons</param>
+            <param name="message">The message to be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer)">
+            <summary>
+            Assert that an array, list or other collection is ordered
+            </summary>
+            <param name="collection">An array, list or other collection implementing IEnumerable</param>
+            <param name="comparer">A custom comparer to perform the comparisons</param>
+        </member>
+        <member name="T:NUnit.Framework.ParameterDataAttribute">
+            <summary>
+            Abstract base class for attributes that apply to parameters 
+            and supply data for the parameter.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.ParameterDataAttribute.GetData(System.Reflection.ParameterInfo)">
+            <summary>
+            Gets the data to be provided to the specified parameter
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.ValuesAttribute">
+            <summary>
+            ValuesAttribute is used to provide literal arguments for
+            an individual parameter of a test.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.ValuesAttribute.data">
+            <summary>
+            The collection of data to be returned. Must
+            be set by any derived attribute classes.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object)">
+            <summary>
+            Construct with one argument
+            </summary>
+            <param name="arg1"></param>
+        </member>
+        <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object)">
+            <summary>
+            Construct with two arguments
+            </summary>
+            <param name="arg1"></param>
+            <param name="arg2"></param>
+        </member>
+        <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object,System.Object)">
+            <summary>
+            Construct with three arguments
+            </summary>
+            <param name="arg1"></param>
+            <param name="arg2"></param>
+            <param name="arg3"></param>
+        </member>
+        <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object[])">
+            <summary>
+            Construct with an array of arguments
+            </summary>
+            <param name="args"></param>
+        </member>
+        <member name="M:NUnit.Framework.ValuesAttribute.GetData(System.Reflection.ParameterInfo)">
+            <summary>
+            Get the collection of values to be used as arguments
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.AssertionException">
+            <summary>
+            Thrown when an assertion failed.
+            </summary>
+            
+        </member>
+        <member name="M:NUnit.Framework.AssertionException.#ctor(System.String)">
+            <param name="message">The error message that explains 
+            the reason for the exception</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionException.#ctor(System.String,System.Exception)">
+            <param name="message">The error message that explains 
+            the reason for the exception</param>
+            <param name="inner">The exception that caused the 
+            current exception</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Serialization Constructor
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TimeoutAttribute">
+            <summary>
+            WUsed on a method, marks the test with a timeout value in milliseconds. 
+            The test will be run in a separate thread and is cancelled if the timeout 
+            is exceeded. Used on a method or assembly, sets the default timeout 
+            for all contained test methods.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TimeoutAttribute.#ctor(System.Int32)">
+            <summary>
+            Construct a TimeoutAttribute given a time in milliseconds
+            </summary>
+            <param name="timeout">The timeout value in milliseconds</param>
+        </member>
+        <member name="T:NUnit.Framework.RequiresSTAAttribute">
+            <summary>
+            Marks a test that must run in the STA, causing it
+            to run in a separate thread if necessary.
+            
+            On methods, you may also use STAThreadAttribute
+            to serve the same purpose.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.RequiresSTAAttribute.#ctor">
+            <summary>
+            Construct a RequiresSTAAttribute
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.RequiresMTAAttribute">
+            <summary>
+            Marks a test that must run in the MTA, causing it
+            to run in a separate thread if necessary.
+            
+            On methods, you may also use MTAThreadAttribute
+            to serve the same purpose.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.RequiresMTAAttribute.#ctor">
+            <summary>
+            Construct a RequiresMTAAttribute
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.RequiresThreadAttribute">
+            <summary>
+            Marks a test that must run on a separate thread.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor">
+            <summary>
+            Construct a RequiresThreadAttribute
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor(System.Threading.ApartmentState)">
+            <summary>
+            Construct a RequiresThreadAttribute, specifying the apartment
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.AssertionHelper">
+            <summary>
+            AssertionHelper is an optional base class for user tests,
+            allowing the use of shorter names for constraints and
+            asserts and avoiding conflict with the definition of 
+            <see cref="T:NUnit.Framework.Is"/>, from which it inherits much of its
+            behavior, in certain mock object frameworks.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Object,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure. Works
+            identically to <see cref="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint)"/>
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure. Works
+            identically to <see cref="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String)"/>
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure. Works
+            identically to <see cref="M:NUnit.Framework.Assert.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"/>
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expr">A Constraint expression to be applied</param>
+            <param name="del">An ActualValueDelegate returning the value to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expr">A Constraint expression to be applied</param>
+            <param name="del">An ActualValueDelegate returning the value to be tested</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="del">An ActualValueDelegate returning the value to be tested</param>
+            <param name="expr">A Constraint expression to be applied</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0@,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Apply a constraint to a referenced value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+            <summary>
+            Apply a constraint to a referenced value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="constraint">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to a referenced value, succeeding if the constraint
+            is satisfied and throwing an assertion exception on failure.
+            </summary>
+            <param name="expression">A Constraint to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to 
+            <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to 
+            <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String)"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to <see cref="M:NUnit.Framework.Assert.That(System.Boolean)"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Asserts that the code represented by a delegate throws an exception
+            that satisfies the constraint provided.
+            </summary>
+            <param name="code">A TestDelegate to be executed</param>
+            <param name="constraint">A ThrowsConstraint used in the test</param>
+        </member>
+        <member name="M:NUnit.Framework.AssertionHelper.Map(System.Collections.ICollection)">
+            <summary>
+            Returns a ListMapper based on a collection.
+            </summary>
+            <param name="original">The original collection</param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.CategoryAttribute">
+            <summary>
+            Attribute used to apply a category to a test
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.CategoryAttribute.categoryName">
+            <summary>
+            The name of the category
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.CategoryAttribute.#ctor(System.String)">
+            <summary>
+            Construct attribute for a given category
+            </summary>
+            <param name="name">The name of the category</param>
+        </member>
+        <member name="M:NUnit.Framework.CategoryAttribute.#ctor">
+            <summary>
+            Protected constructor uses the Type name as the name
+            of the category.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.CategoryAttribute.Name">
+            <summary>
+            The name of the category
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.RandomAttribute">
+            <summary>
+            RandomAttribute is used to supply a set of random values
+            to a single parameter of a parameterized test.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32)">
+            <summary>
+            Construct a set of doubles from 0.0 to 1.0,
+            specifying only the count.
+            </summary>
+            <param name="count"></param>
+        </member>
+        <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Double,System.Double,System.Int32)">
+            <summary>
+            Construct a set of doubles from min to max
+            </summary>
+            <param name="min"></param>
+            <param name="max"></param>
+            <param name="count"></param>
+        </member>
+        <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Construct a set of ints from min to max
+            </summary>
+            <param name="min"></param>
+            <param name="max"></param>
+            <param name="count"></param>
+        </member>
+        <member name="M:NUnit.Framework.RandomAttribute.GetData(System.Reflection.ParameterInfo)">
+            <summary>
+            Get the collection of values to be used as arguments
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.DescriptionAttribute">
+            <summary>
+            Attribute used to provide descriptive text about a 
+            test case or fixture.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.DescriptionAttribute.#ctor(System.String)">
+            <summary>
+            Construct the attribute
+            </summary>
+            <param name="description">Text describing the test</param>
+        </member>
+        <member name="P:NUnit.Framework.DescriptionAttribute.Description">
+            <summary>
+            Gets the test description
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.ExplicitAttribute">
+            <summary>
+            ExplicitAttribute marks a test or test fixture so that it will
+            only be run if explicitly executed from the gui or command line
+            or if it is included by use of a filter. The test will not be
+            run simply because an enclosing suite is run.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.ExplicitAttribute.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.ExplicitAttribute.#ctor(System.String)">
+            <summary>
+            Constructor with a reason
+            </summary>
+            <param name="reason">The reason test is marked explicit</param>
+        </member>
+        <member name="P:NUnit.Framework.ExplicitAttribute.Reason">
+            <summary>
+            The reason test is marked explicit
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Assume">
+            <summary>
+            Provides static methods to express the assumptions
+            that must be met for a test to give a meaningful
+            result. If an assumption is not met, the test
+            should produce an inconclusive result.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Assume.Equals(System.Object,System.Object)">
+            <summary>
+            The Equals method throws an AssertionException. This is done 
+            to make sure there is no mistake by calling this function.
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            override the default ReferenceEquals to throw an AssertionException. This 
+            implementation makes sure there is no mistake in calling this function 
+            as part of Assert. 
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an InconclusiveException on failure.
+            </summary>
+            <param name="expression">A Constraint expression to be applied</param>
+            <param name="actual">The actual value to test</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an InconclusiveException on failure.
+            </summary>
+            <param name="expression">A Constraint expression to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an InconclusiveException on failure.
+            </summary>
+            <param name="expression">A Constraint expression to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an InconclusiveException on failure.
+            </summary>
+            <param name="expr">A Constraint expression to be applied</param>
+            <param name="del">An ActualValueDelegate returning the value to be tested</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an InconclusiveException on failure.
+            </summary>
+            <param name="expr">A Constraint expression to be applied</param>
+            <param name="del">An ActualValueDelegate returning the value to be tested</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.Constraints.ActualValueDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to an actual value, succeeding if the constraint
+            is satisfied and throwing an InconclusiveException on failure.
+            </summary>
+            <param name="del">An ActualValueDelegate returning the value to be tested</param>
+            <param name="expr">A Constraint expression to be applied</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Apply a constraint to a referenced value, succeeding if the constraint
+            is satisfied and throwing an InconclusiveException on failure.
+            </summary>
+            <param name="expression">A Constraint expression to be applied</param>
+            <param name="actual">The actual value to test</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String)">
+            <summary>
+            Apply a constraint to a referenced value, succeeding if the constraint
+            is satisfied and throwing an InconclusiveException on failure.
+            </summary>
+            <param name="expression">A Constraint expression to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That``1(``0@,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])">
+            <summary>
+            Apply a constraint to a referenced value, succeeding if the constraint
+            is satisfied and throwing an InconclusiveException on failure.
+            </summary>
+            <param name="expression">A Constraint expression to be applied</param>
+            <param name="actual">The actual value to test</param>
+            <param name="message">The message that will be displayed on failure</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.String,System.Object[])">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.InconclusiveException"/>.
+            </summary> 
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.String)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the method throws
+            an <see cref="T:NUnit.Framework.InconclusiveException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+            <param name="message">The message to display if the condition is false</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That(System.Boolean)">
+            <summary>
+            Asserts that a condition is true. If the condition is false the 
+            method throws an <see cref="T:NUnit.Framework.InconclusiveException"/>.
+            </summary>
+            <param name="condition">The evaluated condition</param>
+        </member>
+        <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)">
+            <summary>
+            Asserts that the code represented by a delegate throws an exception
+            that satisfies the constraint provided.
+            </summary>
+            <param name="code">A TestDelegate to be executed</param>
+            <param name="constraint">A ThrowsConstraint used in the test</param>
+        </member>
+        <member name="T:NUnit.Framework.GlobalSettings">
+            <summary>
+            GlobalSettings is a place for setting default values used
+            by the framework in performing asserts.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.GlobalSettings.DefaultFloatingPointTolerance">
+            <summary>
+            Default tolerance for floating point equality
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Is">
+            <summary>
+            Helper class with properties and methods that supply
+            a number of constraints used in Asserts.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.EqualTo(System.Object)">
+            <summary>
+            Returns a constraint that tests two items for equality
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.SameAs(System.Object)">
+            <summary>
+            Returns a constraint that tests that two references are the same object
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.GreaterThan(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is greater than the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.GreaterThanOrEqualTo(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is greater than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.AtLeast(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is greater than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.LessThan(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is less than the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.LessThanOrEqualTo(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is less than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.AtMost(System.Object)">
+            <summary>
+            Returns a constraint that tests whether the
+            actual value is less than or equal to the suppled argument
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.TypeOf(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual
+            value is of the exact type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.TypeOf``1">
+            <summary>
+            Returns a constraint that tests whether the actual
+            value is of the exact type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.InstanceOf(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.InstanceOf``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.InstanceOfType(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.InstanceOfType``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is of the type supplied as an argument or a derived type.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.AssignableFrom(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.AssignableFrom``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.AssignableTo(System.Type)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.AssignableTo``1">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is assignable from the type supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.EquivalentTo(System.Collections.IEnumerable)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is a collection containing the same elements as the 
+            collection supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.SubsetOf(System.Collections.IEnumerable)">
+            <summary>
+            Returns a constraint that tests whether the actual value
+            is a subset of the collection supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.StringContaining(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value contains the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.StringStarting(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value starts with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.StringEnding(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value ends with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.StringMatching(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value matches the Regex pattern supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.SamePath(System.String)">
+            <summary>
+            Returns a constraint that tests whether the path provided 
+            is the same as an expected path after canonicalization.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.SamePathOrUnder(System.String)">
+            <summary>
+            Returns a constraint that tests whether the path provided 
+            is the same path or under an expected path after canonicalization.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Is.InRange(System.IComparable,System.IComparable)">
+            <summary>
+            Returns a constraint that tests whether the actual value falls 
+            within a specified range.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.Not">
+            <summary>
+            Returns a ConstraintExpression that negates any
+            following constraint.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.All">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them succeed.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.Null">
+            <summary>
+            Returns a constraint that tests for null
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.True">
+            <summary>
+            Returns a constraint that tests for True
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.False">
+            <summary>
+            Returns a constraint that tests for False
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.NaN">
+            <summary>
+            Returns a constraint that tests for NaN
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.Empty">
+            <summary>
+            Returns a constraint that tests for empty
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.Unique">
+            <summary>
+            Returns a constraint that tests whether a collection 
+            contains all unique items.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.BinarySerializable">
+            <summary>
+            Returns a constraint that tests whether an object graph is serializable in binary format.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.XmlSerializable">
+            <summary>
+            Returns a constraint that tests whether an object graph is serializable in xml format.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Is.Ordered">
+            <summary>
+            Returns a constraint that tests whether a collection is ordered
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.IExpectException">
+            <summary>
+            Interface implemented by a user fixture in order to
+            validate any expected exceptions. It is only called
+            for test methods marked with the ExpectedException
+            attribute.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IExpectException.HandleException(System.Exception)">
+            <summary>
+            Method to handle an expected exception
+            </summary>
+            <param name="ex">The exception to be handled</param>
+        </member>
+        <member name="T:NUnit.Framework.IgnoreAttribute">
+            <summary>
+            Attribute used to mark a test that is to be ignored.
+            Ignored tests result in a warning message when the
+            tests are run.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IgnoreAttribute.#ctor">
+            <summary>
+            Constructs the attribute without giving a reason 
+            for ignoring the test.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IgnoreAttribute.#ctor(System.String)">
+            <summary>
+            Constructs the attribute giving a reason for ignoring the test
+            </summary>
+            <param name="reason">The reason for ignoring the test</param>
+        </member>
+        <member name="P:NUnit.Framework.IgnoreAttribute.Reason">
+            <summary>
+            The reason for ignoring a test
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.IgnoreException">
+            <summary>
+            Thrown when an assertion failed.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String)">
+            <param name="message"></param>
+        </member>
+        <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String,System.Exception)">
+            <param name="message">The error message that explains 
+            the reason for the exception</param>
+            <param name="inner">The exception that caused the 
+            current exception</param>
+        </member>
+        <member name="M:NUnit.Framework.IgnoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Serialization Constructor
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.IncludeExcludeAttribute">
+            <summary>
+            Abstract base for Attributes that are used to include tests
+            in the test run based on environmental settings.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor">
+            <summary>
+            Constructor with no included items specified, for use
+            with named property syntax.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor(System.String)">
+            <summary>
+            Constructor taking one or more included items
+            </summary>
+            <param name="include">Comma-delimited list of included items</param>
+        </member>
+        <member name="P:NUnit.Framework.IncludeExcludeAttribute.Include">
+            <summary>
+            Name of the item that is needed in order for
+            a test to run. Multiple itemss may be given,
+            separated by a comma.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.IncludeExcludeAttribute.Exclude">
+            <summary>
+            Name of the item to be excluded. Multiple items
+            may be given, separated by a comma.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.IncludeExcludeAttribute.Reason">
+            <summary>
+            The reason for including or excluding the test
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.PlatformAttribute">
+            <summary>
+            PlatformAttribute is used to mark a test fixture or an
+            individual method as applying to a particular platform only.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.PlatformAttribute.#ctor">
+            <summary>
+            Constructor with no platforms specified, for use
+            with named property syntax.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.PlatformAttribute.#ctor(System.String)">
+            <summary>
+            Constructor taking one or more platforms
+            </summary>
+            <param name="platforms">Comma-deliminted list of platforms</param>
+        </member>
+        <member name="T:NUnit.Framework.CultureAttribute">
+            <summary>
+            CultureAttribute is used to mark a test fixture or an
+            individual method as applying to a particular Culture only.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.CultureAttribute.#ctor">
+            <summary>
+            Constructor with no cultures specified, for use
+            with named property syntax.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.CultureAttribute.#ctor(System.String)">
+            <summary>
+            Constructor taking one or more cultures
+            </summary>
+            <param name="cultures">Comma-deliminted list of cultures</param>
+        </member>
+        <member name="T:NUnit.Framework.RangeAttribute">
+            <summary>
+            RangeAttribute is used to supply a range of values to an
+            individual parameter of a parameterized test.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Construct a range of ints using default step of 1
+            </summary>
+            <param name="from"></param>
+            <param name="to"></param>
+        </member>
+        <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Construct a range of ints specifying the step size 
+            </summary>
+            <param name="from"></param>
+            <param name="to"></param>
+            <param name="step"></param>
+        </member>
+        <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64,System.Int64)">
+            <summary>
+            Construct a range of longs
+            </summary>
+            <param name="from"></param>
+            <param name="to"></param>
+            <param name="step"></param>
+        </member>
+        <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Double,System.Double,System.Double)">
+            <summary>
+            Construct a range of doubles
+            </summary>
+            <param name="from"></param>
+            <param name="to"></param>
+            <param name="step"></param>
+        </member>
+        <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Single,System.Single,System.Single)">
+            <summary>
+            Construct a range of floats
+            </summary>
+            <param name="from"></param>
+            <param name="to"></param>
+            <param name="step"></param>
+        </member>
+        <member name="T:NUnit.Framework.SetCultureAttribute">
+            <summary>
+            Summary description for SetCultureAttribute.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SetCultureAttribute.#ctor(System.String)">
+            <summary>
+            Construct given the name of a culture
+            </summary>
+            <param name="culture"></param>
+        </member>
+        <member name="T:NUnit.Framework.ValueSourceAttribute">
+            <summary>
+            ValueSourceAttribute indicates the source to be used to
+            provide data for one parameter of a test method.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.String)">
+            <summary>
+            Construct with the name of the factory - for use with languages
+            that don't support params arrays.
+            </summary>
+            <param name="sourceName">The name of the data source to be used</param>
+        </member>
+        <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.Type,System.String)">
+            <summary>
+            Construct with a Type and name - for use with languages
+            that don't support params arrays.
+            </summary>
+            <param name="sourceType">The Type that will provide data</param>
+            <param name="sourceName">The name of the method, property or field that will provide data</param>
+        </member>
+        <member name="P:NUnit.Framework.ValueSourceAttribute.SourceName">
+            <summary>
+            The name of a the method, property or fiend to be used as a source
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.ValueSourceAttribute.SourceType">
+            <summary>
+            A Type to be used as a source
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TextMessageWriter">
+            <summary>
+            TextMessageWriter writes constraint descriptions and messages
+            in displayable form as a text stream. It tailors the display
+            of individual message components to form the standard message
+            format of NUnit assertion failure messages.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TextMessageWriter.Pfx_Expected">
+            <summary>
+            Prefix used for the expected value line of a message
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TextMessageWriter.Pfx_Actual">
+            <summary>
+            Prefix used for the actual value line of a message
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.TextMessageWriter.PrefixLength">
+            <summary>
+            Length of a message prefix
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.#ctor">
+            <summary>
+            Construct a TextMessageWriter
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.#ctor(System.String,System.Object[])">
+            <summary>
+            Construct a TextMessageWriter, specifying a user message
+            and optional formatting arguments.
+            </summary>
+            <param name="userMessage"></param>
+            <param name="args"></param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])">
+            <summary>
+            Method to write single line  message with optional args, usually
+            written to precede the general failure message, at a givel 
+            indentation level.
+            </summary>
+            <param name="level">The indentation level of the message</param>
+            <param name="message">The message to be written</param>
+            <param name="args">Any arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.DisplayDifferences(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Display Expected and Actual lines for a constraint. This
+            is called by MessageWriter's default implementation of 
+            WriteMessageTo and provides the generic two-line display. 
+            </summary>
+            <param name="constraint">The constraint that failed</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.DisplayDifferences(System.Object,System.Object)">
+            <summary>
+            Display Expected and Actual lines for given values. This
+            method may be called by constraints that need more control over
+            the display of actual and expected values than is provided
+            by the default implementation.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value causing the failure</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)">
+            <summary>
+            Display Expected and Actual lines for given values, including
+            a tolerance value on the expected line.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="actual">The actual value causing the failure</param>
+            <param name="tolerance">The tolerance within which the test was made</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)">
+            <summary>
+            Display the expected and actual string values on separate lines.
+            If the mismatch parameter is >=0, an additional line is displayed
+            line containing a caret that points to the mismatch point.
+            </summary>
+            <param name="expected">The expected string value</param>
+            <param name="actual">The actual string value</param>
+            <param name="mismatch">The point at which the strings don't match or -1</param>
+            <param name="ignoreCase">If true, case is ignored in string comparisons</param>
+            <param name="clipping">If true, clip the strings to fit the max line length</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteConnector(System.String)">
+            <summary>
+            Writes the text for a connector.
+            </summary>
+            <param name="connector">The connector.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WritePredicate(System.String)">
+            <summary>
+            Writes the text for a predicate.
+            </summary>
+            <param name="predicate">The predicate.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteModifier(System.String)">
+            <summary>
+            Write the text for a modifier.
+            </summary>
+            <param name="modifier">The modifier.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedValue(System.Object)">
+            <summary>
+            Writes the text for an expected value.
+            </summary>
+            <param name="expected">The expected value.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteActualValue(System.Object)">
+            <summary>
+            Writes the text for an actual value.
+            </summary>
+            <param name="actual">The actual value.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteValue(System.Object)">
+            <summary>
+            Writes the text for a generalized value.
+            </summary>
+            <param name="val">The value.</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteCollectionElements(System.Collections.ICollection,System.Int32,System.Int32)">
+            <summary>
+            Writes the text for a collection value,
+            starting at a particular point, to a max length
+            </summary>
+            <param name="collection">The collection containing elements to write.</param>
+            <param name="start">The starting point of the elements to write</param>
+            <param name="max">The maximum number of elements to write</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedLine(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Write the generic 'Expected' line for a constraint
+            </summary>
+            <param name="constraint">The constraint that failed</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedLine(System.Object)">
+            <summary>
+            Write the generic 'Expected' line for a given value
+            </summary>
+            <param name="expected">The expected value</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteExpectedLine(System.Object,NUnit.Framework.Constraints.Tolerance)">
+            <summary>
+            Write the generic 'Expected' line for a given value
+            and tolerance.
+            </summary>
+            <param name="expected">The expected value</param>
+            <param name="tolerance">The tolerance within which the test was made</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteActualLine(NUnit.Framework.Constraints.Constraint)">
+            <summary>
+            Write the generic 'Actual' line for a constraint
+            </summary>
+            <param name="constraint">The constraint for which the actual value is to be written</param>
+        </member>
+        <member name="M:NUnit.Framework.TextMessageWriter.WriteActualLine(System.Object)">
+            <summary>
+            Write the generic 'Actual' line for a given value
+            </summary>
+            <param name="actual">The actual value causing a failure</param>
+        </member>
+        <member name="P:NUnit.Framework.TextMessageWriter.MaxLineLength">
+            <summary>
+            Gets or sets the maximum line length for this writer
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.StringAssert">
+            <summary>
+            Basic Asserts on strings.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.Equals(System.Object,System.Object)">
+            <summary>
+            The Equals method throws an AssertionException. This is done 
+            to make sure there is no mistake by calling this function.
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            override the default ReferenceEquals to throw an AssertionException. This 
+            implementation makes sure there is no mistake in calling this function 
+            as part of Assert. 
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string is found within another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string is found within another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String)">
+            <summary>
+            Asserts that a string is found within another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string is not found within another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string is found within another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String)">
+            <summary>
+            Asserts that a string is found within another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string starts with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string starts with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String)">
+            <summary>
+            Asserts that a string starts with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string does not start with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string does not start with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String)">
+            <summary>
+            Asserts that a string does not start with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string ends with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string ends with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String)">
+            <summary>
+            Asserts that a string ends with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string does not end with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string does not end with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String)">
+            <summary>
+            Asserts that a string does not end with another string.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The string to be examined</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that two strings are equal, without regard to case.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String)">
+            <summary>
+            Asserts that two strings are equal, without regard to case.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String)">
+            <summary>
+            Asserts that two strings are equal, without regard to case.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that two strings are not equal, without regard to case.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String,System.String)">
+            <summary>
+            Asserts that two strings are Notequal, without regard to case.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String)">
+            <summary>
+            Asserts that two strings are not equal, without regard to case.
+            </summary>
+            <param name="expected">The expected string</param>
+            <param name="actual">The actual string</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string matches an expected regular expression pattern.
+            </summary>
+            <param name="pattern">The regex pattern to be matched</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string matches an expected regular expression pattern.
+            </summary>
+            <param name="pattern">The regex pattern to be matched</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String)">
+            <summary>
+            Asserts that a string matches an expected regular expression pattern.
+            </summary>
+            <param name="pattern">The regex pattern to be matched</param>
+            <param name="actual">The actual string</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that a string does not match an expected regular expression pattern.
+            </summary>
+            <param name="pattern">The regex pattern to be used</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+            <param name="args">Arguments used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String,System.String)">
+            <summary>
+            Asserts that a string does not match an expected regular expression pattern.
+            </summary>
+            <param name="pattern">The regex pattern to be used</param>
+            <param name="actual">The actual string</param>
+            <param name="message">The message to display in case of failure</param>
+        </member>
+        <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String)">
+            <summary>
+            Asserts that a string does not match an expected regular expression pattern.
+            </summary>
+            <param name="pattern">The regex pattern to be used</param>
+            <param name="actual">The actual string</param>
+        </member>
+        <member name="T:NUnit.Framework.SetUpAttribute">
+            <summary>
+            Attribute used to mark a class that contains one-time SetUp 
+            and/or TearDown methods that apply to all the tests in a
+            namespace or an assembly.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.SetUpFixtureAttribute">
+            <summary>
+            SetUpFixtureAttribute is used to identify a SetUpFixture
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.RepeatAttribute">
+            <summary>
+            RepeatAttribute may be applied to test case in order
+            to run it multiple times.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.RepeatAttribute.#ctor(System.Int32)">
+            <summary>
+            Construct a RepeatAttribute
+            </summary>
+            <param name="count">The number of times to run the test</param>
+        </member>
+        <member name="T:NUnit.Framework.SuiteAttribute">
+            <summary>
+            Attribute used to mark a static (shared in VB) property
+            that returns a list of tests.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TearDownAttribute">
+            <summary>
+            Attribute used to identify a method that is called 
+            immediately after each test is run. The method is 
+            guaranteed to be called, even if an exception is thrown.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Iz">
+            <summary>
+            The Iz class is a synonym for Is intended for use in VB,
+            which regards Is as a keyword.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Throws">
+            <summary>
+            Helper class with properties and methods that supply
+            constraints that operate on exceptions.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Throws.TypeOf(System.Type)">
+            <summary>
+            Creates a constraint specifying the exact type of exception expected
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Throws.TypeOf``1">
+            <summary>
+            Creates a constraint specifying the exact type of exception expected
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Throws.InstanceOf(System.Type)">
+            <summary>
+            Creates a constraint specifying the type of exception expected
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Throws.InstanceOf``1">
+            <summary>
+            Creates a constraint specifying the type of exception expected
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Throws.Exception">
+            <summary>
+            Creates a constraint specifying an expected exception
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Throws.InnerException">
+            <summary>
+            Creates a constraint specifying an exception with a given InnerException
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Throws.TargetInvocationException">
+            <summary>
+            Creates a constraint specifying an expected TargetInvocationException
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Throws.ArgumentException">
+            <summary>
+            Creates a constraint specifying an expected TargetInvocationException
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Throws.InvalidOperationException">
+            <summary>
+            Creates a constraint specifying an expected TargetInvocationException
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Throws.Nothing">
+            <summary>
+            Creates a constraint specifying that no exception is thrown
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.ListMapper">
+            <summary>
+            ListMapper is used to transform a collection used as an actual argument
+            producing another collection to be used in the assertion.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.ListMapper.#ctor(System.Collections.ICollection)">
+            <summary>
+            Construct a ListMapper based on a collection
+            </summary>
+            <param name="original">The collection to be transformed</param>
+        </member>
+        <member name="M:NUnit.Framework.ListMapper.Property(System.String)">
+            <summary>
+            Produces a collection containing all the values of a property
+            </summary>
+            <param name="name">The collection of property values</param>
+            <returns></returns>
+        </member>
+        <member name="T:NUnit.Framework.TestFixtureSetUpAttribute">
+            <summary>
+            Attribute used to identify a method that is 
+            called before any tests in a fixture are run.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.TestFixtureTearDownAttribute">
+            <summary>
+            Attribute used to identify a method that is called after
+            all the tests in a fixture have run. The method is 
+            guaranteed to be called, even if an exception is thrown.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.Text">
+            <summary>
+            Helper class with static methods used to supply constraints
+            that operate on strings.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Text.Contains(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value contains the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Text.DoesNotContain(System.String)">
+            <summary>
+            Returns a constraint that fails if the actual
+            value contains the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Text.StartsWith(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value starts with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Text.DoesNotStartWith(System.String)">
+            <summary>
+            Returns a constraint that fails if the actual
+            value starts with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Text.EndsWith(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value ends with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Text.DoesNotEndWith(System.String)">
+            <summary>
+            Returns a constraint that fails if the actual
+            value ends with the substring supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Text.Matches(System.String)">
+            <summary>
+            Returns a constraint that succeeds if the actual
+            value matches the Regex pattern supplied as an argument.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Text.DoesNotMatch(System.String)">
+            <summary>
+            Returns a constraint that fails if the actual
+            value matches the pattern supplied as an argument.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Text.All">
+            <summary>
+            Returns a ConstraintExpression, which will apply
+            the following constraint to all members of a collection,
+            succeeding if all of them succeed.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.MaxTimeAttribute">
+            <summary>
+            Summary description for MaxTimeAttribute.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.MaxTimeAttribute.#ctor(System.Int32)">
+            <summary>
+            Construct a MaxTimeAttribute, given a time in milliseconds.
+            </summary>
+            <param name="milliseconds">The maximum elapsed time in milliseconds</param>
+        </member>
+        <member name="T:NUnit.Framework.SetUICultureAttribute">
+            <summary>
+            Summary description for SetUICultureAttribute.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.SetUICultureAttribute.#ctor(System.String)">
+            <summary>
+            Construct given the name of a culture
+            </summary>
+            <param name="culture"></param>
+        </member>
+        <member name="T:NUnit.Framework.DirectoryAssert">
+            <summary>
+            Summary description for DirectoryAssert
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.Equals(System.Object,System.Object)">
+            <summary>
+            The Equals method throws an AssertionException. This is done 
+            to make sure there is no mistake by calling this function.
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            override the default ReferenceEquals to throw an AssertionException. This 
+            implementation makes sure there is no mistake in calling this function 
+            as part of Assert. 
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.#ctor">
+            <summary>
+            We don't actually want any instances of this object, but some people
+            like to inherit from it to add other static methods. Hence, the
+            protected constructor disallows any instances of this object. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])">
+            <summary>
+            Verifies that two directories are equal.  Two directories are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory containing the value that is expected</param>
+            <param name="actual">A directory containing the actual value</param>
+            <param name="message">The message to display if directories are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String)">
+            <summary>
+            Verifies that two directories are equal.  Two directories are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory containing the value that is expected</param>
+            <param name="actual">A directory containing the actual value</param>
+            <param name="message">The message to display if directories are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+            <summary>
+            Verifies that two directories are equal.  Two directories are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory containing the value that is expected</param>
+            <param name="actual">A directory containing the actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Verifies that two directories are equal.  Two directories are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory path string containing the value that is expected</param>
+            <param name="actual">A directory path string containing the actual value</param>
+            <param name="message">The message to display if directories are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.String,System.String,System.String)">
+            <summary>
+            Verifies that two directories are equal.  Two directories are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory path string containing the value that is expected</param>
+            <param name="actual">A directory path string containing the actual value</param>
+            <param name="message">The message to display if directories are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.String,System.String)">
+            <summary>
+            Verifies that two directories are equal.  Two directories are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory path string containing the value that is expected</param>
+            <param name="actual">A directory path string containing the actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])">
+            <summary>
+            Asserts that two directories are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory containing the value that is expected</param>
+            <param name="actual">A directory containing the actual value</param>
+            <param name="message">The message to display if directories are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String)">
+            <summary>
+            Asserts that two directories are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory containing the value that is expected</param>
+            <param name="actual">A directory containing the actual value</param>
+            <param name="message">The message to display if directories are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+            <summary>
+            Asserts that two directories are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory containing the value that is expected</param>
+            <param name="actual">A directory containing the actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that two directories are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory path string containing the value that is expected</param>
+            <param name="actual">A directory path string containing the actual value</param>
+            <param name="message">The message to display if directories are equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.String,System.String,System.String)">
+            <summary>
+            Asserts that two directories are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory path string containing the value that is expected</param>
+            <param name="actual">A directory path string containing the actual value</param>
+            <param name="message">The message to display if directories are equal</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.String,System.String)">
+            <summary>
+            Asserts that two directories are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A directory path string containing the value that is expected</param>
+            <param name="actual">A directory path string containing the actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.IO.DirectoryInfo,System.String,System.Object[])">
+            <summary>
+            Asserts that the directory is empty. If it is not empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="message">The message to display if directories are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.IO.DirectoryInfo,System.String)">
+            <summary>
+            Asserts that the directory is empty. If it is not empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="message">The message to display if directories are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.IO.DirectoryInfo)">
+            <summary>
+            Asserts that the directory is empty. If it is not empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that the directory is empty. If it is not empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="message">The message to display if directories are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.String,System.String)">
+            <summary>
+            Asserts that the directory is empty. If it is not empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="message">The message to display if directories are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsEmpty(System.String)">
+            <summary>
+            Asserts that the directory is empty. If it is not empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.IO.DirectoryInfo,System.String,System.Object[])">
+            <summary>
+            Asserts that the directory is not empty. If it is empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="message">The message to display if directories are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.IO.DirectoryInfo,System.String)">
+            <summary>
+            Asserts that the directory is not empty. If it is empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="message">The message to display if directories are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.IO.DirectoryInfo)">
+            <summary>
+            Asserts that the directory is not empty. If it is empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that the directory is not empty. If it is empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="message">The message to display if directories are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.String,System.String)">
+            <summary>
+            Asserts that the directory is not empty. If it is empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="message">The message to display if directories are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotEmpty(System.String)">
+            <summary>
+            Asserts that the directory is not empty. If it is empty
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])">
+            <summary>
+            Asserts that path contains actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+            <param name="message">The message to display if directory is not within the path</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String)">
+            <summary>
+            Asserts that path contains actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+            <param name="message">The message to display if directory is not within the path</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+            <summary>
+            Asserts that path contains actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that path contains actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+            <param name="message">The message to display if directory is not within the path</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.String,System.String,System.String)">
+            <summary>
+            Asserts that path contains actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+            <param name="message">The message to display if directory is not within the path</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsWithin(System.String,System.String)">
+            <summary>
+            Asserts that path contains actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])">
+            <summary>
+            Asserts that path does not contain actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+            <param name="message">The message to display if directory is not within the path</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String)">
+            <summary>
+            Asserts that path does not contain actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+            <param name="message">The message to display if directory is not within the path</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.IO.DirectoryInfo,System.IO.DirectoryInfo)">
+            <summary>
+            Asserts that path does not contain actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that path does not contain actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+            <param name="message">The message to display if directory is not within the path</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.String,System.String,System.String)">
+            <summary>
+            Asserts that path does not contain actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+            <param name="message">The message to display if directory is not within the path</param>
+        </member>
+        <member name="M:NUnit.Framework.DirectoryAssert.IsNotWithin(System.String,System.String)">
+            <summary>
+            Asserts that path does not contain actual as a subdirectory or
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="directory">A directory to search</param>
+            <param name="actual">sub-directory asserted to exist under directory</param>
+        </member>
+        <member name="T:NUnit.Framework.SpecialValue">
+            <summary>
+            The SpecialValue enum is used to represent TestCase arguments
+            that cannot be used as arguments to an Attribute.
+            </summary>
+        </member>
+        <member name="F:NUnit.Framework.SpecialValue.Null">
+            <summary>
+            Null represents a null value, which cannot be used as an 
+            argument to an attriute under .NET 1.x
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.FileAssert">
+            <summary>
+            Summary description for FileAssert.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.Equals(System.Object,System.Object)">
+            <summary>
+            The Equals method throws an AssertionException. This is done 
+            to make sure there is no mistake by calling this function.
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            override the default ReferenceEquals to throw an AssertionException. This 
+            implementation makes sure there is no mistake in calling this function 
+            as part of Assert. 
+            </summary>
+            <param name="a"></param>
+            <param name="b"></param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.#ctor">
+            <summary>
+            We don't actually want any instances of this object, but some people
+            like to inherit from it to add other static methods. Hence, the
+            protected constructor disallows any instances of this object. 
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])">
+            <summary>
+            Verifies that two Streams are equal.  Two Streams are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+            <param name="message">The message to display if Streams are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String)">
+            <summary>
+            Verifies that two Streams are equal.  Two Streams are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream)">
+            <summary>
+            Verifies that two Streams are equal.  Two Streams are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+            <param name="message">The message to display if Streams are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String)">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo)">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+            <param name="message">The message to display if Streams are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String)">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String)">
+            <summary>
+            Verifies that two files are equal.  Two files are considered
+            equal if both are null, or if both have the same value byte for byte.
+            If they are not equal an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])">
+            <summary>
+            Asserts that two Streams are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+            <param name="message">The message to be displayed when the two Stream are the same.</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String)">
+            <summary>
+            Asserts that two Streams are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+            <param name="message">The message to be displayed when the Streams are the same.</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream)">
+            <summary>
+            Asserts that two Streams are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The expected Stream</param>
+            <param name="actual">The actual Stream</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+            <param name="message">The message to display if Streams are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String)">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo)">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">A file containing the value that is expected</param>
+            <param name="actual">A file containing the actual value</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String,System.Object[])">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+            <param name="message">The message to display if Streams are not equal</param>
+            <param name="args">Arguments to be used in formatting the message</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String)">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+            <param name="message">The message to display if objects are not equal</param>
+        </member>
+        <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String)">
+            <summary>
+            Asserts that two files are not equal. If they are equal
+            an <see cref="T:NUnit.Framework.AssertionException"/> is thrown.
+            </summary>
+            <param name="expected">The path to a file containing the value that is expected</param>
+            <param name="actual">The path to a file containing the actual value</param>
+        </member>
+        <member name="T:NUnit.Framework.TheoryAttribute">
+            <summary>
+            Adding this attribute to a method within a <seealso cref="T:NUnit.Framework.TestFixtureAttribute"/> 
+            class makes the method callable from the NUnit test runner. There is a property 
+            called Description which is optional which you can provide a more detailed test
+            description. This class cannot be inherited.
+            </summary>
+            
+            <example>
+            [TestFixture]
+            public class Fixture
+            {
+              [Test]
+              public void MethodToTest()
+              {}
+              
+              [Test(Description = "more detailed description")]
+              publc void TestDescriptionMethod()
+              {}
+            }
+            </example>
+            
+        </member>
+        <member name="T:NUnit.Framework.Randomizer">
+            <summary>
+            Randomizer returns a set of random values in a repeatable
+            way, to allow re-running of tests if necessary.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Randomizer.GetRandomizer(System.Reflection.MemberInfo)">
+            <summary>
+            Get a randomizer for a particular member, returning
+            one that has already been created if it exists.
+            This ensures that the same values are generated
+            each time the tests are reloaded.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Randomizer.GetRandomizer(System.Reflection.ParameterInfo)">
+            <summary>
+            Get a randomizer for a particular parameter, returning
+            one that has already been created if it exists.
+            This ensures that the same values are generated
+            each time the tests are reloaded.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Randomizer.#ctor">
+            <summary>
+            Construct a randomizer using a random seed
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Randomizer.#ctor(System.Int32)">
+            <summary>
+            Construct a randomizer using a specified seed
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Randomizer.GetDoubles(System.Int32)">
+            <summary>
+            Return an array of random doubles between 0.0 and 1.0.
+            </summary>
+            <param name="count"></param>
+            <returns></returns>
+        </member>
+        <member name="M:NUnit.Framework.Randomizer.GetDoubles(System.Double,System.Double,System.Int32)">
+            <summary>
+            Return an array of random doubles with values in a specified range.
+            </summary>
+        </member>
+        <member name="M:NUnit.Framework.Randomizer.GetInts(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Return an array of random ints with values in a specified range.
+            </summary>
+        </member>
+        <member name="P:NUnit.Framework.Randomizer.RandomSeed">
+            <summary>
+            Get a random seed for use in creating a randomizer.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.DatapointAttribute">
+            <summary>
+            Used to mark a field for use as a datapoint when executing a theory
+            within the same fixture that requires an argument of the field's Type.
+            </summary>
+        </member>
+        <member name="T:NUnit.Framework.DatapointsAttribute">
+            <summary>
+            Used to mark an array as containing a set of datapoints to be used
+            executing a theory within the same fixture that requires an argument 
+            of the Type of the array elements.
+            </summary>
+        </member>
+    </members>
+</doc>
build/tools/nunit/framework/nunit.mocks.dll
Binary file
build/tools/nunit/framework/pnunit.framework.dll
Binary file
build/tools/nunit/lib/Failure.jpg
Binary file
build/tools/nunit/lib/fit.dll
Binary file
build/tools/nunit/lib/Gray.jpg
Binary file
build/tools/nunit/lib/Ignored.jpg
Binary file
build/tools/nunit/lib/log4net.dll
Binary file
build/tools/nunit/lib/nunit-console-runner.dll
Binary file
build/tools/nunit/lib/nunit-gui-runner.dll
Binary file
build/tools/nunit/lib/nunit.core.dll
Binary file
build/tools/nunit/lib/nunit.core.interfaces.dll
Binary file
build/tools/nunit/lib/nunit.fixtures.dll
Binary file
build/tools/nunit/lib/nunit.uiexception.dll
Binary file
build/tools/nunit/lib/nunit.uikit.dll
Binary file
build/tools/nunit/lib/nunit.util.dll
Binary file
build/tools/nunit/lib/Success.jpg
Binary file
build/tools/nunit/agent.conf
@@ -0,0 +1,4 @@
+<AgentConfig>
+  <Port>8080</Port>
+  <PathToAssemblies>.</PathToAssemblies>
+</AgentConfig>
\ No newline at end of file
build/tools/nunit/agent.log.conf
@@ -0,0 +1,18 @@
+<log4net>
+	<!-- A1 is set to be a ConsoleAppender -->
+	<appender name="A1" type="log4net.Appender.ConsoleAppender">
+
+		<!-- A1 uses PatternLayout -->
+		<layout type="log4net.Layout.PatternLayout">
+			<!-- Print the date in ISO 8601 format -->
+			<conversionPattern value="%-5level %logger - %message%newline" />
+		</layout>
+	</appender>
+	
+	<!-- Set root logger level to DEBUG and its only appender to A1 -->
+	<root>
+		<level value="DEBUG" />
+		<appender-ref ref="A1" />
+	</root>
+
+</log4net>
build/tools/nunit/clr.bat
@@ -0,0 +1,96 @@
+@echo off
+rem Run a program under a particular version of the .Net framework
+rem by setting the COMPLUS_Version environment variable.
+rem
+rem This command was written by Charlie Poole for the NUnit project.
+rem You may use it separately from NUnit at your own risk.
+
+if "%1"=="/?" goto help
+if "%1"=="?" goto help
+if "%1"=="" goto GetVersion
+if /I "%1"=="off" goto RemoveVersion
+if "%2"=="" goto SetVersion
+goto main
+
+:help
+echo Control the version of the .Net framework that is used. The
+echo command has several forms:
+echo.
+echo CLR
+echo   Reports the version of the CLR that has been set
+echo.
+echo CLR version
+echo   Sets the local shell environment to use a specific
+echo   version of the CLR for subsequent commands.
+echo.
+echo CLR version command [arguments]
+echo   Executes a single command using the specified CLR version.
+echo.
+echo CLR off
+echo   Turns off specific version selection for commands
+echo.
+echo The CLR version may be specified as vn.n.n or n.n.n. In addition,
+echo the following shortcuts are recognized:
+echo   net-1.0, 1.0           For version 1.0.3705
+echo   net-1.1, 1.1           For version 1.1.4322
+echo   beta2                  For version 2.0.50215
+echo   net-2.0, 2.0           For version 2.0.50727
+echo.
+echo NOTE:
+echo   Any specific settings for required or supported runtime in 
+echo   the ^<startup^> section of a program's config file will 
+echo   override the version specified by this command, and the
+echo   command will have no effect.
+echo.
+goto done
+
+:main
+
+setlocal
+set CMD=
+call :SetVersion %1
+shift /1
+
+:loop 'Copy remaining arguments to form the command
+if "%1"=="" goto run
+set CMD=%CMD% %1
+shift /1
+goto :loop
+
+:run 'Execute the command
+%CMD%
+endlocal
+goto done
+
+:SetVersion
+set COMPLUS_Version=%1
+
+rem Substitute proper format for certain names
+if /I "%COMPLUS_Version:~0,1%"=="v"    goto useit
+if /I "%COMPLUS_Version%"=="net-1.0"   set COMPLUS_Version=v1.0.3705&goto report
+if /I "%COMPLUS_Version%"=="1.0"       set COMPLUS_Version=v1.0.3705&goto report
+if /I "%COMPLUS_Version%"=="net-1.1"   set COMPLUS_Version=v1.1.4322&goto report
+if /I "%COMPLUS_Version%"=="1.1"       set COMPLUS_Version=v1.1.4322&goto report
+if /I "%COMPLUS_Version%"=="beta2"     set COMPLUS_Version=v2.0.50215&goto report
+if /I "%COMPLUS_Version%"=="net-2.0"   set COMPLUS_Version=v2.0.50727&goto report
+if /I "%COMPLUS_Version%"=="2.0"       set COMPLUS_Version=v2.0.50727&goto report
+
+rem Add additional substitutions here, branching to report
+
+rem assume it's a version number without 'v'
+set COMPLUS_Version=v%COMPLUS_Version% 
+
+:report
+echo Setting CLR version to %COMPLUS_Version%
+goto done
+
+:GetVersion
+if "%COMPLUS_Version%"=="" echo CLR version is not set
+if NOT "%COMPLUS_Version%"=="" echo CLR version is set to %COMPLUS_Version%
+goto done
+
+:RemoveVersion
+set COMPLUS_Version=
+echo CLR version is no longer set
+
+:done
\ No newline at end of file
build/tools/nunit/launcher.log.conf
@@ -0,0 +1,18 @@
+<log4net>
+	<!-- A1 is set to be a ConsoleAppender -->
+	<appender name="A1" type="log4net.Appender.ConsoleAppender">
+
+		<!-- A1 uses PatternLayout -->
+		<layout type="log4net.Layout.PatternLayout">
+			<!-- Print the date in ISO 8601 format -->
+			<conversionPattern value="%-5level %logger - %message%newline" />
+		</layout>
+	</appender>
+	
+	<!-- Set root logger level to DEBUG and its only appender to A1 -->
+	<root>
+		<level value="DEBUG" />
+		<appender-ref ref="A1" />
+	</root>
+
+</log4net>
build/tools/nunit/nunit-agent.exe
Binary file
build/tools/nunit/nunit-agent.exe.config
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<configuration>
+    <!--
+     Application settings for nunit-agent.exe. Do NOT put settings
+	 for use by your tests here.
+	-->
+ <appSettings>
+	<!--	
+	 Specify the location to be used by .NET for the cache 
+	-->
+    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
+  </appSettings>
+
+  <!-- Set the level for tracing NUnit itself -->
+  <!-- 0=Off 1=Error 2=Warning 3=Info 4=Debug -->
+  <system.diagnostics>
+	  <switches>
+      <add name="NTrace" value="0" />
+	  </switches>
+  </system.diagnostics>
+  
+  <runtime>
+    <!-- We need this so test exceptions don't crash NUnit -->
+    <legacyUnhandledExceptionPolicy enabled="1" />
+
+    <!-- Look for addins in the addins directory for now -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <probing privatePath="lib;addins"/>
+   </assemblyBinding>
+
+    <!--
+    The following <assemblyBinding> section allows running nunit under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0
+    on a machine with only the .NET version 1.0 runtime installed.
+    If application and its tests were built for .NET 1.1 you will
+    also need to redirect system assemblies in the test config file,
+    which controls loading of the tests.
+   -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+			appliesTo="v1.0.3705">
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Data" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Drawing" 
+                          publicKeyToken="b03f5f7f11d50a3a" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Windows.Forms" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Xml" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+    </assemblyBinding>
+  
+  </runtime>
+  
+</configuration>
\ No newline at end of file
build/tools/nunit/nunit-console-x86.exe
Binary file
build/tools/nunit/nunit-console-x86.exe.config
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<configuration>
+	<!--
+     Application settings for NUnit-console.exe. Do NOT put settings
+	 for use by your tests here.
+	-->
+	<appSettings>
+	<!--
+	 Specify the location to be used by .NET for the cache
+	-->
+    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" /> 
+	</appSettings>
+
+  <!-- Set the level for tracing NUnit itself -->
+  <!-- 0=Off 1=Error 2=Warning 3=Info 4=Debug -->
+  <system.diagnostics>
+	  <switches>
+      <add name="NTrace" value="0" />
+	  </switches>
+	</system.diagnostics>
+
+  <runtime>
+    <!-- We need this so test exceptions don't crash NUnit -->
+    <legacyUnhandledExceptionPolicy enabled="1" />
+
+    <!-- Look for addins in the addins directory for now -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <probing privatePath="lib;addins"/>
+   </assemblyBinding>
+
+   <!--
+    The following <assemblyBinding> section allows running nunit under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0
+    on a machine with only the .NET version 1.0 runtime installed.
+    If application and its tests were built for .NET 1.1 you will
+    also need to redirect system assemblies in the test config file,
+    which controls loading of the tests.
+   -->
+   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+			appliesTo="v1.0.3705">
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Data" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Drawing" 
+                          publicKeyToken="b03f5f7f11d50a3a" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Windows.Forms" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Xml" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+    </assemblyBinding>
+
+  </runtime>
+  
+</configuration>
\ No newline at end of file
build/tools/nunit/nunit-console.exe
Binary file
build/tools/nunit/nunit-console.exe.config
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<configuration>
+	<!--
+     Application settings for NUnit-console.exe. Do NOT put settings
+	 for use by your tests here.
+	-->
+	<appSettings>
+	<!--
+	 Specify the location to be used by .NET for the cache
+	-->
+    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" /> 
+	</appSettings>
+
+  <!-- Set the level for tracing NUnit itself -->
+  <!-- 0=Off 1=Error 2=Warning 3=Info 4=Debug -->
+  <system.diagnostics>
+	  <switches>
+      <add name="NTrace" value="0" />
+	  </switches>
+	</system.diagnostics>
+
+  <runtime>
+    <!-- We need this so test exceptions don't crash NUnit -->
+    <legacyUnhandledExceptionPolicy enabled="1" />
+
+    <!-- Look for addins in the addins directory for now -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <probing privatePath="lib;addins"/>
+   </assemblyBinding>
+
+   <!--
+    The following <assemblyBinding> section allows running nunit under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0
+    on a machine with only the .NET version 1.0 runtime installed.
+    If application and its tests were built for .NET 1.1 you will
+    also need to redirect system assemblies in the test config file,
+    which controls loading of the tests.
+   -->
+   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+			appliesTo="v1.0.3705">
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Data" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Drawing" 
+                          publicKeyToken="b03f5f7f11d50a3a" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Windows.Forms" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Xml" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+    </assemblyBinding>
+
+  </runtime>
+  
+</configuration>
\ No newline at end of file
build/tools/nunit/nunit-x86.exe
Binary file
build/tools/nunit/nunit-x86.exe.config
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<configuration>
+  <!--
+     Application settings for NUnit-gui.exe. Do NOT put settings
+	 for use by your tests here.
+	-->
+  <appSettings>
+    <!--	
+	 Specify the location to be used by .NET for the cache 
+	-->
+    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
+    <!--
+     Uncomment to specify the url to be used for help. If not used, the
+     default value is something like
+		file://localhost/C:/Program Files/NUnit 2.2/doc/index.html
+	 This setting is provided in case your default browser doesn't
+	 support this format.
+	-->
+    <!-- <add key="helpUrl" value="http://www.nunit.org" /> -->
+  </appSettings>
+
+  <!-- Set the level for tracing NUnit itself -->
+  <!-- 0=Off 1=Error 2=Warning 3=Info 4=Debug -->
+  <system.diagnostics>
+	  <switches>
+      <add name="NTrace" value="0" />
+	  </switches>
+	</system.diagnostics>
+
+  <runtime>
+    <!-- We need this so test exceptions don't crash NUnit -->
+    <legacyUnhandledExceptionPolicy enabled="1" />
+
+    <!-- Look for addins in the addins directory for now -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <probing privatePath="lib;addins" />
+    </assemblyBinding>
+
+    <!--
+    The following <assemblyBinding> section allows running nunit under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0
+    on a machine with only the .NET version 1.0 runtime installed.
+    If application and its tests were built for .NET 1.1 you will
+    also need to redirect system assemblies in the test config file,
+    which controls loading of the tests.
+   -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+       appliesTo="v1.0.3705">
+
+      <dependentAssembly>
+        <assemblyIdentity name="System"
+                          publicKeyToken="b77a5c561934e089"
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0"
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly>
+        <assemblyIdentity name="System.Data"
+                          publicKeyToken="b77a5c561934e089"
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0"
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly>
+        <assemblyIdentity name="System.Drawing"
+                          publicKeyToken="b03f5f7f11d50a3a"
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0"
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly>
+        <assemblyIdentity name="System.Windows.Forms"
+                          publicKeyToken="b77a5c561934e089"
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0"
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly>
+        <assemblyIdentity name="System.Xml"
+                          publicKeyToken="b77a5c561934e089"
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0"
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+    </assemblyBinding>
+
+  </runtime>
+
+</configuration>
\ No newline at end of file
build/tools/nunit/nunit.exe
Binary file
build/tools/nunit/nunit.exe.config
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<configuration>
+  <!--
+     Application settings for NUnit-gui.exe. Do NOT put settings
+	 for use by your tests here.
+	-->
+  <appSettings>
+    <!--	
+	 Specify the location to be used by .NET for the cache 
+	-->
+    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
+    <!--
+     Uncomment to specify the url to be used for help. If not used, the
+     default value is something like
+		file://localhost/C:/Program Files/NUnit 2.2/doc/index.html
+	 This setting is provided in case your default browser doesn't
+	 support this format.
+	-->
+    <!-- <add key="helpUrl" value="http://www.nunit.org" /> -->
+  </appSettings>
+
+  <!-- Set the level for tracing NUnit itself -->
+  <!-- 0=Off 1=Error 2=Warning 3=Info 4=Debug -->
+  <system.diagnostics>
+	  <switches>
+      <add name="NTrace" value="0" />
+	  </switches>
+	</system.diagnostics>
+
+  <runtime>
+    <!-- We need this so test exceptions don't crash NUnit -->
+    <legacyUnhandledExceptionPolicy enabled="1" />
+
+    <!-- Look for addins in the addins directory for now -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <probing privatePath="lib;addins" />
+    </assemblyBinding>
+
+    <!--
+    The following <assemblyBinding> section allows running nunit under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0
+    on a machine with only the .NET version 1.0 runtime installed.
+    If application and its tests were built for .NET 1.1 you will
+    also need to redirect system assemblies in the test config file,
+    which controls loading of the tests.
+   -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+       appliesTo="v1.0.3705">
+
+      <dependentAssembly>
+        <assemblyIdentity name="System"
+                          publicKeyToken="b77a5c561934e089"
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0"
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly>
+        <assemblyIdentity name="System.Data"
+                          publicKeyToken="b77a5c561934e089"
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0"
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly>
+        <assemblyIdentity name="System.Drawing"
+                          publicKeyToken="b03f5f7f11d50a3a"
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0"
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly>
+        <assemblyIdentity name="System.Windows.Forms"
+                          publicKeyToken="b77a5c561934e089"
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0"
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly>
+        <assemblyIdentity name="System.Xml"
+                          publicKeyToken="b77a5c561934e089"
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0"
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+    </assemblyBinding>
+
+  </runtime>
+
+</configuration>
\ No newline at end of file
build/tools/nunit/nunit.framework.dll
Binary file
build/tools/nunit/NUnitFitTests.html
@@ -0,0 +1,277 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<body>
+		<h1>NUnit Acceptance Tests</h1>
+		<p>
+		Developers love self-referential programs! Hence, NUnit has always run all it's 
+		own tests, even those that are not really unit tests.
+		<p>Now, beginning with NUnit 2.4, NUnit has top-level tests using Ward Cunningham's 
+			FIT framework. At this time, the tests are pretty rudimentary, but it's a start 
+			and it's a framework for doing more.
+			<h2>Running the Tests</h2>
+		<p>Open a console or shell window and navigate to the NUnit bin directory, which 
+			contains this file. To run the test under Microsoft .Net, enter the command
+			<pre>    runFile NUnitFitTests.html TestResults.html .</pre>
+			To run it under Mono, enter
+			<pre>    mono runFile.exe NUnitFitTests.html TestResults.html .</pre>
+			Note the space and dot at the end of each command. The results of your test 
+			will be in TestResults.html in the same directory.
+			<h2>Platform and CLR Version</h2>
+			<table BORDER cellSpacing="0" cellPadding="5">
+				<tr>
+					<td colspan="2">NUnit.Fixtures.PlatformInfo</td>
+				</tr>
+			</table>
+			<h2>Verify Unit Tests</h2>
+		<p>
+		Load and run the NUnit unit tests, verifying that the results are as expected. 
+		When these tests are run on different platforms, different numbers of tests may 
+		be skipped, so the values for Skipped and Run tests are informational only.
+		<p>
+		The number of tests in each assembly should be constant across all platforms - 
+		any discrepancy usually means that one of the test source files was not 
+		compiled on the platform. There should be no failures and no tests ignored.
+		<p><b>Note:</b>
+		At the moment, the nunit.extensions.tests assembly is failing because the 
+		fixture doesn't initialize addins in the test domain.
+		<p>
+			<table BORDER cellSpacing="0" cellPadding="5">
+				<tr>
+					<td colspan="6">NUnit.Fixtures.AssemblyRunner</td>
+				</tr>
+				<tr>
+					<td>Assembly</td>
+					<td>Tests()</td>
+					<td>Run()</td>
+					<td>Skipped()</td>
+					<td>Ignored()</td>
+					<td>Failures()</td>
+				</tr>
+				<tr>
+					<td>nunit.framework.tests.dll</td>
+					<td>397</td>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td>nunit.core.tests.dll</td>
+					<td>355</td>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td>nunit.util.tests.dll</td>
+					<td>238</td>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td>nunit.mocks.tests.dll</td>
+					<td>43</td>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td>nunit.extensions.tests.dll</td>
+					<td>5</td>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td>nunit-console.tests.dll</td>
+					<td>40</td>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td>nunit.uikit.tests.dll</td>
+					<td>34</td>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td>nunit-gui.tests.dll</td>
+					<td>15</td>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td>nunit.fixtures.tests.dll</td>
+					<td>6</td>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+			</table>
+			<h2>Code Snippet Tests</h2>
+		<p>
+		These tests create a test assembly from a snippet of code and then load and run 
+		the tests that it contains, verifying that the structure of the loaded tests is 
+		as expected and that the number of tests run, skipped, ignored or failed is 
+		correct.
+		<p>
+			<table BORDER cellSpacing="0" cellPadding="5">
+				<tr>
+					<td colspan="6">NUnit.Fixtures.SnippetRunner</td>
+				</tr>
+				<tr>
+					<td>Code</td>
+					<td>Tree()</td>
+					<td>Run()</td>
+					<td>Skipped()</td>
+					<td>Ignored()</td>
+					<td>Failures()</td>
+				</tr>
+				<tr>
+					<td><pre>public class TestClass
+{
+}</pre>
+					</td>
+					<td>EMPTY</td>
+					<td>0</td>
+					<td>0</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td><pre>using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+}</pre>
+					</td>
+					<td>TestClass</td>
+					<td>0</td>
+					<td>0</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td><pre>using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+    [Test]
+    public void T1() { }
+    [Test]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}</pre>
+					</td>
+					<td><pre>TestClass
+&gt;T1
+&gt;T2
+&gt;T3</pre>
+					</td>
+					<td>3</td>
+					<td>0</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td><pre>using NUnit.Framework;
+
+[TestFixture]
+public class TestClass1
+{
+    [Test]
+    public void T1() { }
+}
+
+[TestFixture]
+public class TestClass2
+{
+    [Test]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}</pre>
+					</td>
+					<td><pre>TestClass1
+&gt;T1
+TestClass2
+&gt;T2
+&gt;T3</pre>
+					</td>
+					<td>3</td>
+					<td>0</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td><pre>using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+    [Test]
+    public void T1() { }
+    [Test, Ignore]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}</pre>
+					</td>
+					<td><pre>TestClass
+&gt;T1
+&gt;T2
+&gt;T3</pre>
+					</td>
+					<td>2</td>
+					<td>0</td>
+					<td>1</td>
+					<td>0</td>
+				</tr>
+				<tr>
+					<td><pre>using NUnit.Framework;
+
+[TestFixture]
+public class TestClass
+{
+    [Test]
+    public void T1() { }
+    [Test, Explicit]
+    public void T2() { }
+    [Test]
+    public void T3() { }
+}</pre>
+					</td>
+					<td><pre>TestClass
+&gt;T1
+&gt;T2
+&gt;T3</pre>
+					</td>
+					<td>2</td>
+					<td>1</td>
+					<td>0</td>
+					<td>0</td>
+				</tr>
+			</table>
+			<h2>Summary Information</h2>
+			<table BORDER cellSpacing="0" cellPadding="5">
+				<tr>
+					<td colspan="2">fit.Summary</td>
+				</tr>
+			</table>
+	</body>
+</html>
build/tools/nunit/NUnitTests.config
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+<!--
+	 This is the configuration file for the NUnitTests.nunit test project. You may
+	 need to create a similar configuration file for your own test project. 
+ -->	 
+
+<!--
+	 The <NUnit> section is only needed if you want to use a non-default value
+	 for any of the settings. It is commented out below. If you are going to use
+   it, you must deifne the NUnit section group and the sections you need.
+ 
+   The syntax shown here works for most runtimes. If NUnit fails at startup, you
+   can try specifying the name of the assembly containing the NameValueSectionHandler:
+   
+      <section name="TestCaseBuilder" type="System.Configuration.NameValueSectionHandler, System" />
+      
+   If that fails, try the fully qualified name of the assembly:
+   
+      <section name="TestCaseBuilder" type="System.Configuration.NameValueSectionHandler, System, 
+             Version=2.0.50727.832, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+             
+   Unfortunately, this last approach makes your config file non-portable across runtimes.
+   -->
+
+<!--
+  <configSections>
+		<sectionGroup name="NUnit">
+			<section name="TestCaseBuilder" type="System.Configuration.NameValueSectionHandler"/>
+			<section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
+		</sectionGroup>
+	</configSections>
+ -->
+
+  <appSettings>
+		<!--   User application and configured property settings go here.-->
+		<!--   Example: <add key="settingName" value="settingValue"/> -->
+		<add key="test.setting" value="54321" />
+	</appSettings>
+
+<!-- Sample NUnit section group showing all default values -->
+<!--
+	<NUnit>
+		<TestCaseBuilder>
+			<add key="OldStyleTestCases" value="false" />
+		</TestCaseBuilder>
+		<TestRunner>
+			<add key="ApartmentState" value="MTA" />
+			<add key="ThreadPriority" value="Normal" />
+		</TestRunner>
+	</NUnit>
+-->
+  
+   <!--
+    The following <runtime> section allows running nunit tests under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0.
+   --> 
+	<runtime>
+		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+				appliesTo="v1.0.3705">
+			<dependentAssembly>
+				<assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Data" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Drawing" publicKeyToken="b03f5f7f11d50a3a" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Windows.Forms" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Xml" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+		</assemblyBinding>
+	</runtime>
+</configuration> 
build/tools/nunit/NUnitTests.nunit
@@ -0,0 +1,14 @@
+<NUnitProject>
+  <Settings appbase="."/>
+  <Config name="Default" binpath="lib;tests;framework" runtimeFramework="v2.0">
+    <assembly path="tests/nunit.framework.tests.dll" />
+    <assembly path="tests/nunit.core.tests.dll" />
+    <assembly path="tests/nunit.util.tests.dll" />
+    <assembly path="tests/nunit.mocks.tests.dll" />
+    <assembly path="tests/nunit-console.tests.dll" />
+    <assembly path="tests/nunit.uiexception.tests.dll" />
+    <assembly path="tests/nunit.uikit.tests.dll" />
+    <assembly path="tests/nunit-gui.tests.dll" />
+    <assembly path="tests/nunit.fixtures.tests.dll" />
+  </Config>
+</NUnitProject>
build/tools/nunit/pnunit-agent.exe
Binary file
build/tools/nunit/pnunit-agent.exe.config
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<configuration>
+  <!--
+     Application settings for pnunit-agent.exe. Do NOT put settings
+	 for use by your tests here.
+	-->
+  <appSettings>
+    <!--
+	 Specify the location to be used by .NET for the cache
+	-->
+    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
+  </appSettings>
+
+  <!-- Set the level for tracing NUnit itself -->
+  <!-- 0=Off 1=Error 2=Warning 3=Info 4=Debug -->
+  <system.diagnostics>
+	  <switches>
+      <add name="NTrace" value="0" />
+	  </switches>
+  </system.diagnostics>
+  
+  <runtime>
+    <!-- We need this so test exceptions don't crash NUnit -->
+    <legacyUnhandledExceptionPolicy enabled="1" />
+
+    <!-- Look for addins in the addins directory for now -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <probing privatePath="framework;lib;addins"/>
+   </assemblyBinding>
+
+    <!--
+    The following <assemblyBinding> section allows running nunit under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0
+    on a machine with only the .NET version 1.0 runtime installed.
+    If application and its tests were built for .NET 1.1 you will
+    also need to redirect system assemblies in the test config file,
+    which controls loading of the tests.
+   -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+			appliesTo="v1.0.3705">
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Data" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Drawing" 
+                          publicKeyToken="b03f5f7f11d50a3a" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Windows.Forms" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Xml" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+    </assemblyBinding>
+  
+  </runtime>
+  
+</configuration>
\ No newline at end of file
build/tools/nunit/pnunit-launcher.exe
Binary file
build/tools/nunit/pnunit-launcher.exe.config
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<configuration>
+  <!--
+     Application settings for pnunit-launch.exe. Do NOT put settings
+	 for use by your tests here.
+	-->
+  <appSettings>
+    <!--
+	 Specify the location to be used by .NET for the cache
+	-->
+    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
+  </appSettings>
+
+  <!-- Set the level for tracing NUnit itself -->
+  <!-- 0=Off 1=Error 2=Warning 3=Info 4=Debug -->
+  <system.diagnostics>
+	  <switches>
+      <add name="NTrace" value="0" />
+	  </switches>
+  </system.diagnostics>
+  
+  <runtime>
+    <!-- We need this so test exceptions don't crash NUnit -->
+    <legacyUnhandledExceptionPolicy enabled="1" />
+
+    <!-- Look for addins in the addins directory for now -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <probing privatePath="framework;lib;addins"/>
+   </assemblyBinding>
+
+    <!--
+    The following <assemblyBinding> section allows running nunit under 
+    .NET 1.0 by redirecting assemblies. The appliesTo attribute
+    causes the section to be ignored except under .NET 1.0
+    on a machine with only the .NET version 1.0 runtime installed.
+    If application and its tests were built for .NET 1.1 you will
+    also need to redirect system assemblies in the test config file,
+    which controls loading of the tests.
+   -->
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+			appliesTo="v1.0.3705">
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Data" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Drawing" 
+                          publicKeyToken="b03f5f7f11d50a3a" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Windows.Forms" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+      <dependentAssembly> 
+        <assemblyIdentity name="System.Xml" 
+                          publicKeyToken="b77a5c561934e089" 
+                          culture="neutral"/>
+        <bindingRedirect  oldVersion="1.0.5000.0" 
+                          newVersion="1.0.3300.0"/>
+      </dependentAssembly>
+
+    </assemblyBinding>
+  
+  </runtime>
+  
+</configuration>
\ No newline at end of file
build/tools/nunit/pnunit.framework.dll
Binary file
build/tools/nunit/pnunit.tests.dll
Binary file
build/tools/nunit/runFile.exe
Binary file
build/tools/nunit/runFile.exe.config
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <startup>
+	  <supportedRuntime version="v2.0.50727" />
+	  <supportedRuntime version="v2.0.50215" />
+	  <supportedRuntime version="v2.0.40607" />
+	  <supportedRuntime version="v1.1.4322" />
+	  <supportedRuntime version="v1.0.3705" />
+	
+	  <requiredRuntime version="v1.0.3705" />
+  </startup>
+
+<!--
+     The following <runtime> section allows running nunit tests under 
+     .NET 1.0 by redirecting assemblies. The appliesTo attribute
+     causes the section to be ignored except under .NET 1.0.
+	-->
+	<runtime>
+		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
+				appliesTo="v1.0.3705">
+			<dependentAssembly>
+				<assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Data" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Drawing" publicKeyToken="b03f5f7f11d50a3a" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Windows.Forms" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="System.Xml" publicKeyToken="b77a5c561934e089" culture="" />
+				<bindingRedirect oldVersion="1.0.5000.0" newVersion="1.0.3300.0" />
+			</dependentAssembly>
+		</assemblyBinding>
+	</runtime>
+</configuration>
build/tools/nunit/runpnunit.bat
@@ -0,0 +1,2 @@
+start pnunit-agent agent.conf
+pnunit-launcher test.conf
\ No newline at end of file
build/tools/nunit/test.conf
@@ -0,0 +1,24 @@
+<TestGroup>
+    <ParallelTests>
+
+        <ParallelTest>
+            <Name>Testing</Name>
+            <Tests>
+                <TestConf>
+                    <Name>Testing</Name>
+                    <Assembly>pnunit.tests.dll</Assembly>
+                    <TestToRun>TestLibraries.Testing.EqualTo19</TestToRun>
+                    <Machine>localhost:8080</Machine>
+                    <TestParams>
+                        <string>..\server</string> <!-- server dir -->
+			<string></string> <!-- database server -->
+			<string></string><!-- conn string -->
+                    </TestParams>                                                                                
+                </TestConf>
+
+            </Tests>
+        </ParallelTest>
+
+
+    </ParallelTests>
+</TestGroup>
build/project.test.build
@@ -1,19 +1,16 @@
 ๏ปฟ<?xml version="1.0" encoding="utf-8" ?>
 <project name="project.test">
 	<property name="test.output" value="tests.dll" />
-	<property name="xunit.cons.exe" value="${build.tools.dir}\gallio\gallio.echo.exe" />
+	<!--<property name="xunit.cons.exe" value="${build.tools.dir}\gallio\gallio.echo.exe" />-->
+	<property name="xunit.cons.exe" value="${build.tools.dir}\nunit\nunit-console.exe" />
 
 	<target name="run.test" depends="app.compile">
 		<exec program="${xunit.cons.exe}" workingdir="${build.compile.dir}" commandline="${xunit.arguments}" />
 	</target>
 
 	<target name="test">
-		<property name="xunit.arguments" value="${build.compile.dir}/${test.output} /sr /rt:text /rd:${build.compile.dir}" />
-		<call target="run.test" />
-	</target>
-
-	<target name="test.html">
-		<property name="xunit.arguments" value="${build.compile.dir}/${test.output} /sr /rt:html /rd:${build.compile.dir}" />
+		<!--<property name="xunit.arguments" value="${build.compile.dir}/${test.output} /sr /rt:text /rd:${build.compile.dir}" />-->
+		<property name="xunit.arguments" value="${build.compile.dir}/${test.output}" />
 		<call target="run.test" />
 	</target>
 
product/client/presentation.windows/presenters/CompensationPresenter.cs
@@ -1,4 +1,4 @@
-namespace presentation.windows
+namespace presentation.windows.presenters
 {
     public class CompensationPresenter : TabPresenter
     {
product/client/presentation.windows/views/CompensationTab.xaml
@@ -1,4 +1,4 @@
-๏ปฟ<UserControl x:Class="presentation.windows.CompensationTab"
+<UserControl x:Class="presentation.windows.views.CompensationTab"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" MinWidth="800" MinHeight="600">
     <DockPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
product/client/presentation.windows/views/CompensationTab.xaml.cs
@@ -1,4 +1,6 @@
-๏ปฟnamespace presentation.windows
+using presentation.windows.presenters;
+
+namespace presentation.windows.views
 {
     public partial class CompensationTab : Tab<CompensationPresenter>
     {
product/client/presentation.windows/views/ShellWIndow.xaml
@@ -1,4 +1,4 @@
-๏ปฟ<Window x:Class="presentation.windows.ShellWindow"
+<Window x:Class="presentation.windows.views.ShellWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MoMoney - (ALPHA)" MinHeight="600" MinWidth="800" WindowStartupLocation="CenterScreen" WindowState="Maximized">
     <DockPanel  VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
product/client/presentation.windows/views/ShellWIndow.xaml.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
 using System.Windows;
 using gorilla.commons.utility;
 
-namespace presentation.windows
+namespace presentation.windows.views
 {
     public partial class ShellWindow : Shell, RegionManager
     {
product/client/presentation.windows/ComposeShell.cs
@@ -1,6 +1,8 @@
 using System.Threading;
 using System.Windows.Controls;
 using System.Windows.Controls.Primitives;
+using presentation.windows.presenters;
+using presentation.windows.views;
 
 namespace presentation.windows
 {
product/client/presentation.windows/Program.cs
@@ -6,6 +6,8 @@ using Autofac.Builder;
 using Gorilla.Commons.Infrastructure.Container;
 using gorilla.commons.infrastructure.thirdparty.Autofac;
 using gorilla.commons.utility;
+using presentation.windows.presenters;
+using presentation.windows.views;
 
 namespace presentation.windows
 {
product/tests/unit/client/boot/container/registration/proxy_configuration/InterceptingFilterFactorySpecs.cs
@@ -1,33 +1,32 @@
 using Castle.Core.Interceptor;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using MoMoney.boot.container.registration.proxy_configuration;
 
-namespace tests.unit.client.boot.container.registration.proxy_configuration
-{
-    public class InterceptingFilterFactorySpecs
-    {
-        public class when_creating_an_intercepting_filter :
-            concerns_for<IInterceptingFilterFactory, InterceptingFilterFactory>
-        {
-            context c = () =>
-            {
-                condition = an<Specification<IInvocation>>();
-            };
-
-            because b = () =>
-            {
-                result = sut.create_for(condition);
-            };
-
-            it should_return_a_filter = () =>
-            {
-                result.should_not_be_null();
-                result.should_be_an_instance_of<InterceptingFilter>();
-            };
-
-            static Specification<IInvocation> condition;
-            static IInterceptor result;
-        }
-    }
+namespace tests.unit.client.boot.container.registration.proxy_configuration
+{
+    public class InterceptingFilterFactorySpecs
+    {
+        [Concern(typeof (InterceptingFilterFactory))]
+        public class when_creating_an_intercepting_filter : runner<InterceptingFilterFactory>
+        {
+            context c = () =>
+            {
+                condition = an<Specification<IInvocation>>();
+            };
+
+            because b = () =>
+            {
+                result = sut.create_for(condition);
+            };
+
+            it should_return_a_filter = () =>
+            {
+                result.should_not_be_null();
+                result.should_be_an_instance_of<InterceptingFilter>();
+            };
+
+            static Specification<IInvocation> condition;
+            static IInterceptor result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/boot/container/registration/proxy_configuration/InterceptingFilterSpecs.cs
@@ -1,50 +1,50 @@
 using Castle.Core.Interceptor;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using MoMoney.boot.container.registration.proxy_configuration;
 
-namespace tests.unit.client.boot.container.registration.proxy_configuration
-{
-    public class InterceptingFilterSpecs
-    {
-        public class when_intercepting_a_call : concerns_for<IInterceptor, InterceptingFilter>
-        {
-            context c = () =>
-            {
-                condition = the_dependency<Specification<IInvocation>>();
-            };
-
-            static protected Specification<IInvocation> condition;
-        }
-
-        public class when_a_condition_is_not_met : when_intercepting_a_call
-        {
-            context c = () =>
-            {
-                invocation = an<IInvocation>();
-                when_the(condition).is_told_to(x => x.is_satisfied_by(invocation)).it_will_return(false);
-            };
-
-            because b = () => sut.Intercept(invocation);
-
-            it should_not_forward_the_call_to_the_target = () => invocation.was_not_told_to(x => x.Proceed());
-
-            static IInvocation invocation;
-        }
-
-        public class when_a_condition_is_met : when_intercepting_a_call
-        {
-            context c = () =>
-            {
-                invocation = an<IInvocation>();
-                when_the(condition).is_told_to(x => x.is_satisfied_by(invocation)).it_will_return(true);
-            };
-
-            because b = () => sut.Intercept(invocation);
-
-            it should_forward_the_call_to_the_target = () => invocation.was_told_to(x => x.Proceed());
-
-            static IInvocation invocation;
-        }
-    }
+namespace tests.unit.client.boot.container.registration.proxy_configuration
+{
+    public class InterceptingFilterSpecs
+    {
+        [Concern(typeof(InterceptingFilter))]
+        public class when_intercepting_a_call : runner<InterceptingFilter>
+        {
+            context c = () =>
+            {
+                condition = dependency<Specification<IInvocation>>();
+            };
+
+            static protected Specification<IInvocation> condition;
+        }
+
+        public class when_a_condition_is_not_met : when_intercepting_a_call
+        {
+            context c = () =>
+            {
+                invocation = an<IInvocation>();
+                condition.is_told_to(x => x.is_satisfied_by(invocation)).it_will_return(false);
+            };
+
+            because b = () => sut.Intercept(invocation);
+
+            it should_not_forward_the_call_to_the_target = () => invocation.was_not_told_to(x => x.Proceed());
+
+            static IInvocation invocation;
+        }
+
+        public class when_a_condition_is_met : when_intercepting_a_call
+        {
+            context c = () =>
+            {
+                invocation = an<IInvocation>();
+                condition.is_told_to(x => x.is_satisfied_by(invocation)).it_will_return(true);
+            };
+
+            because b = () => sut.Intercept(invocation);
+
+            it should_forward_the_call_to_the_target = () => invocation.was_told_to(x => x.Proceed());
+
+            static IInvocation invocation;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/boot/container/registration/proxy_configuration/SecuringProxySpecs.cs
@@ -1,58 +1,57 @@
 using System.Security.Principal;
 using System.Threading;
 using Castle.Core.Interceptor;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using MoMoney.boot.container.registration.proxy_configuration;
 
-namespace tests.unit.client.boot.container.registration.proxy_configuration
-{
-    public class SecuringProxySpecs {}
-
-    public class when_attempting_to_perform_an_action_that_requires_authentication :
-        concerns_for<SecuringProxy>
-    {
-        context c = () =>
-        {
-            filter = the_dependency<Specification<IPrincipal>>();
-        };
-
-        static protected Specification<IPrincipal> filter;
-    }
-
-    public class when_logged_in_as_a_user_that_belongs_to_the_proper_role :
-        when_attempting_to_perform_an_action_that_requires_authentication
-    {
-        context c = () =>
-        {
-            invocation = an<IInvocation>();
-            when_the(filter)
-                .is_told_to(x => x.is_satisfied_by(Thread.CurrentPrincipal))
-                .it_will_return(true);
-        };
-
-        because b = () => sut.Intercept(invocation);
-
-        it should_proceed_with_request = () => invocation.was_told_to(x => x.Proceed());
-
-        static IInvocation invocation;
-    }
-
-    public class when_not_logged_in_as_a_user_that_belongs_to_the_proper_role :
-        when_attempting_to_perform_an_action_that_requires_authentication
-    {
-        context c = () =>
-        {
-            invocation = an<IInvocation>();
-            when_the(filter)
-                .is_told_to(x => x.is_satisfied_by(Thread.CurrentPrincipal))
-                .it_will_return(false);
-        };
-
-        because b = () => sut.Intercept(invocation);
-
-        it should_not_proceed_with_request = () => invocation.was_not_told_to(x => x.Proceed());
-
-        static IInvocation invocation;
-    }
+namespace tests.unit.client.boot.container.registration.proxy_configuration
+{
+    public class SecuringProxySpecs {}
+
+    public class when_attempting_to_perform_an_action_that_requires_authentication :
+        tests_for<SecuringProxy>
+    {
+        context c = () =>
+        {
+            filter = dependency<Specification<IPrincipal>>();
+        };
+
+        static protected Specification<IPrincipal> filter;
+    }
+
+    public class when_logged_in_as_a_user_that_belongs_to_the_proper_role :
+        when_attempting_to_perform_an_action_that_requires_authentication
+    {
+        context c = () =>
+        {
+            invocation = an<IInvocation>();
+            filter
+                .is_told_to(x => x.is_satisfied_by(Thread.CurrentPrincipal))
+                .it_will_return(true);
+        };
+
+        because b = () => sut.Intercept(invocation);
+
+        it should_proceed_with_request = () => invocation.was_told_to(x => x.Proceed());
+
+        static IInvocation invocation;
+    }
+
+    public class when_not_logged_in_as_a_user_that_belongs_to_the_proper_role :
+        when_attempting_to_perform_an_action_that_requires_authentication
+    {
+        context c = () =>
+        {
+            invocation = an<IInvocation>();
+            filter
+                .is_told_to(x => x.is_satisfied_by(Thread.CurrentPrincipal))
+                .it_will_return(false);
+        };
+
+        because b = () => sut.Intercept(invocation);
+
+        it should_not_proceed_with_request = () => invocation.was_not_told_to(x => x.Proceed());
+
+        static IInvocation invocation;
+    }
 }
\ No newline at end of file
product/tests/unit/client/boot/container/registration/AutoWiteComponentsInToTheSpecs.cs
@@ -1,21 +1,18 @@
 using System;
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.Reflection;
 using gorilla.commons.infrastructure.thirdparty;
 using gorilla.commons.infrastructure.thirdparty.Castle.Windsor.Configuration;
-using MbUnit.Framework;
 using MoMoney.boot.container.registration;
+using NUnit.Framework;
 
 namespace tests.unit.client.boot.container.registration
 {
-    [Ignore("I am not sure why but line 19 throws a BadImageFormatException")]
-    public abstract class behaves_like_auto_registering_components_into_container :
-        concerns_for<IStartupCommand, AutoWireComponentsInToThe>
+    public abstract class behaves_like_auto_registering_components_into_container : runner<IStartupCommand>
     {
         context c = () =>
         {
-            exclusions_criteria = the_dependency<ComponentExclusionSpecification>();
-            builder = the_dependency<DependencyRegistration>();
+            exclusions_criteria = dependency<ComponentExclusionSpecification>();
+            builder = dependency<DependencyRegistration>();
         };
 
         public override IStartupCommand create_sut()
@@ -27,8 +24,9 @@ namespace tests.unit.client.boot.container.registration
         static protected ComponentExclusionSpecification exclusions_criteria;
     }
 
-    public class when_registering_all_the_components_from_an_assembly :
-        behaves_like_auto_registering_components_into_container
+    [Ignore("I am not sure why but line 19 throws a BadImageFormatException")]
+    [Concern(typeof (AutoWireComponentsInToThe))]
+    public class when_registering_all_the_components_from_an_assembly : behaves_like_auto_registering_components_into_container
     {
         it should_register_each_component_by_its_last_interface =
             () => builder.was_told_to(x => x.transient(interface_type, component_with_multiple_interfaces));
@@ -47,10 +45,10 @@ namespace tests.unit.client.boot.container.registration
             component_with_no_interface = typeof (ComponentNoInterface);
             bad_type = typeof (BadComponent);
 
-            when_the(assembly).is_told_to(x => x.all_types())
+            assembly.is_told_to(x => x.all_types())
                 .it_will_return(component_with_multiple_interfaces, component_with_no_interface,
                                 bad_type);
-            when_the(exclusions_criteria).is_told_to(x => x.is_satisfied_by(bad_type))
+            exclusions_criteria.is_told_to(x => x.is_satisfied_by(bad_type))
                 .it_will_return(false);
         };
 
product/tests/unit/client/boot/container/ComponentExclusionSpecificationSpecs.cs
@@ -2,101 +2,99 @@ using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Windows.Forms;
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.Container;
-using gorilla.commons.infrastructure.thirdparty.Castle.Windsor.Configuration;
 using gorilla.commons.utility;
 using MoMoney.boot.container;
 using MoMoney.Domain.Core;
 
-namespace tests.unit.client.boot.container
-{
-    public abstract class behaves_like_component_exclusion_specification :
-        concerns_for<ComponentExclusionSpecification, ComponentExclusionSpecificationImplementation> {}
-
-    public class when_checking_if_a_windows_form_should_be_excluded : behaves_like_component_exclusion_specification
-    {
-        it should_be_excluded = () => result.should_be_true();
-
-        because b = () =>
-        {
-            result = sut.is_satisfied_by(typeof (FakeForm));
-        };
-
-        static bool result;
-    }
-
-    public class when_checking_if_a_dependency_registry_should_be_excluded :
-        behaves_like_component_exclusion_specification
-    {
-        it should_be_excluded = () => result.should_be_true();
-
-        because b = () =>
-        {
-            result = sut.is_satisfied_by(typeof (FakeDependencyRegistry));
-        };
-
-        static bool result;
-    }
-
-    public class when_checking_if_a_static_class_should_be_excluded : behaves_like_component_exclusion_specification
-    {
-        it should_be_excluded = () => result.should_be_true();
-
-        because b = () =>
-        {
-            result = sut.is_satisfied_by(typeof (FakeStaticClass));
-        };
-
-        static bool result;
-    }
-
-    public class when_checking_if_an_domain_entity_should_be_excluded : behaves_like_component_exclusion_specification
-    {
-        it should_be_excluded = () => result.should_be_true();
-
-        because b = () =>
-        {
-            result = sut.is_satisfied_by(typeof (FakeEntity));
-        };
-
-        static bool result;
-    }
-
-    public class when_checking_if_an_interface_should_be_excluded : behaves_like_component_exclusion_specification
-    {
-        it should_be_excluded = () => result.should_be_true();
-
-        because b = () =>
-        {
-            result = sut.is_satisfied_by(typeof (IDbConnection));
-        };
-
-        static bool result;
-    }
-
-    public class FakeForm : Form {}
-
-    public class FakeDependencyRegistry : DependencyRegistry
-    {
-        public Interface get_a<Interface>()
-        {
-            throw new NotImplementedException();
-        }
-
-        public IEnumerable<Contract> get_all<Contract>()
-        {
-            throw new NotImplementedException();
-        }
-    }
-
-    static public class FakeStaticClass {}
-
-    public class FakeEntity : Entity
-    {
-        public Id<Guid> id
-        {
-            get { throw new NotImplementedException(); }
-        }
-    }
+namespace tests.unit.client.boot.container
+{
+    [Concern(typeof (ComponentExclusionSpecificationImplementation))]
+    public abstract class behaves_like_component_exclusion_specification : runner<ComponentExclusionSpecificationImplementation> {}
+
+    public class when_checking_if_a_windows_form_should_be_excluded : behaves_like_component_exclusion_specification
+    {
+        it should_be_excluded = () => result.should_be_true();
+
+        because b = () =>
+        {
+            result = sut.is_satisfied_by(typeof (FakeForm));
+        };
+
+        static bool result;
+    }
+
+    public class when_checking_if_a_dependency_registry_should_be_excluded :
+        behaves_like_component_exclusion_specification
+    {
+        it should_be_excluded = () => result.should_be_true();
+
+        because b = () =>
+        {
+            result = sut.is_satisfied_by(typeof (FakeDependencyRegistry));
+        };
+
+        static bool result;
+    }
+
+    public class when_checking_if_a_static_class_should_be_excluded : behaves_like_component_exclusion_specification
+    {
+        it should_be_excluded = () => result.should_be_true();
+
+        because b = () =>
+        {
+            result = sut.is_satisfied_by(typeof (FakeStaticClass));
+        };
+
+        static bool result;
+    }
+
+    public class when_checking_if_an_domain_entity_should_be_excluded : behaves_like_component_exclusion_specification
+    {
+        it should_be_excluded = () => result.should_be_true();
+
+        because b = () =>
+        {
+            result = sut.is_satisfied_by(typeof (FakeEntity));
+        };
+
+        static bool result;
+    }
+
+    public class when_checking_if_an_interface_should_be_excluded : behaves_like_component_exclusion_specification
+    {
+        it should_be_excluded = () => result.should_be_true();
+
+        because b = () =>
+        {
+            result = sut.is_satisfied_by(typeof (IDbConnection));
+        };
+
+        static bool result;
+    }
+
+    public class FakeForm : Form {}
+
+    public class FakeDependencyRegistry : DependencyRegistry
+    {
+        public Interface get_a<Interface>()
+        {
+            throw new NotImplementedException();
+        }
+
+        public IEnumerable<Contract> get_all<Contract>()
+        {
+            throw new NotImplementedException();
+        }
+    }
+
+    static public class FakeStaticClass {}
+
+    public class FakeEntity : Entity
+    {
+        public Id<Guid> id
+        {
+            get { throw new NotImplementedException(); }
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/boot/modules/core/LoadPresentationModulesCommandSpecs.cs
@@ -1,29 +1,27 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using MoMoney.Modules.Core;
 using MoMoney.Presentation;
 
-namespace tests.unit.client.boot.modules.core
-{
-    public class LoadPresentationModulesCommandSpecs
-    {
-        [Concern(typeof (LoadPresentationModulesCommand))]
-        public class when_loading_the_application_shell :
-            concerns_for<ILoadPresentationModulesCommand, LoadPresentationModulesCommand>
-        {
-            it should_initialize_all_the_presentation_modules = () => module.was_told_to(x => x.run());
-
-            context c = () =>
-            {
-                registry = the_dependency<Registry<IModule>>();
-                module = an<IModule>();
-                when_the(registry).is_told_to(r => r.all()).it_will_return(module);
-            };
-
-            because b = () => sut.run();
-
-            static Registry<IModule> registry;
-            static IModule module;
-        }
-    }
+namespace tests.unit.client.boot.modules.core
+{
+    public class LoadPresentationModulesCommandSpecs
+    {
+        [Concern(typeof (LoadPresentationModulesCommand))]
+        public class when_loading_the_application_shell : runner<LoadPresentationModulesCommand>
+        {
+            it should_initialize_all_the_presentation_modules = () => module.was_told_to(x => x.run());
+
+            context c = () =>
+            {
+                registry = dependency<Registry<IModule>>();
+                module = an<IModule>();
+                registry.is_told_to(r => r.all()).it_will_return(module);
+            };
+
+            because b = () => sut.run();
+
+            static Registry<IModule> registry;
+            static IModule module;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/boot/modules/NotificationIconPresenterSpecs.cs
@@ -1,4 +1,3 @@
-using developwithpassion.bdd.contexts;
 using momoney.presentation.presenters;
 using momoney.presentation.resources;
 using momoney.presentation.views;
@@ -6,11 +5,11 @@ using momoney.presentation.views;
 namespace tests.unit.client.boot.modules
 {
     [Concern(typeof (NotificationIconPresenter))]
-    public abstract class behaves_like_notification_icon_presenter : concerns_for<NotificationIconPresenter>
+    public abstract class behaves_like_notification_icon_presenter : tests_for<NotificationIconPresenter>
     {
         context c = () =>
         {
-            view = the_dependency<INotificationIconView>();
+            view = dependency<INotificationIconView>();
         };
 
         static protected INotificationIconView view;
product/tests/unit/client/boot/modules/TitleBarPresenterSpecs.cs
@@ -1,4 +1,3 @@
-using developwithpassion.bdd.contexts;
 using momoney.presentation.model.eventing;
 using MoMoney.Presentation.Model.Projects;
 using momoney.presentation.presenters;
@@ -7,19 +6,19 @@ using MoMoney.Presentation.Views;
 
 namespace tests.unit.client.boot.modules
 {
-    [Concern(typeof (TitleBarPresenter))]
-    public abstract class behaves_like_a_title_bar_presenter : concerns_for<TitleBarPresenter>
+    public abstract class behaves_like_a_title_bar_presenter : runner<TitleBarPresenter>
     {
         context c = () =>
         {
-            project = the_dependency<IProjectController>();
-            view = the_dependency<ITitleBar>();
+            project = dependency<IProjectController>();
+            view = dependency<ITitleBar>();
         };
 
         static protected ITitleBar view;
         static protected IProjectController project;
     }
 
+    [Concern(typeof (TitleBarPresenter))]
     public class when_initializing_the_title_bar_for_the_first_time : behaves_like_a_title_bar_presenter
     {
         it should_display_the_name_of_the_file_that_is_opened = () => view.was_told_to(x => x.display("untitled.mo"));
@@ -27,7 +26,7 @@ namespace tests.unit.client.boot.modules
         context c = () =>
         {
             shell = an<Shell>();
-            when_the(project).is_told_to(x => x.name()).it_will_return("untitled.mo");
+            project.is_told_to(x => x.name()).it_will_return("untitled.mo");
         };
 
         because b = () => sut.present(shell);
@@ -35,6 +34,7 @@ namespace tests.unit.client.boot.modules
         static Shell shell;
     }
 
+    [Concern(typeof (TitleBarPresenter))]
     public class when_there_are_unsaved_changes_in_the_project : behaves_like_a_title_bar_presenter
     {
         it should_display_an_asterik_in_the_title = () => view.was_told_to(x => x.append_asterik());
product/tests/unit/client/database/db4o/db40_spike_specs.cs
@@ -1,90 +1,87 @@
 using System.Collections.Generic;
 using System.IO;
 using Db4objects.Db4o;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.client.database.db4o
-{
-    [Concern(typeof (Db4oFactory))]
-    public class when_opening_an_existing_database_ : concerns
-    {
-        before_each_observation be = () => {};
-
-        context c = () =>
-        {
-            original = new TestObject(88, "mo");
-            the_database_file = Path.GetTempFileName();
-            var configuration = Db4oFactory.NewConfiguration();
-            configuration.LockDatabaseFile(false);
-            database = Db4oFactory.OpenFile(configuration, the_database_file);
-        };
-
-        because b = () =>
-        {
-            database.Store(original);
-            database.Close();
-            database.Dispose();
-            database = Db4oFactory.OpenFile(the_database_file);
-            results = database.Query<ITestObject>().databind();
-        };
-
-        it should_be_able_to_load_the_original_contents = () => results.should_contain(original);
-
-        it they_should_be_equal = () => new TestObject(99, "gretzky").Equals(new TestObject(99, "gretzky"));
-
-        it should_only_contain_the_original_item = () => results.Count.should_be_equal_to(1);
-
-        after_each_observation ae = () =>
-        {
-            database.Close();
-            database.Dispose();
-        };
-
-        static ITestObject original;
-        static string the_database_file;
-        static IList<ITestObject> results;
-        static IObjectContainer database;
-    }
-
-    public interface ITestObject
-    {
-        int Id { get; }
-        string Name { get; }
-    }
-
-    public class TestObject : ITestObject
-    {
-        public TestObject(int id, string name)
-        {
-            Id = id;
-            Name = name;
-        }
-
-        public int Id { get; private set; }
-        public string Name { get; private set; }
-
-        public bool Equals(TestObject obj)
-        {
-            if (ReferenceEquals(null, obj)) return false;
-            if (ReferenceEquals(this, obj)) return true;
-            return obj.Id == Id && Equals(obj.Name, Name);
-        }
-
-        public override bool Equals(object obj)
-        {
-            if (ReferenceEquals(null, obj)) return false;
-            if (ReferenceEquals(this, obj)) return true;
-            if (obj.GetType() != typeof (TestObject)) return false;
-            return Equals((TestObject) obj);
-        }
-
-        public override int GetHashCode()
-        {
-            unchecked
-            {
-                return (Id*397) ^ (Name != null ? Name.GetHashCode() : 0);
-            }
-        }
-    }
+namespace tests.unit.client.database.db4o
+{
+    [Concern(typeof (Db4oFactory))]
+    public class when_opening_an_existing_database_ : concerns
+    {
+        context c = () =>
+        {
+            original = new TestObject(88, "mo");
+            the_database_file = Path.GetTempFileName();
+            var configuration = Db4oFactory.NewConfiguration();
+            configuration.LockDatabaseFile(false);
+            database = Db4oFactory.OpenFile(configuration, the_database_file);
+        };
+
+        because b = () =>
+        {
+            database.Store(original);
+            database.Close();
+            database.Dispose();
+            database = Db4oFactory.OpenFile(the_database_file);
+            results = database.Query<ITestObject>().databind();
+        };
+
+        it should_be_able_to_load_the_original_contents = () => results.should_contain(original);
+
+        it they_should_be_equal = () => new TestObject(99, "gretzky").Equals(new TestObject(99, "gretzky"));
+
+        it should_only_contain_the_original_item = () => results.Count.should_be_equal_to(1);
+
+        after_all ae = () =>
+        {
+            database.Close();
+            database.Dispose();
+        };
+
+        static ITestObject original;
+        static string the_database_file;
+        static IList<ITestObject> results;
+        static IObjectContainer database;
+    }
+
+    public interface ITestObject
+    {
+        int Id { get; }
+        string Name { get; }
+    }
+
+    public class TestObject : ITestObject
+    {
+        public TestObject(int id, string name)
+        {
+            Id = id;
+            Name = name;
+        }
+
+        public int Id { get; private set; }
+        public string Name { get; private set; }
+
+        public bool Equals(TestObject obj)
+        {
+            if (ReferenceEquals(null, obj)) return false;
+            if (ReferenceEquals(this, obj)) return true;
+            return obj.Id == Id && Equals(obj.Name, Name);
+        }
+
+        public override bool Equals(object obj)
+        {
+            if (ReferenceEquals(null, obj)) return false;
+            if (ReferenceEquals(this, obj)) return true;
+            if (obj.GetType() != typeof (TestObject)) return false;
+            return Equals((TestObject) obj);
+        }
+
+        public override int GetHashCode()
+        {
+            unchecked
+            {
+                return (Id*397) ^ (Name != null ? Name.GetHashCode() : 0);
+            }
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/database/transactions/ChangeTrackerFactorySpecs.cs
@@ -1,22 +1,22 @@
 using System;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using momoney.database.transactions;
 
-namespace tests.unit.client.database.transactions
-{
-    public class ChangeTrackerFactorySpecs {}
-
-    [Concern(typeof (ChangeTrackerFactory))]
-    public class when_creating_a_change_tracker_for_an_item : concerns_for<IChangeTrackerFactory, ChangeTrackerFactory>
-    {
-        it should_return_a_new_tracker = () => result.should_not_be_null();
-
-        because b = () =>
-        {
-            result = sut.create_for<Identifiable<Guid>>();
-        };
-
-        static IChangeTracker<Identifiable<Guid>> result;
-    }
+namespace tests.unit.client.database.transactions
+{
+    public class ChangeTrackerFactorySpecs
+    {
+        [Concern(typeof (ChangeTrackerFactory))]
+        public class when_creating_a_change_tracker_for_an_item : runner<ChangeTrackerFactory>
+        {
+            it should_return_a_new_tracker = () => result.should_not_be_null();
+
+            because b = () =>
+            {
+                result = sut.create_for<Identifiable<Guid>>();
+            };
+
+            static IChangeTracker<Identifiable<Guid>> result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/database/transactions/ChangeTrackerSpecs.cs
@@ -1,103 +1,100 @@
 using System;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using momoney.database.transactions;
 
-namespace tests.unit.client.database.transactions
-{
-    public class ChangeTrackerSpecs
-    {
-
-        [Concern(typeof (ChangeTracker<Identifiable<Guid>>))]
-        public abstract class behaves_like_change_tracker :
-            concerns_for<IChangeTracker<Identifiable<Guid>>, ChangeTracker<Identifiable<Guid>>>
-        {
-            context c = () =>
-            {
-                mapper = the_dependency<ITrackerEntryMapper<Identifiable<Guid>>>();
-                registry = the_dependency<DatabaseCommandRegistry>();
-            };
-
-            static protected ITrackerEntryMapper<Identifiable<Guid>> mapper;
-            static protected DatabaseCommandRegistry registry;
-        }
-
-        [Concern(typeof (ChangeTracker<Identifiable<Guid>>))]
-        public class when_commit_that_changes_made_to_an_item : behaves_like_change_tracker
-        {
-            it should_save_the_changes_to_the_database = () => database.was_told_to(x => x.apply(statement));
-
-            context c = () =>
-            {
-                item = an<Identifiable<Guid>>();
-                statement = an<DatabaseCommand>();
-                database = an<IDatabase>();
-                var entry = an<ITrackerEntry<Identifiable<Guid>>>();
-
-                when_the(mapper).is_told_to(x => x.map_from(item)).it_will_return(entry);
-                when_the(entry).is_told_to(x => x.has_changes()).it_will_return(true);
-                when_the(entry).is_told_to(x => x.current).it_will_return(item);
-                when_the(registry).is_told_to(x => x.prepare_for_flushing(item)).it_will_return(statement);
-            };
-
-            because b = () =>
-            {
-                sut.register(item);
-                sut.commit_to(database);
-            };
-
-            static Identifiable<Guid> item;
-            static IDatabase database;
-            static DatabaseCommand statement;
-        }
-
-        [Concern(typeof (ChangeTracker<Identifiable<Guid>>))]
-        public class when_checking_if_there_are_changes_and_there_are : behaves_like_change_tracker
-        {
-            it should_tell_the_truth = () => result.should_be_true();
-
-            context c = () =>
-            {
-                item = an<Identifiable<Guid>>();
-                var registration = an<ITrackerEntry<Identifiable<Guid>>>();
-
-                when_the(mapper).is_told_to(x => x.map_from(item)).it_will_return(registration);
-                when_the(registration).is_told_to(x => x.has_changes()).it_will_return(true);
-                when_the(registration).is_told_to(x => x.current).it_will_return(item);
-            };
-
-            because b = () =>
-            {
-                sut.register(item);
-                result = sut.is_dirty();
-            };
-
-            static bool result;
-            static Identifiable<Guid> item;
-        }
-
-        [Concern(typeof (ChangeTracker<Identifiable<Guid>>))]
-        public class when_checking_if_there_are_changes_and_there_are_not : behaves_like_change_tracker
-        {
-            it should_tell_the_truth = () => result.should_be_false();
-
-            context c = () =>
-            {
-                item = an<Identifiable<Guid>>();
-                var entry = an<ITrackerEntry<Identifiable<Guid>>>();
-
-                when_the(mapper).is_told_to(x => x.map_from(item)).it_will_return(entry);
-                when_the(entry).is_told_to(x => x.has_changes()).it_will_return(false);
-            };
-
-            because b = () =>
-            {
-                sut.register(item);
-                result = sut.is_dirty();
-            };
-
-            static bool result;
-            static Identifiable<Guid> item;
-        }
-    }
+namespace tests.unit.client.database.transactions
+{
+    public class ChangeTrackerSpecs
+    {
+        [Concern(typeof (ChangeTracker<Identifiable<Guid>>))]
+        public abstract class behaves_like_change_tracker : runner<ChangeTracker<Identifiable<Guid>>>
+        {
+            context c = () =>
+            {
+                mapper = dependency<ITrackerEntryMapper<Identifiable<Guid>>>();
+                registry = dependency<DatabaseCommandRegistry>();
+            };
+
+            static protected ITrackerEntryMapper<Identifiable<Guid>> mapper;
+            static protected DatabaseCommandRegistry registry;
+        }
+
+        [Concern(typeof (ChangeTracker<Identifiable<Guid>>))]
+        public class when_commit_that_changes_made_to_an_item : behaves_like_change_tracker
+        {
+            it should_save_the_changes_to_the_database = () => database.was_told_to(x => x.apply(statement));
+
+            context c = () =>
+            {
+                item = an<Identifiable<Guid>>();
+                statement = an<DatabaseCommand>();
+                database = an<IDatabase>();
+                var entry = an<ITrackerEntry<Identifiable<Guid>>>();
+
+                mapper.is_told_to(x => x.map_from(item)).it_will_return(entry);
+                entry.is_told_to(x => x.has_changes()).it_will_return(true);
+                entry.is_told_to(x => x.current).it_will_return(item);
+                registry.is_told_to(x => x.prepare_for_flushing(item)).it_will_return(statement);
+            };
+
+            because b = () =>
+            {
+                sut.register(item);
+                sut.commit_to(database);
+            };
+
+            static Identifiable<Guid> item;
+            static IDatabase database;
+            static DatabaseCommand statement;
+        }
+
+        [Concern(typeof (ChangeTracker<Identifiable<Guid>>))]
+        public class when_checking_if_there_are_changes_and_there_are : behaves_like_change_tracker
+        {
+            it should_tell_the_truth = () => result.should_be_true();
+
+            context c = () =>
+            {
+                item = an<Identifiable<Guid>>();
+                var registration = an<ITrackerEntry<Identifiable<Guid>>>();
+
+                mapper.is_told_to(x => x.map_from(item)).it_will_return(registration);
+                registration.is_told_to(x => x.has_changes()).it_will_return(true);
+                registration.is_told_to(x => x.current).it_will_return(item);
+            };
+
+            because b = () =>
+            {
+                sut.register(item);
+                result = sut.is_dirty();
+            };
+
+            static bool result;
+            static Identifiable<Guid> item;
+        }
+
+        [Concern(typeof (ChangeTracker<Identifiable<Guid>>))]
+        public class when_checking_if_there_are_changes_and_there_are_not : behaves_like_change_tracker
+        {
+            it should_tell_the_truth = () => result.should_be_false();
+
+            context c = () =>
+            {
+                item = an<Identifiable<Guid>>();
+                var entry = an<ITrackerEntry<Identifiable<Guid>>>();
+
+                mapper.is_told_to(x => x.map_from(item)).it_will_return(entry);
+                entry.is_told_to(x => x.has_changes()).it_will_return(false);
+            };
+
+            because b = () =>
+            {
+                sut.register(item);
+                result = sut.is_dirty();
+            };
+
+            static bool result;
+            static Identifiable<Guid> item;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/database/transactions/ContextFactorySpecs.cs
@@ -1,31 +1,32 @@
 using System.Collections;
-using developwithpassion.bdd.contexts;
 using momoney.database.transactions;
 
-namespace tests.unit.client.database.transactions
-{
-    public class ContextFactorySpecs
-    {
-    }
-
-    [Concern(typeof (ContextFactory))]
-    public class when_creating_a_new_context : concerns_for<IContextFactory, ContextFactory>
-    {
-        context c = () =>
-        {
-            scope = an<IScopedStorage>();
-            storage = an<IDictionary>();
-
-            when_the(scope).is_told_to(x => x.provide_storage()).it_will_return(storage);
-        };
-
-        because b = () => { result = sut.create_for(scope); };
-
-        it should_return_a_context_that_represents_the_specified_scope =
-            () => result.should_be_an_instance_of<Context>();
-
-        static IDictionary storage;
-        static IScopedStorage scope;
-        static IContext result;
-    }
+namespace tests.unit.client.database.transactions
+{
+    public class ContextFactorySpecs
+    {
+        [Concern(typeof (ContextFactory))]
+        public class when_creating_a_new_context : runner<ContextFactory>
+        {
+            context c = () =>
+            {
+                scope = an<IScopedStorage>();
+                storage = an<IDictionary>();
+
+                scope.is_told_to(x => x.provide_storage()).it_will_return(storage);
+            };
+
+            because b = () =>
+            {
+                result = sut.create_for(scope);
+            };
+
+            it should_return_a_context_that_represents_the_specified_scope =
+                () => result.should_be_an_instance_of<Context>();
+
+            static IDictionary storage;
+            static IScopedStorage scope;
+            static IContext result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/database/transactions/IdentityMapSpecs.cs
@@ -1,95 +1,99 @@
-using developwithpassion.bdd.contexts;
 using momoney.database.transactions;
 
-namespace tests.unit.client.database.transactions
-{
-    [Concern(typeof (IdentityMap<,>))]
-    public class behaves_like_identity_map : concerns_for<IIdentityMap<int, string>, IdentityMap<int, string>>
-    {
-        public override IIdentityMap<int, string> create_sut()
-        {
-            return new IdentityMap<int, string>();
-        }
-    }
-
-    [Concern(typeof (IdentityMap<,>))]
-    public class when_getting_an_item_from_the_identity_map_for_an_item_that_has_been_added : behaves_like_identity_map
-    {
-        it should_return_the_item_that_was_added_for_the_given_key = () => result.should_be_equal_to("1");
-
-        because b = () =>
-        {
-            sut.add(1, "1");
-            result = sut.item_that_belongs_to(1);
-        };
-
-        static string result;
-    }
-
-    [Concern(typeof (IdentityMap<,>))]
-    public class when_getting_an_item_from_the_identity_map_that_has_not_been_added : behaves_like_identity_map
-    {
-        it should_return_the_default_value_for_that_type = () => result.should_be_equal_to(null);
-
-        because b = () => { result = sut.item_that_belongs_to(2); };
-
-        static string result;
-    }
-
-    [Concern(typeof (IdentityMap<,>))]
-    public class when_checking_if_an_item_has_been_added_to_the_identity_map_that_has_been_added :
-        behaves_like_identity_map
-    {
-        it should_return_true = () => result.should_be_true();
-
-        because b = () =>
-        {
-            sut.add(10, "10");
-            result = sut.contains_an_item_for(10);
-        };
-
-        static bool result;
-    }
-
-    [Concern(typeof (IdentityMap<,>))]
-    public class when_checking_if_an_item_has_been_added_to_the_identity_map_that_has_not_been_added :
-        behaves_like_identity_map
-    {
-        it should_return_false = () => result.should_be_false();
-
-        because b = () => { result = sut.contains_an_item_for(9); };
-
-        static bool result;
-    }
-
-    [Concern(typeof (IdentityMap<,>))]
-    public class when_updating_the_value_for_a_key_that_has_already_been_added_to_the_identity_map :
-        behaves_like_identity_map
-    {
-        it should_replace_the_old_item_with_the_new_one = () => result.should_be_equal_to("7");
-
-        because b = () =>
-        {
-            sut.add(6, "6");
-            sut.update_the_item_for(6, "7");
-            result = sut.item_that_belongs_to(6);
-        };
-
-        static string result;
-    }
-
-    [Concern(typeof (IdentityMap<,>))]
-    public class when_updating_the_value_for_a_key_that_has_not_been_added_to_the_identity_map :
-        behaves_like_identity_map
-    {
-        it should_add_the_new_item = () => result.should_be_equal_to("3");
-
-        because b = () =>
-        {
-            sut.update_the_item_for(3, "3");
-            result = sut.item_that_belongs_to(3);
-        };
-
-        static string result;
-    }
+namespace tests.unit.client.database.transactions
+{
+    [Concern(typeof (IdentityMap<,>))]
+    public class behaves_like_identity_map : TestsFor<IIdentityMap<int, string>>
+    {
+        public override IIdentityMap<int, string> create_sut()
+        {
+            return new IdentityMap<int, string>();
+        }
+    }
+
+    [Concern(typeof (IdentityMap<,>))]
+    public class when_getting_an_item_from_the_identity_map_for_an_item_that_has_been_added : behaves_like_identity_map
+    {
+        it should_return_the_item_that_was_added_for_the_given_key = () => result.should_be_equal_to("1");
+
+        because b = () =>
+        {
+            sut.add(1, "1");
+            result = sut.item_that_belongs_to(1);
+        };
+
+        static string result;
+    }
+
+    [Concern(typeof (IdentityMap<,>))]
+    public class when_getting_an_item_from_the_identity_map_that_has_not_been_added : behaves_like_identity_map
+    {
+        it should_return_the_default_value_for_that_type = () => result.should_be_equal_to(null);
+
+        because b = () =>
+        {
+            result = sut.item_that_belongs_to(2);
+        };
+
+        static string result;
+    }
+
+    [Concern(typeof (IdentityMap<,>))]
+    public class when_checking_if_an_item_has_been_added_to_the_identity_map_that_has_been_added :
+        behaves_like_identity_map
+    {
+        it should_return_true = () => result.should_be_true();
+
+        because b = () =>
+        {
+            sut.add(10, "10");
+            result = sut.contains_an_item_for(10);
+        };
+
+        static bool result;
+    }
+
+    [Concern(typeof (IdentityMap<,>))]
+    public class when_checking_if_an_item_has_been_added_to_the_identity_map_that_has_not_been_added :
+        behaves_like_identity_map
+    {
+        it should_return_false = () => result.should_be_false();
+
+        because b = () =>
+        {
+            result = sut.contains_an_item_for(9);
+        };
+
+        static bool result;
+    }
+
+    [Concern(typeof (IdentityMap<,>))]
+    public class when_updating_the_value_for_a_key_that_has_already_been_added_to_the_identity_map :
+        behaves_like_identity_map
+    {
+        it should_replace_the_old_item_with_the_new_one = () => result.should_be_equal_to("7");
+
+        because b = () =>
+        {
+            sut.add(6, "6");
+            sut.update_the_item_for(6, "7");
+            result = sut.item_that_belongs_to(6);
+        };
+
+        static string result;
+    }
+
+    [Concern(typeof (IdentityMap<,>))]
+    public class when_updating_the_value_for_a_key_that_has_not_been_added_to_the_identity_map : behaves_like_identity_map
+    {
+        it should_add_the_new_item = () => result.should_be_equal_to("3");
+
+        because b = () =>
+        {
+            sut.update_the_item_for(3, "3");
+            result = sut.item_that_belongs_to(3);
+        };
+
+        static string result;
+    }
 }
\ No newline at end of file
product/tests/unit/client/database/transactions/PerThreadScopedStorageSpecs.cs
@@ -1,34 +1,32 @@
 using System.Collections;
-using developwithpassion.bdd.contexts;
 using momoney.database.transactions;
 
-namespace tests.unit.client.database.transactions
-{
-    public class PerThreadScopedStorageSpecs
-    {
-        [Concern(typeof (PerThreadScopedStorage))]
-        public class when_retrieving_the_storage_for_a_specific_thread :
-            concerns_for<IScopedStorage, PerThreadScopedStorage>
-        {
-            context c = () =>
-            {
-                thread = the_dependency<IThread>();
-                storage = new Hashtable();
-                when_the(thread)
-                    .is_told_to(x => x.provide_slot_for<Hashtable>())
-                    .it_will_return(storage);
-            };
-
-            because b = () =>
-            {
-                result = sut.provide_storage();
-            };
-
-            it should_return_the_storage_the_corresponds_to_the_current_thread = () => result.should_be_equal_to(storage);
-
-            static IDictionary result;
-            static IThread thread;
-            static Hashtable storage;
-        }
-    }
+namespace tests.unit.client.database.transactions
+{
+    public class PerThreadScopedStorageSpecs
+    {
+        [Concern(typeof (PerThreadScopedStorage))]
+        public class when_retrieving_the_storage_for_a_specific_thread : runner<PerThreadScopedStorage>
+        {
+            context c = () =>
+            {
+                thread = dependency<IThread>();
+                storage = new Hashtable();
+                thread
+                    .is_told_to(x => x.provide_slot_for<Hashtable>())
+                    .it_will_return(storage);
+            };
+
+            because b = () =>
+            {
+                result = sut.provide_storage();
+            };
+
+            it should_return_the_storage_the_corresponds_to_the_current_thread = () => result.should_be_equal_to(storage);
+
+            static IDictionary result;
+            static IThread thread;
+            static Hashtable storage;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/database/transactions/SessionFactorySpecs.cs
@@ -1,21 +1,20 @@
-using developwithpassion.bdd.contexts;
 using momoney.database.transactions;
 
-namespace tests.unit.client.database.transactions
-{
-    public class SessionFactorySpecs
-    {
-        [Concern(typeof (SessionFactory))]
-        public class when_creating_a_new_session : concerns_for<ISessionFactory, SessionFactory>
-        {
-            it should_return_a_new_session = () => result.should_not_be_null();
-
-            because b = () =>
-            {
-                result = sut.create();
-            };
-
-            static ISession result;
-        }
-    }
+namespace tests.unit.client.database.transactions
+{
+    public class SessionFactorySpecs
+    {
+        [Concern(typeof (SessionFactory))]
+        public class when_creating_a_new_session : runner<SessionFactory>
+        {
+            it should_return_a_new_session = () => result.should_not_be_null();
+
+            because b = () =>
+            {
+                result = sut.create();
+            };
+
+            static ISession result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/database/transactions/SessionSpecs.cs
@@ -1,181 +1,180 @@
 using System;
 using System.Collections.Generic;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using momoney.database.transactions;
 
-namespace tests.unit.client.database.transactions
-{
-    public class SessionSpecs
-    {
-        public class behaves_like_session : concerns_for<ISession, Session>
-        {
-            context c = () =>
-            {
-                transaction = the_dependency<ITransaction>();
-                database = the_dependency<IDatabase>();
-            };
-
-            static protected ITransaction transaction;
-            static protected IDatabase database;
-        }
-
-        [Concern(typeof (Session))]
-        public class when_saving_a_transient_item_to_a_session : behaves_like_session
-        {
-            it should_add_the_entity_to_the_identity_map = () => map.was_told_to(x => x.add(guid, entity));
-
-            context c = () =>
-            {
-                guid = Guid.NewGuid();
-                entity = an<ITestEntity>();
-                map = an<IIdentityMap<Guid, ITestEntity>>();
-
-                when_the(entity).is_told_to(x => x.id).it_will_return(guid);
-                when_the(transaction).is_told_to(x => x.create_for<ITestEntity>()).it_will_return(map);
-            };
-
-            because b = () => sut.save(entity);
-
-            static ITestEntity entity;
-            static IIdentityMap<Guid, ITestEntity> map;
-            static Id<Guid> guid;
-        }
-
-        [Concern(typeof (Session))]
-        public class when_commiting_the_changes_made_in_a_session : behaves_like_session
-        {
-            it should_commit_all_the_changes_from_the_running_transaction =
-                () => transaction.was_told_to(x => x.commit_changes());
-
-            it should_not_rollback_any_changes_from_the_running_transaction =
-                () => transaction.was_not_told_to(x => x.rollback_changes());
-
-            because b = () =>
-            {
-                sut.flush();
-                sut.Dispose();
-            };
-        }
-
-        [Concern(typeof (Session))]
-        public class when_closing_a_session_before_flushing_the_changes : behaves_like_session
-        {
-            it should_rollback_any_changes_made_in_the_current_transaction =
-                () => transaction.was_told_to(x => x.rollback_changes());
-
-            because b = () => sut.Dispose();
-        }
-
-        [Concern(typeof (Session))]
-        public class when_loading_all_instances_of_a_certain_type_and_some_have_already_been_loaded : behaves_like_session
-        {
-            it should_return_the_items_from_the_cache = () => results.should_contain(cached_item);
-
-            it should_exclude_duplicates_from_the_database = () => results.should_not_contain(database_item);
-
-            it should_add_items_from_the_database_to_the_identity_map =
-                () => identity_map.was_told_to(x => x.add(id_of_the_uncached_item, uncached_item));
-
-            context c = () =>
-            {
-                id = Guid.NewGuid();
-                id_of_the_uncached_item = Guid.NewGuid();
-                identity_map = an<IIdentityMap<Guid, ITestEntity>>();
-                cached_item = an<ITestEntity>();
-                database_item = an<ITestEntity>();
-                uncached_item = an<ITestEntity>();
-
-                when_the(cached_item).is_told_to(x => x.id).it_will_return(id);
-                when_the(database_item).is_told_to(x => x.id).it_will_return(id);
-                when_the(uncached_item).is_told_to(x => x.id).it_will_return(id_of_the_uncached_item);
-                when_the(transaction).is_told_to(x => x.create_for<ITestEntity>()).it_will_return(identity_map);
-                when_the(identity_map).is_told_to(x => x.contains_an_item_for(id)).it_will_return(true);
-                when_the(identity_map).is_told_to(x => x.all()).it_will_return(cached_item);
-                when_the(database).is_told_to(x => x.fetch_all<ITestEntity>())
-                    .it_will_return(database_item, uncached_item);
-            };
-
-            because b = () =>
-            {
-                sut.find<ITestEntity>(id);
-                results = sut.all<ITestEntity>();
-            };
-
-            static IEnumerable<ITestEntity> results;
-            static Id<Guid> id;
-            static Id<Guid> id_of_the_uncached_item;
-            static ITestEntity cached_item;
-            static ITestEntity database_item;
-            static IIdentityMap<Guid, ITestEntity> identity_map;
-            static ITestEntity uncached_item;
-        }
-
-        [Concern(typeof (Session))]
-        public class when_looking_up_a_specific_entity_by_its_id_and_it_has_not_been_loaded_into_the_cache :
-            behaves_like_session
-        {
-            it should_return_that_item = () =>
-            {
-                result.should_be_equal_to(correct_item);
-            };
-
-            it should_add_that_item_to_the_identity_map = () => map.was_told_to(x => x.add(id, correct_item));
-
-            context c = () =>
-            {
-                id = Guid.NewGuid();
-                wrong_item = an<ITestEntity>();
-                correct_item = an<ITestEntity>();
-                map = an<IIdentityMap<Guid, ITestEntity>>();
-                when_the(wrong_item).is_told_to(x => x.id).it_will_return<Id<Guid>>(Guid.NewGuid());
-                when_the(correct_item).is_told_to(x => x.id).it_will_return<Id<Guid>>(id);
-                when_the(database)
-                    .is_told_to(x => x.fetch_all<ITestEntity>())
-                    .it_will_return(wrong_item, correct_item);
-                when_the(transaction).is_told_to(x => x.create_for<ITestEntity>())
-                    .it_will_return(map);
-            };
-
-            because b = () =>
-            {
-                result = sut.find<ITestEntity>(id);
-            };
-
-            static Id<Guid> id;
-            static Identifiable<Guid> result;
-            static ITestEntity correct_item;
-            static ITestEntity wrong_item;
-            static IIdentityMap<Guid, ITestEntity> map;
-        }
-
-        [Concern(typeof (Session))]
-        public class when_deleting_an_item_from_the_database : behaves_like_session
-        {
-            it should_remove_that_item_from_the_cache = () => map.was_told_to(x => x.evict(id));
-
-            context c = () =>
-            {
-                id = Guid.NewGuid();
-                entity = an<ITestEntity>();
-                map = an<IIdentityMap<Guid, ITestEntity>>();
-
-                when_the(entity).is_told_to(x => x.id).it_will_return(id);
-                when_the(transaction).is_told_to(x => x.create_for<ITestEntity>()).it_will_return(map);
-                when_the(database).is_told_to(x => x.fetch_all<ITestEntity>()).it_will_return(entity);
-            };
-
-            because b = () =>
-            {
-                sut.find<ITestEntity>(id);
-                sut.delete(entity);
-            };
-
-            static Id<Guid> id;
-            static IIdentityMap<Guid, ITestEntity> map;
-            static ITestEntity entity;
-        }
-
-        public interface ITestEntity : Identifiable<Guid> {}
-    }
+namespace tests.unit.client.database.transactions
+{
+    public class SessionSpecs
+    {
+        public class behaves_like_session : runner<Session>
+        {
+            context c = () =>
+            {
+                transaction = dependency<ITransaction>();
+                database = dependency<IDatabase>();
+            };
+
+            static protected ITransaction transaction;
+            static protected IDatabase database;
+        }
+
+        [Concern(typeof (Session))]
+        public class when_saving_a_transient_item_to_a_session : behaves_like_session
+        {
+            it should_add_the_entity_to_the_identity_map = () => map.was_told_to(x => x.add(guid, entity));
+
+            context c = () =>
+            {
+                guid = Guid.NewGuid();
+                entity = an<ITestEntity>();
+                map = an<IIdentityMap<Guid, ITestEntity>>();
+
+                entity.is_told_to(x => x.id).it_will_return(guid);
+                transaction.is_told_to(x => x.create_for<ITestEntity>()).it_will_return(map);
+            };
+
+            because b = () => sut.save(entity);
+
+            static ITestEntity entity;
+            static IIdentityMap<Guid, ITestEntity> map;
+            static Id<Guid> guid;
+        }
+
+        [Concern(typeof (Session))]
+        public class when_commiting_the_changes_made_in_a_session : behaves_like_session
+        {
+            it should_commit_all_the_changes_from_the_running_transaction =
+                () => transaction.was_told_to(x => x.commit_changes());
+
+            it should_not_rollback_any_changes_from_the_running_transaction =
+                () => transaction.was_not_told_to(x => x.rollback_changes());
+
+            because b = () =>
+            {
+                sut.flush();
+                sut.Dispose();
+            };
+        }
+
+        [Concern(typeof (Session))]
+        public class when_closing_a_session_before_flushing_the_changes : behaves_like_session
+        {
+            it should_rollback_any_changes_made_in_the_current_transaction =
+                () => transaction.was_told_to(x => x.rollback_changes());
+
+            because b = () => sut.Dispose();
+        }
+
+        [Concern(typeof (Session))]
+        public class when_loading_all_instances_of_a_certain_type_and_some_have_already_been_loaded : behaves_like_session
+        {
+            it should_return_the_items_from_the_cache = () => results.should_contain(cached_item);
+
+            it should_exclude_duplicates_from_the_database = () => results.should_not_contain(database_item);
+
+            it should_add_items_from_the_database_to_the_identity_map =
+                () => identity_map.was_told_to(x => x.add(id_of_the_uncached_item, uncached_item));
+
+            context c = () =>
+            {
+                id = Guid.NewGuid();
+                id_of_the_uncached_item = Guid.NewGuid();
+                identity_map = an<IIdentityMap<Guid, ITestEntity>>();
+                cached_item = an<ITestEntity>();
+                database_item = an<ITestEntity>();
+                uncached_item = an<ITestEntity>();
+
+                cached_item.is_told_to(x => x.id).it_will_return(id);
+                database_item.is_told_to(x => x.id).it_will_return(id);
+                uncached_item.is_told_to(x => x.id).it_will_return(id_of_the_uncached_item);
+                transaction.is_told_to(x => x.create_for<ITestEntity>()).it_will_return(identity_map);
+                identity_map.is_told_to(x => x.contains_an_item_for(id)).it_will_return(true);
+                identity_map.is_told_to(x => x.all()).it_will_return(cached_item);
+                database.is_told_to(x => x.fetch_all<ITestEntity>())
+                    .it_will_return(database_item, uncached_item);
+            };
+
+            because b = () =>
+            {
+                sut.find<ITestEntity>(id);
+                results = sut.all<ITestEntity>();
+            };
+
+            static IEnumerable<ITestEntity> results;
+            static Id<Guid> id;
+            static Id<Guid> id_of_the_uncached_item;
+            static ITestEntity cached_item;
+            static ITestEntity database_item;
+            static IIdentityMap<Guid, ITestEntity> identity_map;
+            static ITestEntity uncached_item;
+        }
+
+        [Concern(typeof (Session))]
+        public class when_looking_up_a_specific_entity_by_its_id_and_it_has_not_been_loaded_into_the_cache :
+            behaves_like_session
+        {
+            it should_return_that_item = () =>
+            {
+                result.should_be_equal_to(correct_item);
+            };
+
+            it should_add_that_item_to_the_identity_map = () => map.was_told_to(x => x.add(id, correct_item));
+
+            context c = () =>
+            {
+                id = Guid.NewGuid();
+                wrong_item = an<ITestEntity>();
+                correct_item = an<ITestEntity>();
+                map = an<IIdentityMap<Guid, ITestEntity>>();
+                wrong_item.is_told_to(x => x.id).it_will_return<Id<Guid>>(Guid.NewGuid());
+                correct_item.is_told_to(x => x.id).it_will_return(id);
+                database
+                    .is_told_to(x => x.fetch_all<ITestEntity>())
+                    .it_will_return(wrong_item, correct_item);
+                transaction.is_told_to(x => x.create_for<ITestEntity>())
+                    .it_will_return(map);
+            };
+
+            because b = () =>
+            {
+                result = sut.find<ITestEntity>(id);
+            };
+
+            static Id<Guid> id;
+            static Identifiable<Guid> result;
+            static ITestEntity correct_item;
+            static ITestEntity wrong_item;
+            static IIdentityMap<Guid, ITestEntity> map;
+        }
+
+        [Concern(typeof (Session))]
+        public class when_deleting_an_item_from_the_database : behaves_like_session
+        {
+            it should_remove_that_item_from_the_cache = () => map.was_told_to(x => x.evict(id));
+
+            context c = () =>
+            {
+                id = Guid.NewGuid();
+                entity = an<ITestEntity>();
+                map = an<IIdentityMap<Guid, ITestEntity>>();
+
+                entity.is_told_to(x => x.id).it_will_return(id);
+                transaction.is_told_to(x => x.create_for<ITestEntity>()).it_will_return(map);
+                database.is_told_to(x => x.fetch_all<ITestEntity>()).it_will_return(entity);
+            };
+
+            because b = () =>
+            {
+                sut.find<ITestEntity>(id);
+                sut.delete(entity);
+            };
+
+            static Id<Guid> id;
+            static IIdentityMap<Guid, ITestEntity> map;
+            static ITestEntity entity;
+        }
+
+        public interface ITestEntity : Identifiable<Guid> {}
+    }
 }
\ No newline at end of file
product/tests/unit/client/database/transactions/TrackerEntrySpecs.cs
@@ -1,145 +1,144 @@
 using System;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using momoney.database.transactions;
 
-namespace tests.unit.client.database.transactions
-{
-    public class TrackerEntrySpecs {}
-
-    public abstract class behaves_like_tracker_entry : concerns_for<ITrackerEntry<Pillow>> {}
-
-    [Concern(typeof (ITrackerEntry<>))]
-    public class when_comparing_the_current_instance_of_a_component_with_its_original_and_it_has_changes :
-        behaves_like_tracker_entry
-    {
-        it should_indicate_that_there_are_changes = () => result.should_be_true();
-
-        because b = () =>
-        {
-            result = sut.has_changes();
-        };
-
-        public override ITrackerEntry<Pillow> create_sut()
-        {
-            return new TrackerEntry<Pillow>(new Pillow("pink"), new Pillow("yellow"));
-        }
-
-        static bool result;
-    }
-
-    [Concern(typeof (ITrackerEntry<>))]
-    public class when_the_original_instance_has_a_null_field_that_is_now_not_null :
-        behaves_like_tracker_entry
-    {
-        it should_indicate_that_there_are_changes = () => result.should_be_true();
-
-        because b = () =>
-        {
-            result = sut.has_changes();
-        };
-
-        public override ITrackerEntry<Pillow> create_sut()
-        {
-            return new TrackerEntry<Pillow>(new Pillow(null), new Pillow("yellow"));
-        }
-
-        static bool result;
-    }
-
-    [Concern(typeof (ITrackerEntry<>))]
-    public class when_the_original_instance_had_a_non_null_field_and_the_current_instance_has_a_null_field :
-        behaves_like_tracker_entry
-    {
-        it should_indicate_that_there_are_changes = () => result.should_be_true();
-
-        because b = () =>
-        {
-            result = sut.has_changes();
-        };
-
-        context c = () =>
-        {
-            var id = Guid.NewGuid();
-            original = new Pillow("green", id);
-            current = new Pillow(null, id);
-        };
-
-        public override ITrackerEntry<Pillow> create_sut()
-        {
-            return new TrackerEntry<Pillow>(original, current);
-        }
-
-        static bool result;
-        static Pillow original;
-        static Pillow current;
-    }
-
-    [Concern(typeof (ITrackerEntry<>))]
-    public class when_the_original_instance_has_the_same_value_as_the_current_instance :
-        behaves_like_tracker_entry
-    {
-        it should_indicate_that_there_are_no_changes = () => result.should_be_false();
-
-        because b = () =>
-        {
-            result = sut.has_changes();
-        };
-
-        context c = () =>
-        {
-            var id = Guid.NewGuid();
-            original = new Pillow("green", id);
-            current = new Pillow("green", id);
-        };
-
-        public override ITrackerEntry<Pillow> create_sut()
-        {
-            return new TrackerEntry<Pillow>(original, current);
-        }
-
-        static bool result;
-        static Pillow original;
-        static Pillow current;
-    }
-
-    public class Pillow : Identifiable<Guid>
-    {
-        readonly string color;
-
-        public Pillow(string color) : this(color, Guid.NewGuid()) {}
-
-        public Pillow(string color, Guid id)
-        {
-            this.color = color;
-            this.id = id;
-        }
-
-        public Id<Guid> id { get; set; }
-
-        public bool Equals(Pillow other)
-        {
-            if (ReferenceEquals(null, other)) return false;
-            if (ReferenceEquals(this, other)) return true;
-            return other.id.Equals(id);
-        }
-
-        public override bool Equals(object obj)
-        {
-            if (ReferenceEquals(null, obj)) return false;
-            if (ReferenceEquals(this, obj)) return true;
-            if (obj.GetType() != typeof (Pillow)) return false;
-            return Equals((Pillow) obj);
-        }
-
-        public override int GetHashCode()
-        {
-            return id.GetHashCode();
-        }
-
-        public override string ToString()
-        {
-            return "{0} id: {1}".formatted_using(base.ToString(), id);
-        }
-    }
+namespace tests.unit.client.database.transactions
+{
+    public class TrackerEntrySpecs {}
+
+    public abstract class behaves_like_tracker_entry : tests_for<ITrackerEntry<Pillow>> {}
+
+    [Concern(typeof (ITrackerEntry<>))]
+    public class when_comparing_the_current_instance_of_a_component_with_its_original_and_it_has_changes :
+        behaves_like_tracker_entry
+    {
+        it should_indicate_that_there_are_changes = () => result.should_be_true();
+
+        because b = () =>
+        {
+            result = sut.has_changes();
+        };
+
+        public override ITrackerEntry<Pillow> create_sut()
+        {
+            return new TrackerEntry<Pillow>(new Pillow("pink"), new Pillow("yellow"));
+        }
+
+        static bool result;
+    }
+
+    [Concern(typeof (ITrackerEntry<>))]
+    public class when_the_original_instance_has_a_null_field_that_is_now_not_null :
+        behaves_like_tracker_entry
+    {
+        it should_indicate_that_there_are_changes = () => result.should_be_true();
+
+        because b = () =>
+        {
+            result = sut.has_changes();
+        };
+
+        public override ITrackerEntry<Pillow> create_sut()
+        {
+            return new TrackerEntry<Pillow>(new Pillow(null), new Pillow("yellow"));
+        }
+
+        static bool result;
+    }
+
+    [Concern(typeof (ITrackerEntry<>))]
+    public class when_the_original_instance_had_a_non_null_field_and_the_current_instance_has_a_null_field :
+        behaves_like_tracker_entry
+    {
+        it should_indicate_that_there_are_changes = () => result.should_be_true();
+
+        because b = () =>
+        {
+            result = sut.has_changes();
+        };
+
+        context c = () =>
+        {
+            var id = Guid.NewGuid();
+            original = new Pillow("green", id);
+            current = new Pillow(null, id);
+        };
+
+        public override ITrackerEntry<Pillow> create_sut()
+        {
+            return new TrackerEntry<Pillow>(original, current);
+        }
+
+        static bool result;
+        static Pillow original;
+        static Pillow current;
+    }
+
+    [Concern(typeof (ITrackerEntry<>))]
+    public class when_the_original_instance_has_the_same_value_as_the_current_instance :
+        behaves_like_tracker_entry
+    {
+        it should_indicate_that_there_are_no_changes = () => result.should_be_false();
+
+        because b = () =>
+        {
+            result = sut.has_changes();
+        };
+
+        context c = () =>
+        {
+            var id = Guid.NewGuid();
+            original = new Pillow("green", id);
+            current = new Pillow("green", id);
+        };
+
+        public override ITrackerEntry<Pillow> create_sut()
+        {
+            return new TrackerEntry<Pillow>(original, current);
+        }
+
+        static bool result;
+        static Pillow original;
+        static Pillow current;
+    }
+
+    public class Pillow : Identifiable<Guid>
+    {
+        readonly string color;
+
+        public Pillow(string color) : this(color, Guid.NewGuid()) {}
+
+        public Pillow(string color, Guid id)
+        {
+            this.color = color;
+            this.id = id;
+        }
+
+        public Id<Guid> id { get; set; }
+
+        public bool Equals(Pillow other)
+        {
+            if (ReferenceEquals(null, other)) return false;
+            if (ReferenceEquals(this, other)) return true;
+            return other.id.Equals(id);
+        }
+
+        public override bool Equals(object obj)
+        {
+            if (ReferenceEquals(null, obj)) return false;
+            if (ReferenceEquals(this, obj)) return true;
+            if (obj.GetType() != typeof (Pillow)) return false;
+            return Equals((Pillow) obj);
+        }
+
+        public override int GetHashCode()
+        {
+            return id.GetHashCode();
+        }
+
+        public override string ToString()
+        {
+            return "{0} id: {1}".formatted_using(base.ToString(), id);
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/database/transactions/TransactionSpecs.cs
@@ -1,113 +1,114 @@
 using System;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using momoney.database.transactions;
 
-namespace tests.unit.client.database.transactions
-{
-    public class TransactionSpecs
-    {
-    }
-
-    [Concern(typeof (Transaction))]
-    public class behaves_like_transaction : concerns_for<ITransaction, Transaction>
-    {
-        context c = () =>
-        {
-            database = the_dependency<IDatabase>();
-            factory = the_dependency<IChangeTrackerFactory>();
-        };
-
-        static protected IDatabase database;
-        static protected IChangeTrackerFactory factory;
-    }
-
-    [Concern(typeof (Transaction))]
-    public class when_creating_an_identity_map_for_a_specific_entity : behaves_like_transaction
-    {
-        it should_return_a_new_identity_map = () => result.should_not_be_null();
-
-        because b = () => { result = sut.create_for<Identifiable<Guid>>(); };
-
-        static IIdentityMap<Guid, Identifiable<Guid>> result;
-    }
-
-    [Concern(typeof (Transaction))]
-    public class when_committing_a_transaction_and_an_item_in_the_identity_map_has_changed : behaves_like_transaction
-    {
-        it should_commit_the_changes_to_that_item =
-            () => tracker.was_told_to(x => x.commit_to(database));
-
-        context c = () =>
-        {
-            movie = new Movie("Goldeneye");
-            tracker = an<IChangeTracker<IMovie>>();
-
-            when_the(factory).is_told_to(x => x.create_for<IMovie>()).it_will_return(tracker);
-            when_the(tracker).is_told_to(x => x.is_dirty()).it_will_return(true);
-        };
-
-
-        because b = () =>
-        {
-            sut.create_for<IMovie>().add(movie.id, movie);
-            movie.change_name_to("Austin Powers");
-            sut.commit_changes();
-        };
-
-        static IMovie movie;
-        static IChangeTracker<IMovie> tracker;
-    }
-
-    [Concern(typeof (Transaction))]
-    public class when_deleting_a_set_of_entities_from_the_database : behaves_like_transaction
-    {
-        it should_prepare_to_delete_that_item_form_the_database = () => tracker.was_told_to(x => x.delete(movie));
-
-        it should_delete_all_items_marked_for_deletion = () => tracker.was_told_to(x => x.commit_to(database));
-
-        context c = () =>
-        {
-            movie = new Movie("Goldeneye");
-            tracker = an<IChangeTracker<IMovie>>();
-
-            when_the(factory).is_told_to(x => x.create_for<IMovie>()).it_will_return(tracker);
-            when_the(tracker).is_told_to(x => x.is_dirty()).it_will_return(true);
-        };
-
-        because b = () =>
-        {
-            var map = sut.create_for<IMovie>();
-            map.add(movie.id, movie);
-            map.evict(movie.id);
-            sut.commit_changes();
-        };
-
-        static IMovie movie;
-        static IChangeTracker<IMovie> tracker;
-    }
-
-    public interface IMovie : Identifiable<Guid>
-    {
-        string name { get; }
-        void change_name_to(string name);
-    }
-
-    internal class Movie : IMovie
-    {
-        public Movie(string name)
-        {
-            id = Guid.NewGuid();
-            this.name = name;
-        }
-
-        public string name { get; set; }
-
-        public void change_name_to(string new_name)
-        {
-            name = new_name;
-        }
-
-        public Id<Guid> id { get; set; }
-    }
+namespace tests.unit.client.database.transactions
+{
+    public class TransactionSpecs
+    {
+        [Concern(typeof (Transaction))]
+        public class behaves_like_transaction : runner<Transaction>
+        {
+            context c = () =>
+            {
+                database = dependency<IDatabase>();
+                factory = dependency<IChangeTrackerFactory>();
+            };
+
+            static protected IDatabase database;
+            static protected IChangeTrackerFactory factory;
+        }
+
+        [Concern(typeof (Transaction))]
+        public class when_creating_an_identity_map_for_a_specific_entity : behaves_like_transaction
+        {
+            it should_return_a_new_identity_map = () => result.should_not_be_null();
+
+            because b = () =>
+            {
+                result = sut.create_for<Identifiable<Guid>>();
+            };
+
+            static IIdentityMap<Guid, Identifiable<Guid>> result;
+        }
+
+        [Concern(typeof (Transaction))]
+        public class when_committing_a_transaction_and_an_item_in_the_identity_map_has_changed : behaves_like_transaction
+        {
+            it should_commit_the_changes_to_that_item =
+                () => tracker.was_told_to(x => x.commit_to(database));
+
+            context c = () =>
+            {
+                movie = new Movie("Goldeneye");
+                tracker = an<IChangeTracker<IMovie>>();
+
+                factory.is_told_to(x => x.create_for<IMovie>()).it_will_return(tracker);
+                tracker.is_told_to(x => x.is_dirty()).it_will_return(true);
+            };
+
+
+            because b = () =>
+            {
+                sut.create_for<IMovie>().add(movie.id, movie);
+                movie.change_name_to("Austin Powers");
+                sut.commit_changes();
+            };
+
+            static IMovie movie;
+            static IChangeTracker<IMovie> tracker;
+        }
+
+        [Concern(typeof (Transaction))]
+        public class when_deleting_a_set_of_entities_from_the_database : behaves_like_transaction
+        {
+            it should_prepare_to_delete_that_item_form_the_database = () => tracker.was_told_to(x => x.delete(movie));
+
+            it should_delete_all_items_marked_for_deletion = () => tracker.was_told_to(x => x.commit_to(database));
+
+            context c = () =>
+            {
+                movie = new Movie("Goldeneye");
+                tracker = an<IChangeTracker<IMovie>>();
+
+                factory.is_told_to(x => x.create_for<IMovie>()).it_will_return(tracker);
+                tracker.is_told_to(x => x.is_dirty()).it_will_return(true);
+            };
+
+            because b = () =>
+            {
+                var map = sut.create_for<IMovie>();
+                map.add(movie.id, movie);
+                map.evict(movie.id);
+                sut.commit_changes();
+            };
+
+            static IMovie movie;
+            static IChangeTracker<IMovie> tracker;
+        }
+    }
+
+    public interface IMovie : Identifiable<Guid>
+    {
+        string name { get; }
+        void change_name_to(string name);
+    }
+
+    class Movie : IMovie
+    {
+        public Movie(string name)
+        {
+            id = Guid.NewGuid();
+            this.name = name;
+        }
+
+        public string name { get; set; }
+
+        public void change_name_to(string new_name)
+        {
+            name = new_name;
+        }
+
+        public Id<Guid> id { get; set; }
+    }
 }
\ No newline at end of file
product/tests/unit/client/domain/accounting/AccountHolderSpecs.cs
@@ -1,84 +1,80 @@
 using System;
 using System.Collections.Generic;
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Utility;
 using MoMoney.Domain.accounting;
 using MoMoney.Domain.Accounting;
 using MoMoney.Domain.Core;
 using Rhino.Mocks;
 
-namespace tests.unit.client.domain.accounting
-{
-    public class AccountHolderSpecs
-    {
-        [Concern(typeof (AccountHolder))]
-        public abstract class concern : concerns_for<AccountHolder>
-        {
-        }
-
-        public class when_a_customer_is_checking_for_any_bills_that_have_not_been_paid : concern
-        {
-            it should_return_all_the_unpaid_bills = () =>
-            {
-                result.should_contain(first_unpaid_bill);
-                result.should_contain(second_unpaid_bill);
-            };
-
-            context c = () =>
-            {
-                            
-                first_unpaid_bill = Bill.New(null,10.00, DateTime.Now);
-                second_unpaid_bill = Bill.New(null, 11.00, DateTime.Now);
-                paid_bill = Bill.New(null, 0.00, DateTime.Now);
-            };
-
-            because b = () =>
-            {
-                sut.receive(first_unpaid_bill);
-                sut.receive(paid_bill);
-                sut.receive(second_unpaid_bill);
-                result = sut.collect_all_the_unpaid_bills();
-            };
-
-            static IEnumerable<Bill> result;
-            static Bill first_unpaid_bill;
-            static Bill second_unpaid_bill;
-            static Bill paid_bill;
-        }
-
-        [Concern(typeof (AccountHolder))]
-        public class when_an_account_holder_is_calculating_their_income_for_a_year : concern
-        {
-            context c = () =>
-            {
-                income_for_january_2007 = MockRepository.GenerateMock<Income>();
-                income_for_february_2007 = MockRepository.GenerateMock<Income>();
-                income_for_february_2008 = MockRepository.GenerateMock<Income>();
-
-                income_for_january_2007.is_told_to(x => x.date_of_issue).it_will_return<Date>(new DateTime(2007, 01, 01));
-                income_for_january_2007.is_told_to(x => x.amount_tendered).it_will_return(new Money(1000.00));
-
-                income_for_february_2007.is_told_to(x => x.date_of_issue).it_will_return<Date>(new DateTime(2007, 02, 01));
-                income_for_february_2007.is_told_to(x => x.amount_tendered).it_will_return(new Money(1000.00));
-
-                income_for_february_2008.is_told_to(x => x.date_of_issue).it_will_return<Date>(new DateTime(2008, 02, 01));
-                income_for_february_2008.is_told_to(x => x.amount_tendered).it_will_return(new Money(1000.00));
-            };
-
-            because b = () =>
-            {
-                sut.receive(income_for_january_2007);
-                sut.receive(income_for_february_2007);
-                sut.receive(income_for_february_2008);
-                result = sut.calculate_income_for(2007);
-            };
-
-            it should_return_the_correct_amount = () => result.should_be_equal_to(2000);
-
-            static Money result;
-            static Income income_for_january_2007;
-            static Income income_for_february_2007;
-            static Income income_for_february_2008;
-        }
-    }
+namespace tests.unit.client.domain.accounting
+{
+    public class AccountHolderSpecs
+    {
+        [Concern(typeof (AccountHolder))]
+        public abstract class Test : tests_for<AccountHolder> {}
+
+        public class when_a_customer_is_checking_for_any_bills_that_have_not_been_paid : Test
+        {
+            it should_return_all_the_unpaid_bills = () =>
+            {
+                result.should_contain(first_unpaid_bill);
+                result.should_contain(second_unpaid_bill);
+            };
+
+            context c = () =>
+            {
+                first_unpaid_bill = Bill.New(null, 10.00, DateTime.Now);
+                second_unpaid_bill = Bill.New(null, 11.00, DateTime.Now);
+                paid_bill = Bill.New(null, 0.00, DateTime.Now);
+            };
+
+            because b = () =>
+            {
+                sut.receive(first_unpaid_bill);
+                sut.receive(paid_bill);
+                sut.receive(second_unpaid_bill);
+                result = sut.collect_all_the_unpaid_bills();
+            };
+
+            static IEnumerable<Bill> result;
+            static Bill first_unpaid_bill;
+            static Bill second_unpaid_bill;
+            static Bill paid_bill;
+        }
+
+        [Concern(typeof (AccountHolder))]
+        public class when_an_account_holder_is_calculating_their_income_for_a_year : Test
+        {
+            context c = () =>
+            {
+                income_for_january_2007 = MockRepository.GenerateMock<Income>();
+                income_for_february_2007 = MockRepository.GenerateMock<Income>();
+                income_for_february_2008 = MockRepository.GenerateMock<Income>();
+
+                income_for_january_2007.is_told_to(x => x.date_of_issue).it_will_return<Date>(new DateTime(2007, 01, 01));
+                income_for_january_2007.is_told_to(x => x.amount_tendered).it_will_return(new Money(1000.00));
+
+                income_for_february_2007.is_told_to(x => x.date_of_issue).it_will_return<Date>(new DateTime(2007, 02, 01));
+                income_for_february_2007.is_told_to(x => x.amount_tendered).it_will_return(new Money(1000.00));
+
+                income_for_february_2008.is_told_to(x => x.date_of_issue).it_will_return<Date>(new DateTime(2008, 02, 01));
+                income_for_february_2008.is_told_to(x => x.amount_tendered).it_will_return(new Money(1000.00));
+            };
+
+            because b = () =>
+            {
+                sut.receive(income_for_january_2007);
+                sut.receive(income_for_february_2007);
+                sut.receive(income_for_february_2008);
+                result = sut.calculate_income_for(2007);
+            };
+
+            it should_return_the_correct_amount = () => result.should_be_equal_to(2000);
+
+            static Money result;
+            static Income income_for_january_2007;
+            static Income income_for_february_2007;
+            static Income income_for_february_2008;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/domain/accounting/BillSpecs.cs
@@ -1,81 +1,83 @@
 using System;
-using developwithpassion.bdd.contexts;
 using MoMoney.Domain.Accounting;
 using MoMoney.Domain.Core;
 
-namespace tests.unit.client.domain.accounting
-{
-    [Concern(typeof (Bill))]
-    public class when_checking_to_see_if_a_new_bill_has_been_paid_for : concerns_for<Bill>
-    {
-        it should_return_false = () => result.should_be_equal_to(false);
-
-        public override Bill create_sut()
-        {
-            return Bill.New(enmax, amount_owed, DateTime.Now);
-        }
-
-        context c = () =>
-        {
-            amount_owed = new Money(100);
-            enmax = an<Company>();
-        };
-
-        because b = () => { result = sut.is_paid_for(); };
-
-        static bool result;
-        static Money amount_owed;
-        static Company enmax;
-    }
-
-    [Concern(typeof (Bill))]
-    public class when_checking_if_a_paid_bill_has_been_paid_for : concerns_for<Bill>
-    {
-        it should_return_true = () => result.should_be_equal_to(true);
-
-
-        context c = () =>
-        {
-            one_hundred_twenty_three_dollars_fourty_five_cents = new Money(123.45);
-            direct_energy = an<Company>();
-        };
-
-        because b = () =>
-        {
-            sut.pay(one_hundred_twenty_three_dollars_fourty_five_cents);
-            result = sut.is_paid_for();
-        };
-
-        public override Bill create_sut()
-        {
-            return  Bill.New(direct_energy, one_hundred_twenty_three_dollars_fourty_five_cents, DateTime.Now);
-        }
-
-        static Money one_hundred_twenty_three_dollars_fourty_five_cents;
-        static bool result;
-        static Company direct_energy;
-    }
-
-    //[Concern(typeof (Bill))]
-    //public class when_checking_if_two_bills_are_the_same_and_they_are : concerns_for<Bill>
-    //{
-    //    it should_return_true = () => result.should_be_true();
-
-    //    context c = () =>
-    //                    {
-    //                        company = an<Company>();
-    //                        due_date = new DateTime(2008, 01, 01);
-    //                    };
-
-    //    because b = () => { result = sut.Equals( Bill.New(company, new Money(0), due_date)); };
-
-    //    public override Bill create_sut()
-    //    {
-    //        return  Bill.New(company, new Money(0), due_date);
-    //    }
-
-    //    static Company company;
-    //    static DateTime due_date;
-    //    static bool result;
-    //}
+namespace tests.unit.client.domain.accounting
+{
+    [Concern(typeof (Bill))]
+    public class when_checking_to_see_if_a_new_bill_has_been_paid_for : tests_for<Bill>
+    {
+        it should_return_false = () => result.should_be_equal_to(false);
+
+        public override Bill create_sut()
+        {
+            return Bill.New(enmax, amount_owed, DateTime.Now);
+        }
+
+        context c = () =>
+        {
+            amount_owed = new Money(100);
+            enmax = an<Company>();
+        };
+
+        because b = () =>
+        {
+            result = sut.is_paid_for();
+        };
+
+        static bool result;
+        static Money amount_owed;
+        static Company enmax;
+    }
+
+    [Concern(typeof (Bill))]
+    public class when_checking_if_a_paid_bill_has_been_paid_for : tests_for<Bill>
+    {
+        it should_return_true = () => result.should_be_equal_to(true);
+
+
+        context c = () =>
+        {
+            one_hundred_twenty_three_dollars_fourty_five_cents = new Money(123.45);
+            direct_energy = an<Company>();
+        };
+
+        because b = () =>
+        {
+            sut.pay(one_hundred_twenty_three_dollars_fourty_five_cents);
+            result = sut.is_paid_for();
+        };
+
+        public override Bill create_sut()
+        {
+            return Bill.New(direct_energy, one_hundred_twenty_three_dollars_fourty_five_cents, DateTime.Now);
+        }
+
+        static Money one_hundred_twenty_three_dollars_fourty_five_cents;
+        static bool result;
+        static Company direct_energy;
+    }
+
+    //[Concern(typeof (Bill))]
+    //public class when_checking_if_two_bills_are_the_same_and_they_are : concerns_for<Bill>
+    //{
+    //    it should_return_true = () => result.should_be_true();
+
+    //    context c = () =>
+    //                    {
+    //                        company = an<Company>();
+    //                        due_date = new DateTime(2008, 01, 01);
+    //                    };
+
+    //    because b = () => { result = sut.Equals( Bill.New(company, new Money(0), due_date)); };
+
+    //    public override Bill create_sut()
+    //    {
+    //        return  Bill.New(company, new Money(0), due_date);
+    //    }
+
+    //    static Company company;
+    //    static DateTime due_date;
+    //    static bool result;
+    //}
 }
\ No newline at end of file
product/tests/unit/client/domain/core/MoneyExtensionsSpecs.cs
@@ -1,14 +1,16 @@
-using developwithpassion.bdd.contexts;
 using MoMoney.Domain.Core;
 
-namespace tests.unit.client.domain.core
-{
-    public class when_converting_a_valid_amount_to_a_money : concerns
-    {
-        it should_return_the_correct_money = () => result.should_be_equal_to(new Money(1.99));
-
-        because b = () => { result = 1.99; };
-
-        static Money result;
-    }
+namespace tests.unit.client.domain.core
+{
+    public class when_converting_a_valid_amount_to_a_money : concerns
+    {
+        it should_return_the_correct_money = () => result.should_be_equal_to(new Money(1.99));
+
+        because b = () =>
+        {
+            result = 1.99;
+        };
+
+        static Money result;
+    }
 }
\ No newline at end of file
product/tests/unit/client/domain/core/MoneySpecs.cs
@@ -1,42 +1,40 @@
-using developwithpassion.bdd.contexts;
 using MoMoney.Domain.Core;
 
-namespace tests.unit.client.domain.core
-{
-    [Concern(typeof (Money))]
-    public class when_adding_two_monies_together : concerns_for<Money>
-    {
-        it should_return_the_correct_money = () => result.should_be_equal_to(new Money(2.98));
-
-        because b = () =>
-        {
-            result = sut.add(new Money(1.99));
-        };
-
-        public override Money create_sut()
-        {
-            return new Money(0.99);
-        }
-
-        static Money result;
-    }
-
-    [Concern(typeof (Money))]
-    public class when_two_monies_of_the_same_value_are_compared_to_one_another : concerns_for<Money>
-    {
-        it they_should_be_equal = () => result.should_be_equal_to(true);
-
-
-        because b = () =>
-        {
-            result = sut.Equals(new Money(1.99));
-        };
-
-        public override Money create_sut()
-        {
-            return new Money(1.99);
-        }
-
-        static bool result;
-    }
+namespace tests.unit.client.domain.core
+{
+    [Concern(typeof (Money))]
+    public class when_adding_two_monies_together : runner<Money>
+    {
+        it should_return_the_correct_money = () => result.should_be_equal_to(new Money(2.98));
+
+        because b = () =>
+        {
+            result = sut.add(new Money(1.99));
+        };
+
+        public override Money create_sut()
+        {
+            return new Money(0.99);
+        }
+
+        static Money result;
+    }
+
+    [Concern(typeof (Money))]
+    public class when_two_monies_of_the_same_value_are_compared_to_one_another : runner<Money>
+    {
+        it they_should_be_equal = () => result.should_be_equal_to(true);
+
+        because b = () =>
+        {
+            result = sut.Equals(new Money(1.99));
+        };
+
+        public override Money create_sut()
+        {
+            return new Money(1.99);
+        }
+
+        static bool result;
+    }
 }
\ No newline at end of file
product/tests/unit/client/domain/core/RangeSpecs.cs
@@ -1,73 +1,82 @@
-using developwithpassion.bdd.contexts;
 using MoMoney.Domain.Core;
 
-namespace tests.unit.client.domain.core
-{
-    public class RangeSpecs
-    {
-    }
-
-    [Concern(typeof (Range<int>))]
-    public abstract class behaves_like_a_range_from_1_to_10 : concerns_for<IRange<int>>
-    {
-        public override IRange<int> create_sut()
-        {
-            return new Range<int>(1, 10);
-        }
-    }
-
-    [Concern(typeof (Range<int>))]
-    public abstract class behaves_like_a_range_from_10_to_1 : concerns_for<IRange<int>>
-    {
-        public override IRange<int> create_sut()
-        {
-            return new Range<int>(10, 1);
-        }
-    }
-
-    public class when_a_range_from_1_to_10_is_asked_if_it_contains_the_number_1 : behaves_like_a_range_from_1_to_10
-    {
-        it should_return_true = () => result.should_be_equal_to(true);
-
-        because b = () => { result = sut.contains(1); };
-
-        static bool result;
-    }
-
-    public class when_a_range_from_1_to_10_is_asked_if_it_contains_the_number_10 : behaves_like_a_range_from_1_to_10
-    {
-        it should_return_true = () => result.should_be_equal_to(true);
-
-        because b = () => { result = sut.contains(10); };
-
-        static bool result;
-    }
-
-    public class when_a_range_from_1_to_10_is_asked_if_it_contains_the_number_0 : behaves_like_a_range_from_1_to_10
-    {
-        it should_return_false = () => result.should_be_equal_to(false);
-
-        because b = () => { result = sut.contains(0); };
-
-        static bool result;
-    }
-
-    public class when_a_range_from_1_to_10_is_asked_if_it_contains_the_number_11 : behaves_like_a_range_from_1_to_10
-    {
-        it should_return_false = () => result.should_be_equal_to(false);
-
-        because b = () => { result = sut.contains(0); };
-
-        static bool result;
-    }
-
-    public class when_a_range_is_created_where_the_start_of_the_range_is_greater_than_the_end :
-        behaves_like_a_range_from_10_to_1
-    {
-        it should_flip_the_start_and_end_of_the_range = () =>
-        {
-            sut.start_of_range.should_be_equal_to(1);
-            sut.end_of_range.should_be_equal_to(10);
-        };
-    }
+namespace tests.unit.client.domain.core
+{
+    public class RangeSpecs {}
+
+    [Concern(typeof (Range<int>))]
+    public abstract class behaves_like_a_range_from_1_to_10 : tests_for<IRange<int>>
+    {
+        public override IRange<int> create_sut()
+        {
+            return new Range<int>(1, 10);
+        }
+    }
+
+    [Concern(typeof (Range<int>))]
+    public abstract class behaves_like_a_range_from_10_to_1 : tests_for<IRange<int>>
+    {
+        public override IRange<int> create_sut()
+        {
+            return new Range<int>(10, 1);
+        }
+    }
+
+    public class when_a_range_from_1_to_10_is_asked_if_it_contains_the_number_1 : behaves_like_a_range_from_1_to_10
+    {
+        it should_return_true = () => result.should_be_equal_to(true);
+
+        because b = () =>
+        {
+            result = sut.contains(1);
+        };
+
+        static bool result;
+    }
+
+    public class when_a_range_from_1_to_10_is_asked_if_it_contains_the_number_10 : behaves_like_a_range_from_1_to_10
+    {
+        it should_return_true = () => result.should_be_equal_to(true);
+
+        because b = () =>
+        {
+            result = sut.contains(10);
+        };
+
+        static bool result;
+    }
+
+    public class when_a_range_from_1_to_10_is_asked_if_it_contains_the_number_0 : behaves_like_a_range_from_1_to_10
+    {
+        it should_return_false = () => result.should_be_equal_to(false);
+
+        because b = () =>
+        {
+            result = sut.contains(0);
+        };
+
+        static bool result;
+    }
+
+    public class when_a_range_from_1_to_10_is_asked_if_it_contains_the_number_11 : behaves_like_a_range_from_1_to_10
+    {
+        it should_return_false = () => result.should_be_equal_to(false);
+
+        because b = () =>
+        {
+            result = sut.contains(0);
+        };
+
+        static bool result;
+    }
+
+    public class when_a_range_is_created_where_the_start_of_the_range_is_greater_than_the_end :
+        behaves_like_a_range_from_10_to_1
+    {
+        it should_flip_the_start_and_end_of_the_range = () =>
+        {
+            sut.start_of_range.should_be_equal_to(1);
+            sut.end_of_range.should_be_equal_to(10);
+        };
+    }
 }
\ No newline at end of file
product/tests/unit/client/domain/core/RankingSpecs.cs
@@ -1,76 +1,90 @@
-using developwithpassion.bdd.contexts;
 using MoMoney.Domain.Core;
 
-namespace tests.unit.client.domain.core
-{
-    public class RankingSpecs
-    {
-    }
-
-    public abstract class behaves_like_a_list_of_calgary_flames_point_leaders : concerns_for<IRanking<string>, Ranking<string>>
-    {
-        after_the_sut_has_been_created c = () =>
-        {
-            sut.add("Jarome Iginla");
-            sut.add("Mike Cammalleri");
-            sut.add("Daymond Langkow");
-            sut.add("Todd Bertuzzi");
-            sut.add("Rene Bourque");
-            sut.add("Dion Phaneuf");
-            sut.add("Craig Conroy");
-            sut.add("Curtis Glencross");
-            sut.add("David Moss");
-            sut.add("Adrian Aucoin");
-        };
-    }
-
-    public class when_someone_ranked_higher_is_compared_with_someone_ranked_lower :
-        behaves_like_a_list_of_calgary_flames_point_leaders
-    {
-        it the_higher_ranked_player_should_be_revealed = () => result.should_be_greater_than(0);
-
-        because b = () => { result = sut.Compare("Jarome Iginla", "Mike Cammalleri"); };
-
-        static int result;
-    }
-
-    public class when_someone_ranked_lower_is_compared_with_someone_ranked_higher :
-        behaves_like_a_list_of_calgary_flames_point_leaders
-    {
-        it the_lower_ranked_player_should_be_revealed = () => result.should_be_less_than(0);
-
-        because b = () => { result = sut.Compare("Mike Cammalleri", "Jarome Iginla"); };
-
-        static int result;
-    }
-
-    public class when_a_ranked_player_is_compared_with_them_selves :
-        behaves_like_a_list_of_calgary_flames_point_leaders
-    {
-        it should_indicate_that_they_are_ranked_the_same = () => result.should_be_equal_to(0);
-
-        because b = () => { result = sut.Compare("David Moss", "David Moss"); };
-
-        static int result;
-    }
-
-    public class when_an_unranked_player_is_compared_to_a_ranked_player :
-        behaves_like_a_list_of_calgary_flames_point_leaders
-    {
-        it should_ranked_the_ranked_player_higher = () => result.should_be_less_than(0);
-
-        because b = () => { result = sut.Compare("Brett Sutter", "Jarome Iginla"); };
-
-        static int result;
-    }
-
-    public class when_an_ranked_player_is_compared_to_a_unranked_player :
-        behaves_like_a_list_of_calgary_flames_point_leaders
-    {
-        it should_ranked_the_ranked_player_higher = () => result.should_be_greater_than(0);
-
-        because b = () => { result = sut.Compare("Jarome Iginla", "Brett Sutter"); };
-
-        static int result;
-    }
+namespace tests.unit.client.domain.core
+{
+    public class RankingSpecs
+    {
+        [Concern(typeof (Ranking<>))]
+        public abstract class behaves_like_a_list_of_calgary_flames_point_leaders : runner<Ranking<string>>
+        {
+            after_the_sut_has_been_created c = () =>
+            {
+                sut.add("Jarome Iginla");
+                sut.add("Mike Cammalleri");
+                sut.add("Daymond Langkow");
+                sut.add("Todd Bertuzzi");
+                sut.add("Rene Bourque");
+                sut.add("Dion Phaneuf");
+                sut.add("Craig Conroy");
+                sut.add("Curtis Glencross");
+                sut.add("David Moss");
+                sut.add("Adrian Aucoin");
+            };
+        }
+
+        public class when_someone_ranked_higher_is_compared_with_someone_ranked_lower :
+            behaves_like_a_list_of_calgary_flames_point_leaders
+        {
+            it the_higher_ranked_player_should_be_revealed = () => result.should_be_greater_than(0);
+
+            because b = () =>
+            {
+                result = sut.Compare("Jarome Iginla", "Mike Cammalleri");
+            };
+
+            static int result;
+        }
+
+        public class when_someone_ranked_lower_is_compared_with_someone_ranked_higher :
+            behaves_like_a_list_of_calgary_flames_point_leaders
+        {
+            it the_lower_ranked_player_should_be_revealed = () => result.should_be_less_than(0);
+
+            because b = () =>
+            {
+                result = sut.Compare("Mike Cammalleri", "Jarome Iginla");
+            };
+
+            static int result;
+        }
+
+        public class when_a_ranked_player_is_compared_with_them_selves :
+            behaves_like_a_list_of_calgary_flames_point_leaders
+        {
+            it should_indicate_that_they_are_ranked_the_same = () => result.should_be_equal_to(0);
+
+            because b = () =>
+            {
+                result = sut.Compare("David Moss", "David Moss");
+            };
+
+            static int result;
+        }
+
+        public class when_an_unranked_player_is_compared_to_a_ranked_player :
+            behaves_like_a_list_of_calgary_flames_point_leaders
+        {
+            it should_ranked_the_ranked_player_higher = () => result.should_be_less_than(0);
+
+            because b = () =>
+            {
+                result = sut.Compare("Brett Sutter", "Jarome Iginla");
+            };
+
+            static int result;
+        }
+
+        public class when_an_ranked_player_is_compared_to_a_unranked_player :
+            behaves_like_a_list_of_calgary_flames_point_leaders
+        {
+            it should_ranked_the_ranked_player_higher = () => result.should_be_greater_than(0);
+
+            because b = () =>
+            {
+                result = sut.Compare("Jarome Iginla", "Brett Sutter");
+            };
+
+            static int result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/core/ApplicationControllerSpecs.cs
@@ -1,4 +1,3 @@
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Core;
 using momoney.presentation.views;
 
@@ -6,14 +5,13 @@ namespace tests.unit.client.presentation.core
 {
     public class ApplicationControllerSpecs
     {
-        [Concern(typeof (ApplicationController))]
-        public abstract class concern : concerns_for<IApplicationController, ApplicationController>
+        public abstract class concern : runner<ApplicationController>
         {
             context c = () =>
             {
-                presenter_factory = the_dependency<PresenterFactory>();
-                view_factory = the_dependency<ViewFactory>();
-                shell = the_dependency<Shell>();
+                presenter_factory = dependency<PresenterFactory>();
+                view_factory = dependency<ViewFactory>();
+                shell = dependency<Shell>();
             };
 
             static protected Shell shell;
@@ -21,6 +19,7 @@ namespace tests.unit.client.presentation.core
             static protected ViewFactory view_factory;
         }
 
+        [Concern(typeof (ApplicationController))]
         public class when_the_application_controller_is_asked_to_run_a_presenter : concern
         {
             context c = () =>
product/tests/unit/client/presentation/model/ExitCommandSpecs.cs
@@ -1,57 +1,56 @@
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Core;
 using momoney.presentation.model.eventing;
 using momoney.presentation.model.menu.file;
 using MoMoney.Presentation.Model.Menu.File;
 using MoMoney.Service.Infrastructure.Eventing;
 
-namespace tests.unit.client.presentation.model
-{
-    [Concern(typeof (ExitCommand))]
-    public abstract class behaves_like_exit_command : concerns_for<IExitCommand>
-    {
-        public override IExitCommand create_sut()
-        {
-            return new ExitCommand(application, broker, save_changes_command);
-        }
-
-        context c = () =>
-        {
-            application = the_dependency<IApplication>();
-            broker = the_dependency<EventAggregator>();
-            save_changes_command = the_dependency<ISaveChangesCommand>();
-        };
-
-        protected static IApplication application;
-        protected static EventAggregator broker;
-        protected static ISaveChangesCommand save_changes_command;
-    }
-
-    public class when_closing_the_application_after_saving_the_project : behaves_like_exit_command
-    {
-        it should_ask_the_application_environment_to_shut_down = () => application.was_told_to(x => x.shut_down());
-
-        it should_publish_the_shut_down_event = () => broker.was_told_to(x => x.publish<ClosingTheApplication>());
-
-        because b = () => sut.saved();
-    }
-
-    public class when_closing_the_application_after_declining_to_save_the_project : behaves_like_exit_command
-    {
-        it should_ask_the_application_environment_to_shut_down = () => application.was_told_to(x => x.shut_down());
-
-        it should_publish_the_shut_down_event = () => broker.was_told_to(x => x.publish<ClosingTheApplication>());
-
-        because b = () => sut.not_saved();
-    }
-
-    public class when_closing_the_application_after_clicking_cancel_when_prompted_to_save_changes :
-        behaves_like_exit_command
-    {
-        it should_not_ask_the_application_environment_to_shut_down = () => application.was_told_to(x => x.shut_down());
-
-        it should_not_publish_the_shut_down_event = () => broker.was_told_to(x => x.publish<ClosingTheApplication>());
-
-        because b = () => sut.not_saved();
-    }
+namespace tests.unit.client.presentation.model
+{
+    [Concern(typeof (ExitCommand))]
+    public abstract class behaves_like_exit_command : runner<IExitCommand>
+    {
+        public override IExitCommand create_sut()
+        {
+            return new ExitCommand(application, broker, save_changes_command);
+        }
+
+        context c = () =>
+        {
+            application = dependency<IApplication>();
+            broker = dependency<EventAggregator>();
+            save_changes_command = dependency<ISaveChangesCommand>();
+        };
+
+        static protected IApplication application;
+        static protected EventAggregator broker;
+        static protected ISaveChangesCommand save_changes_command;
+    }
+
+    public class when_closing_the_application_after_saving_the_project : behaves_like_exit_command
+    {
+        it should_ask_the_application_environment_to_shut_down = () => application.was_told_to(x => x.shut_down());
+
+        it should_publish_the_shut_down_event = () => broker.was_told_to(x => x.publish<ClosingTheApplication>());
+
+        because b = () => sut.saved();
+    }
+
+    public class when_closing_the_application_after_declining_to_save_the_project : behaves_like_exit_command
+    {
+        it should_ask_the_application_environment_to_shut_down = () => application.was_told_to(x => x.shut_down());
+
+        it should_publish_the_shut_down_event = () => broker.was_told_to(x => x.publish<ClosingTheApplication>());
+
+        because b = () => sut.not_saved();
+    }
+
+    public class when_closing_the_application_after_clicking_cancel_when_prompted_to_save_changes :
+        behaves_like_exit_command
+    {
+        it should_not_ask_the_application_environment_to_shut_down = () => application.was_told_to(x => x.shut_down());
+
+        it should_not_publish_the_shut_down_event = () => broker.was_told_to(x => x.publish<ClosingTheApplication>());
+
+        because b = () => sut.not_saved();
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/model/NewCommandSpecs.cs
@@ -1,51 +1,50 @@
-using developwithpassion.bdd.contexts;
 using momoney.presentation.model.menu.file;
 using MoMoney.Presentation.Model.Menu.File;
 using MoMoney.Presentation.Model.Projects;
 
-namespace tests.unit.client.presentation.model
-{
-    [Concern(typeof (NewCommand))]
-    public abstract class behaves_like_new_command : concerns_for<INewCommand, NewCommand>
-    {
-        context c = () =>
-        {
-            current_project = the_dependency<IProjectController>();
-            save_changes_command = the_dependency<ISaveChangesCommand>();
-        };
-
-        protected static IProjectController current_project;
-        protected static ISaveChangesCommand save_changes_command;
-    }
-
-    public class before_starting_a_new_project : behaves_like_new_command
-    {
-        it should_check_to_see_if_there_were_any_unsaved_changes_to_a_previous_project =
-            () => save_changes_command.was_told_to(x => x.run(sut));
-
-        because b = () => sut.run();
-    }
-
-    public class when_starting_a_new_project_after_saving_a_previous_one : behaves_like_new_command
-    {
-        it should_start_a_new_project = () => current_project.was_told_to(x => x.start_new_project());
-
-        because b = () => sut.saved();
-    }
-
-    public class when_starting_a_new_project_after_declining_to_save_a_previous_one : behaves_like_new_command
-    {
-        it should_start_a_new_project = () => current_project.was_told_to(x => x.start_new_project());
-
-        because b = () => sut.not_saved();
-    }
-
-    public class when_starting_a_new_project_and_cancelling_when_asked_to_save_the_changes_to_a_previous_project :
-        behaves_like_new_command
-    {
-        it should_not_start_a_new_project =
-            () => current_project.was_not_told_to(x => x.start_new_project());
-
-        because b = () => sut.cancelled();
-    }
+namespace tests.unit.client.presentation.model
+{
+    [Concern(typeof (NewCommand))]
+    public abstract class behaves_like_new_command : runner<NewCommand>
+    {
+        context c = () =>
+        {
+            current_project = dependency<IProjectController>();
+            save_changes_command = dependency<ISaveChangesCommand>();
+        };
+
+        static protected IProjectController current_project;
+        static protected ISaveChangesCommand save_changes_command;
+    }
+
+    public class before_starting_a_new_project : behaves_like_new_command
+    {
+        it should_check_to_see_if_there_were_any_unsaved_changes_to_a_previous_project =
+            () => save_changes_command.was_told_to(x => x.run(sut));
+
+        because b = () => sut.run();
+    }
+
+    public class when_starting_a_new_project_after_saving_a_previous_one : behaves_like_new_command
+    {
+        it should_start_a_new_project = () => current_project.was_told_to(x => x.start_new_project());
+
+        because b = () => sut.saved();
+    }
+
+    public class when_starting_a_new_project_after_declining_to_save_a_previous_one : behaves_like_new_command
+    {
+        it should_start_a_new_project = () => current_project.was_told_to(x => x.start_new_project());
+
+        because b = () => sut.not_saved();
+    }
+
+    public class when_starting_a_new_project_and_cancelling_when_asked_to_save_the_changes_to_a_previous_project :
+        behaves_like_new_command
+    {
+        it should_not_start_a_new_project =
+            () => current_project.was_not_told_to(x => x.start_new_project());
+
+        because b = () => sut.cancelled();
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/model/OpenCommandSpecs.cs
@@ -1,85 +1,83 @@
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.FileSystem;
 using momoney.presentation.model.menu.file;
 using MoMoney.Presentation.Model.Menu.File;
 using MoMoney.Presentation.Model.Projects;
 using momoney.presentation.views;
 
-namespace tests.unit.client.presentation.model
-{
-    [Concern(typeof (OpenCommand))]
-    public abstract class behaves_like_command_to_open_a_project : concerns_for<IOpenCommand, OpenCommand>
-    {
-        context c = () =>
-        {
-            view = the_dependency<ISelectFileToOpenDialog>();
-            project = the_dependency<IProjectController>();
-            save_changes_command = the_dependency<ISaveChangesCommand>();
-        };
-
-        protected static IProjectController project;
-        protected static ISelectFileToOpenDialog view;
-        protected static ISaveChangesCommand save_changes_command;
-    }
-
-    public class before_opening_a_new_project :
-        behaves_like_command_to_open_a_project
-    {
-        it should_check_to_see_if_you_want_to_save_the_previously_opened_project =
-            () => save_changes_command.was_told_to(x => x.run(sut));
-
-        because b = () => sut.run();
-    }
-
-    public class when_attempting_to_open_an_existing_project_after_saving_the_previous_project :
-        behaves_like_command_to_open_a_project
-    {
-        it should_open_the_project_at_the_file_path_specified =
-            () => project.was_told_to(x => x.open_project_from(file_path));
-
-        context c = () =>
-        {
-            file_path = "blah_blah";
-            when_the(view).is_told_to(x => x.tell_me_the_path_to_the_file()).it_will_return(file_path);
-        };
-
-        because b = () => sut.saved();
-
-        static ApplicationFile file_path;
-    }
-
-    public class when_opening_a_project_after_declining_to_save_the_previous_project :
-        behaves_like_command_to_open_a_project
-    {
-        it should_open_the_project_at_the_file_path_specified =
-            () => project.was_told_to(x => x.open_project_from(file_path));
-
-        context c = () =>
-        {
-            file_path = "blah_blah";
-            when_the(view).is_told_to(x => x.tell_me_the_path_to_the_file()).it_will_return(file_path);
-        };
-
-        because b = () => sut.not_saved();
-
-        static ApplicationFile file_path;
-    }
-
-    public class
-        when_opening_a_new_project_and_then_deciding_that_you_want_to_continue_working_on_the_previously_opened_project :
-            behaves_like_command_to_open_a_project
-    {
-        it should_not_open_the_project_at_the_file_path_specified =
-            () => project.was_not_told_to(x => x.open_project_from(file_path));
-
-        context c = () =>
-        {
-            file_path = "blah_blah";
-            when_the(view).is_told_to(x => x.tell_me_the_path_to_the_file()).it_will_return(file_path);
-        };
-
-        because b = () => sut.cancelled();
-
-        static ApplicationFile file_path;
-    }
+namespace tests.unit.client.presentation.model
+{
+    [Concern(typeof (OpenCommand))]
+    public abstract class behaves_like_command_to_open_a_project : runner<OpenCommand>
+    {
+        context c = () =>
+        {
+            view = dependency<ISelectFileToOpenDialog>();
+            project = dependency<IProjectController>();
+            save_changes_command = dependency<ISaveChangesCommand>();
+        };
+
+        static protected IProjectController project;
+        static protected ISelectFileToOpenDialog view;
+        static protected ISaveChangesCommand save_changes_command;
+    }
+
+    public class before_opening_a_new_project : behaves_like_command_to_open_a_project
+    {
+        it should_check_to_see_if_you_want_to_save_the_previously_opened_project =
+            () => save_changes_command.was_told_to(x => x.run(sut));
+
+        because b = () => sut.run();
+    }
+
+    public class when_attempting_to_open_an_existing_project_after_saving_the_previous_project :
+        behaves_like_command_to_open_a_project
+    {
+        it should_open_the_project_at_the_file_path_specified =
+            () => project.was_told_to(x => x.open_project_from(file_path));
+
+        context c = () =>
+        {
+            file_path = "blah_blah";
+            view.is_told_to(x => x.tell_me_the_path_to_the_file()).it_will_return(file_path);
+        };
+
+        because b = () => sut.saved();
+
+        static ApplicationFile file_path;
+    }
+
+    public class when_opening_a_project_after_declining_to_save_the_previous_project :
+        behaves_like_command_to_open_a_project
+    {
+        it should_open_the_project_at_the_file_path_specified =
+            () => project.was_told_to(x => x.open_project_from(file_path));
+
+        context c = () =>
+        {
+            file_path = "blah_blah";
+            view.is_told_to(x => x.tell_me_the_path_to_the_file()).it_will_return(file_path);
+        };
+
+        because b = () => sut.not_saved();
+
+        static ApplicationFile file_path;
+    }
+
+    public class
+        when_opening_a_new_project_and_then_deciding_that_you_want_to_continue_working_on_the_previously_opened_project :
+            behaves_like_command_to_open_a_project
+    {
+        it should_not_open_the_project_at_the_file_path_specified =
+            () => project.was_not_told_to(x => x.open_project_from(file_path));
+
+        context c = () =>
+        {
+            file_path = "blah_blah";
+            view.is_told_to(x => x.tell_me_the_path_to_the_file()).it_will_return(file_path);
+        };
+
+        because b = () => sut.cancelled();
+
+        static ApplicationFile file_path;
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/model/ProjectControllerSpecs.cs
@@ -1,197 +1,195 @@
 using System;
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.FileSystem;
-using gorilla.commons.utility;
 using momoney.presentation.model.eventing;
 using MoMoney.Presentation.Model.Projects;
 using momoney.service.infrastructure;
 using MoMoney.Service.Infrastructure.Eventing;
 using momoney.service.infrastructure.transactions;
 
-namespace tests.unit.client.presentation.model
-{
-    public class ProjectControllerSpecs
-    {
-        [Concern(typeof (ProjectController))]
-        public abstract class behaves_like_a_project : concerns_for<IProjectController, ProjectController>
-        {
-            context c = () =>
-            {
-                broker = the_dependency<EventAggregator>();
-                tasks = the_dependency<IProjectTasks>();
-            };
-
-            static protected EventAggregator broker;
-            static protected IProjectTasks tasks;
-        }
-
-        public class when_saving_the_current_project : behaves_like_a_project
-        {
-            it should_notify_the_rest_of_the_application = () => broker.was_told_to(x => x.publish<SavedChangesEvent>());
-
-            context c = () =>
-            {
-                file_to_update = an<File>();
-                when_the(file_to_update).is_told_to(x => x.does_the_file_exist()).it_will_return(true);
-            };
-
-            because b = () =>
-            {
-                sut.open_project_from(file_to_update);
-                sut.save_changes();
-            };
-
-            static File file_to_update;
-        }
-
-        public class when_attempting_to_save_the_changes_to_a_project_and_a_file_to_save_to_has_not_been_specified :
-            behaves_like_a_project
-        {
-            it should_inform_the_user_of_an_error = () => the_call.should_have_thrown<FileNotSpecifiedException>();
-
-            because b = () =>
-            {
-                the_call = call.to(() => sut.save_changes());
-            };
-
-            static Action the_call;
-        }
-
-        public class when_specifying_a_new_path_to_save_an_opened_project_to : behaves_like_a_project
-        {
-            it should_save_the_current_database_to_the_new_path = () => tasks.was_told_to(x => x.copy_to("blah"));
-
-            context c = () =>
-            {
-                original_file = an<File>();
-                new_file = an<File>();
-                when_the(new_file).is_told_to(x => x.path).it_will_return("blah");
-            };
-
-            because b = () =>
-            {
-                sut.open_project_from(original_file);
-                sut.save_project_to(new_file);
-            };
-
-            static File original_file;
-            static File new_file;
-        }
-
-        public class when_attempting_to_open_an_invalid_project_file_path : behaves_like_a_project
-        {
-            it should_not_change_the_current_working_file = () => result.should_be_equal_to(false);
-
-            context c = () =>
-            {
-                invalid_file = an<File>();
-                when_the(invalid_file).is_told_to(x => x.does_the_file_exist()).it_will_return(false);
-            };
-
-            because b = () =>
-            {
-                sut.open_project_from(invalid_file);
-                result = sut.has_been_saved_at_least_once();
-            };
-
-            static File invalid_file;
-            static bool result;
-        }
-
-        public class when_attempting_to_save_all_changes_to_a_new_file_with_an_invalid_path : behaves_like_a_project
-        {
-            it should_not_change_the_current_file_to_the_invalid_one = () => result.should_be_equal_to(false);
-
-            context c = () =>
-            {
-                invalid_file = an<File>();
-
-                when_the(invalid_file).is_told_to(x => x.path).it_will_return(string.Empty);
-            };
-
-            because b = () =>
-            {
-                sut.save_project_to(invalid_file);
-                result = sut.has_been_saved_at_least_once();
-            };
-
-            static File invalid_file;
-            static bool result;
-        }
-
-        public class when_opening_a_new_file : behaves_like_a_project
-        {
-            context c = () =>
-            {
-                file = an<File>();
-                when_the(file).is_told_to(x => x.does_the_file_exist()).it_will_return(true);
-            };
-
-            because b = () => sut.open_project_from(file);
-
-            static File file;
-        }
-
-        public class when_checking_if_there_are_any_unsaved_changes_and_a_project_is_not_open : behaves_like_a_project
-        {
-            it should_return_false = () => result.should_be_equal_to(false);
-
-            because b = () =>
-            {
-                result = sut.has_unsaved_changes();
-            };
-
-            static bool result;
-        }
-
-        public class when_checking_if_there_are_any_unsaved_changes_and_there_are : behaves_like_a_project
-        {
-            it should_return_true = () => result.should_be_true();
-
-            context c = () =>
-            {
-                unit_of_work = an<IUnitOfWork>();
-                when_the(unit_of_work).is_told_to(x => x.is_dirty()).it_will_return(true);
-            };
-
-            because b = () =>
-            {
-                sut.downcast_to<ProjectController>().run(unit_of_work);
-                result = sut.has_unsaved_changes();
-            };
-
-            static bool result;
-            static IUnitOfWork unit_of_work;
-        }
-
-        public class when_starting_a_new_project_and_a_project_was_already_open : behaves_like_a_project
-        {
-            it should_close_the_previous_project = () => broker.was_told_to(x => x.publish<ClosingProjectEvent>());
-
-            because b = () =>
-            {
-                sut.start_new_project();
-                sut.start_new_project();
-            };
-        }
-
-        public class when_opening_an_existing_project_and_a_project_was_already_open : behaves_like_a_project
-        {
-            it should_close_the_previous_project = () => broker.was_told_to(x => x.publish<ClosingProjectEvent>());
-
-            context c = () =>
-            {
-                file = an<File>();
-                when_the(file).is_told_to(x => x.does_the_file_exist()).it_will_return(true);
-            };
-
-            because b = () =>
-            {
-                sut.open_project_from(file);
-                sut.start_new_project();
-            };
-
-            static File file;
-        }
-    }
+namespace tests.unit.client.presentation.model
+{
+    public class ProjectControllerSpecs
+    {
+        [Concern(typeof (ProjectController))]
+        public abstract class behaves_like_a_project : runner<ProjectController>
+        {
+            context c = () =>
+            {
+                broker = dependency<EventAggregator>();
+                tasks = dependency<IProjectTasks>();
+            };
+
+            static protected EventAggregator broker;
+            static protected IProjectTasks tasks;
+        }
+
+        public class when_saving_the_current_project : behaves_like_a_project
+        {
+            it should_notify_the_rest_of_the_application = () => broker.was_told_to(x => x.publish<SavedChangesEvent>());
+
+            context c = () =>
+            {
+                file_to_update = an<File>();
+                file_to_update.is_told_to(x => x.does_the_file_exist()).it_will_return(true);
+            };
+
+            because b = () =>
+            {
+                sut.open_project_from(file_to_update);
+                sut.save_changes();
+            };
+
+            static File file_to_update;
+        }
+
+        public class when_attempting_to_save_the_changes_to_a_project_and_a_file_to_save_to_has_not_been_specified :
+            behaves_like_a_project
+        {
+            it should_inform_the_user_of_an_error = () => the_call.should_have_thrown<FileNotSpecifiedException>();
+
+            because b = () =>
+            {
+                the_call = call.to(() => sut.save_changes());
+            };
+
+            static Action the_call;
+        }
+
+        public class when_specifying_a_new_path_to_save_an_opened_project_to : behaves_like_a_project
+        {
+            it should_save_the_current_database_to_the_new_path = () => tasks.was_told_to(x => x.copy_to("blah"));
+
+            context c = () =>
+            {
+                original_file = an<File>();
+                new_file = an<File>();
+                new_file.is_told_to(x => x.path).it_will_return("blah");
+            };
+
+            because b = () =>
+            {
+                sut.open_project_from(original_file);
+                sut.save_project_to(new_file);
+            };
+
+            static File original_file;
+            static File new_file;
+        }
+
+        public class when_attempting_to_open_an_invalid_project_file_path : behaves_like_a_project
+        {
+            it should_not_change_the_current_working_file = () => result.should_be_equal_to(false);
+
+            context c = () =>
+            {
+                invalid_file = an<File>();
+                invalid_file.is_told_to(x => x.does_the_file_exist()).it_will_return(false);
+            };
+
+            because b = () =>
+            {
+                sut.open_project_from(invalid_file);
+                result = sut.has_been_saved_at_least_once();
+            };
+
+            static File invalid_file;
+            static bool result;
+        }
+
+        public class when_attempting_to_save_all_changes_to_a_new_file_with_an_invalid_path : behaves_like_a_project
+        {
+            it should_not_change_the_current_file_to_the_invalid_one = () => result.should_be_equal_to(false);
+
+            context c = () =>
+            {
+                invalid_file = an<File>();
+
+                invalid_file.is_told_to(x => x.path).it_will_return(string.Empty);
+            };
+
+            because b = () =>
+            {
+                sut.save_project_to(invalid_file);
+                result = sut.has_been_saved_at_least_once();
+            };
+
+            static File invalid_file;
+            static bool result;
+        }
+
+        public class when_opening_a_new_file : behaves_like_a_project
+        {
+            context c = () =>
+            {
+                file = an<File>();
+                file.is_told_to(x => x.does_the_file_exist()).it_will_return(true);
+            };
+
+            because b = () => sut.open_project_from(file);
+
+            static File file;
+        }
+
+        public class when_checking_if_there_are_any_unsaved_changes_and_a_project_is_not_open : behaves_like_a_project
+        {
+            it should_return_false = () => result.should_be_equal_to(false);
+
+            because b = () =>
+            {
+                result = sut.has_unsaved_changes();
+            };
+
+            static bool result;
+        }
+
+        public class when_checking_if_there_are_any_unsaved_changes_and_there_are : behaves_like_a_project
+        {
+            it should_return_true = () => result.should_be_true();
+
+            context c = () =>
+            {
+                unit_of_work = an<IUnitOfWork>();
+                unit_of_work.is_told_to(x => x.is_dirty()).it_will_return(true);
+            };
+
+            because b = () =>
+            {
+                sut.downcast_to<ProjectController>().run(unit_of_work);
+                result = sut.has_unsaved_changes();
+            };
+
+            static bool result;
+            static IUnitOfWork unit_of_work;
+        }
+
+        public class when_starting_a_new_project_and_a_project_was_already_open : behaves_like_a_project
+        {
+            it should_close_the_previous_project = () => broker.was_told_to(x => x.publish<ClosingProjectEvent>());
+
+            because b = () =>
+            {
+                sut.start_new_project();
+                sut.start_new_project();
+            };
+        }
+
+        public class when_opening_an_existing_project_and_a_project_was_already_open : behaves_like_a_project
+        {
+            it should_close_the_previous_project = () => broker.was_told_to(x => x.publish<ClosingProjectEvent>());
+
+            context c = () =>
+            {
+                file = an<File>();
+                file.is_told_to(x => x.does_the_file_exist()).it_will_return(true);
+            };
+
+            because b = () =>
+            {
+                sut.open_project_from(file);
+                sut.start_new_project();
+            };
+
+            static File file;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/model/ReportBindingExtensionsSpecs.cs
@@ -1,13 +1,10 @@
 using System;
 using DataDynamics.ActiveReports;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Model.reporting;
 
 namespace tests.unit.client.presentation.model
 {
-    public class ReportBindingExtensionsSpecs
-    {
-    }
+    public class ReportBindingExtensionsSpecs {}
 
     [Concern(typeof (ReportBindingExtensions))]
     public class when_binding_a_active_report_control_to_a_string_property_of_a_dto : concerns
@@ -15,7 +12,10 @@ namespace tests.unit.client.presentation.model
         it should_set_the_controls_datafield_property_to_the_name_of_the_dtos_property =
             () => control.was_told_to(x => x.DataField = "name");
 
-        context c = () => { control = dependency<ARControl>(); };
+        context c = () =>
+        {
+            control = dependency<ARControl>();
+        };
 
         because b = () => control.bind_to<test_dto, string>(x => x.name);
 
@@ -28,7 +28,10 @@ namespace tests.unit.client.presentation.model
         it should_set_the_controls_datafield_property_to_the_name_of_the_dtos_property =
             () => control.was_told_to(x => x.DataField = "birthdate");
 
-        context c = () => { control = dependency<ARControl>(); };
+        context c = () =>
+        {
+            control = dependency<ARControl>();
+        };
 
         because b = () => control.bind_to<test_dto, DateTime>(x => x.birthdate);
 
product/tests/unit/client/presentation/model/SaveAsCommandSpecs.cs
@@ -1,4 +1,3 @@
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.FileSystem;
 using momoney.presentation.model.menu.file;
 using MoMoney.Presentation.Model.Projects;
@@ -7,7 +6,7 @@ using momoney.presentation.views;
 namespace tests.unit.client.presentation.model
 {
     [Concern(typeof (SaveAsCommand))]
-    public class when_saving_the_current_project_to_a_new_file_path : concerns_for<ISaveAsCommand, SaveAsCommand>
+    public class when_saving_the_current_project_to_a_new_file_path : TestsFor<ISaveAsCommand>
     {
         it should_save_the_current_project_to_the_new_path = () => current_project.was_told_to(x => x.save_project_to(new_path));
 
@@ -17,7 +16,7 @@ namespace tests.unit.client.presentation.model
             view = an<ISelectFileToSaveToDialog>();
             new_path = "blah_blah";
 
-            when_the(view).is_told_to(x => x.tell_me_the_path_to_the_file()).it_will_return(new_path);
+            view.is_told_to(x => x.tell_me_the_path_to_the_file()).it_will_return(new_path);
         };
 
         because b = () => sut.run();
product/tests/unit/client/presentation/model/SaveCommandSpecs.cs
@@ -1,57 +1,56 @@
-using developwithpassion.bdd.contexts;
 using momoney.presentation.model.menu.file;
 using MoMoney.Presentation.Model.Projects;
 
-namespace tests.unit.client.presentation.model
-{
-    [Concern(typeof (SaveCommand))]
-    public abstract class behaves_like_the_save_command : concerns_for<ISaveCommand, SaveCommand>
-    {
-        public override ISaveCommand create_sut()
-        {
-            return new SaveCommand(current_project, save_as_command);
-        }
-
-        context c = () =>
-        {
-            current_project = an<IProjectController>();
-            save_as_command = an<ISaveAsCommand>();
-        };
-        protected static ISaveAsCommand save_as_command;
-        protected static IProjectController current_project;
-    }
-
-    public class when_saving_the_current_project_that_has_not_been_saved_yet : behaves_like_the_save_command
-    {
-        it should_prompt_the_user_to_specifiy_the_path_to_save_to = () => save_as_command.was_told_to(x => x.run());
-
-        context c = () => when_the(current_project)
-                              .is_told_to(x => x.has_been_saved_at_least_once())
-                              .it_will_return(false);
-
-        because b = () => sut.run();
-
-        public override ISaveCommand create_sut()
-        {
-            return new SaveCommand(current_project, save_as_command);
-        }
-    }
-
-    [Concern(typeof (SaveCommand))]
-    public class when_saving_the_current_project_that_has_been_saved_before : behaves_like_the_save_command
-    {
-        it should_save_the_current_project_to_the_same_path = () => current_project.was_told_to(x => x.save_changes());
-
-        context c = () => when_the(current_project)
-                              .is_told_to(x => x.has_been_saved_at_least_once())
-                              .it_will_return(true);
-
-        because b = () => sut.run();
-
-        public override ISaveCommand create_sut()
-        {
-            return new SaveCommand(current_project, save_as_command);
-        }
-
-    }
+namespace tests.unit.client.presentation.model
+{
+    [Concern(typeof (SaveCommand))]
+    public abstract class behaves_like_the_save_command : TestsFor<ISaveCommand>
+    {
+        public override ISaveCommand create_sut()
+        {
+            return new SaveCommand(current_project, save_as_command);
+        }
+
+        context c = () =>
+        {
+            current_project = an<IProjectController>();
+            save_as_command = an<ISaveAsCommand>();
+        };
+
+        static protected ISaveAsCommand save_as_command;
+        static protected IProjectController current_project;
+    }
+
+    public class when_saving_the_current_project_that_has_not_been_saved_yet : behaves_like_the_save_command
+    {
+        it should_prompt_the_user_to_specifiy_the_path_to_save_to = () => save_as_command.was_told_to(x => x.run());
+
+        context c = () => current_project
+                              .is_told_to(x => x.has_been_saved_at_least_once())
+                              .it_will_return(false);
+
+        because b = () => sut.run();
+
+        public override ISaveCommand create_sut()
+        {
+            return new SaveCommand(current_project, save_as_command);
+        }
+    }
+
+    [Concern(typeof (SaveCommand))]
+    public class when_saving_the_current_project_that_has_been_saved_before : behaves_like_the_save_command
+    {
+        it should_save_the_current_project_to_the_same_path = () => current_project.was_told_to(x => x.save_changes());
+
+        context c = () => current_project
+                              .is_told_to(x => x.has_been_saved_at_least_once())
+                              .it_will_return(true);
+
+        because b = () => sut.run();
+
+        public override ISaveCommand create_sut()
+        {
+            return new SaveCommand(current_project, save_as_command);
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/presenters/AddCompanyPresenterSpecs.cs
@@ -1,4 +1,3 @@
-using developwithpassion.bdd.contexts;
 using MoMoney.DTO;
 using MoMoney.Presentation.Presenters;
 using MoMoney.Presentation.Views;
@@ -7,12 +6,12 @@ using MoMoney.Service.Contracts.Application;
 namespace tests.unit.client.presentation.presenters
 {
     [Concern(typeof (AddCompanyPresenter))]
-    public abstract class behaves_like_the_add_company_presenter : concerns_for<AddCompanyPresenter>
+    public abstract class behaves_like_the_add_company_presenter : tests_for<AddCompanyPresenter>
     {
         context c = () =>
         {
-            view = the_dependency<IAddCompanyView>();
-            pump = the_dependency<ICommandPump>();
+            view = dependency<IAddCompanyView>();
+            pump = dependency<ICommandPump>();
         };
 
         static protected IAddCompanyView view;
@@ -25,7 +24,7 @@ namespace tests.unit.client.presentation.presenters
         context c = () =>
         {
             dto = new RegisterNewCompany {company_name = "Microsoft"};
-            when_the(pump)
+            pump
                 .is_told_to(x => x.run<IRegisterNewCompanyCommand, RegisterNewCompany>(dto))
                 .it_will_return(pump);
         };
product/tests/unit/client/presentation/presenters/AddNewIncomePresenterSpecs.cs
@@ -1,56 +1,59 @@
 using System.Collections.Generic;
-using developwithpassion.bdd.contexts;
 using MoMoney.DTO;
 using MoMoney.Presentation.Presenters;
 using momoney.presentation.views;
 using MoMoney.Presentation.Views;
 using MoMoney.Service.Contracts.Application;
 
-namespace tests.unit.client.presentation.presenters
-{
-    [Concern(typeof (AddNewIncomePresenter))]
-    public abstract class behaves_like_add_new_income_presenter : concerns_for< AddNewIncomePresenter>
-    {
-        context c = () =>
-        {
-            view = the_dependency<IAddNewIncomeView>();
-            pump = the_dependency<ICommandPump>();
-        };
-
-        static protected ICommandPump pump;
-        static protected IAddNewIncomeView view;
-    }
-
-    [Concern(typeof (AddNewIncomePresenter))]
-    public class when_new_income_is_submitted : behaves_like_add_new_income_presenter
-    {
-        it should_add_the_income_to_the_account_holders_account =
-            () => pump.was_told_to(x => x.run<IAddNewIncomeCommand, IncomeSubmissionDTO>(income));
-
-        it should_display_the_new_income =
-            () => pump.was_told_to(x => x.run<IEnumerable<IncomeInformationDTO>, IGetAllIncomeQuery>(view));
-
-        context c = () => { income = new IncomeSubmissionDTO {}; };
-
-        because b = () => sut.submit_new(income);
-
-        static IncomeSubmissionDTO income;
-    }
-
-    [Concern(typeof (AddNewIncomePresenter))]
-    public class when_loaded : behaves_like_add_new_income_presenter
-    {
-        it should_display_a_list_of_all_the_registered_company_to_select =
-            () => pump.was_told_to(x => x.run<IEnumerable<CompanyDTO>, IGetAllCompanysQuery>(view));
-
-        it should_display_the_income_already_added =
-            () => pump.was_told_to(x => x.run<IEnumerable<IncomeInformationDTO>, IGetAllIncomeQuery>(view));
-
-        context c = () => {
-                              shell = an<Shell>();
-        };
-
-        because b = () => sut.present(shell);
-        static Shell shell;
-    }
+namespace tests.unit.client.presentation.presenters
+{
+    [Concern(typeof (AddNewIncomePresenter))]
+    public abstract class behaves_like_add_new_income_presenter : tests_for<AddNewIncomePresenter>
+    {
+        context c = () =>
+        {
+            view = dependency<IAddNewIncomeView>();
+            pump = dependency<ICommandPump>();
+        };
+
+        static protected ICommandPump pump;
+        static protected IAddNewIncomeView view;
+    }
+
+    [Concern(typeof (AddNewIncomePresenter))]
+    public class when_new_income_is_submitted : behaves_like_add_new_income_presenter
+    {
+        it should_add_the_income_to_the_account_holders_account =
+            () => pump.was_told_to(x => x.run<IAddNewIncomeCommand, IncomeSubmissionDTO>(income));
+
+        it should_display_the_new_income =
+            () => pump.was_told_to(x => x.run<IEnumerable<IncomeInformationDTO>, IGetAllIncomeQuery>(view));
+
+        context c = () =>
+        {
+            income = new IncomeSubmissionDTO {};
+        };
+
+        because b = () => sut.submit_new(income);
+
+        static IncomeSubmissionDTO income;
+    }
+
+    [Concern(typeof (AddNewIncomePresenter))]
+    public class when_loaded : behaves_like_add_new_income_presenter
+    {
+        it should_display_a_list_of_all_the_registered_company_to_select =
+            () => pump.was_told_to(x => x.run<IEnumerable<CompanyDTO>, IGetAllCompanysQuery>(view));
+
+        it should_display_the_income_already_added =
+            () => pump.was_told_to(x => x.run<IEnumerable<IncomeInformationDTO>, IGetAllIncomeQuery>(view));
+
+        context c = () =>
+        {
+            shell = an<Shell>();
+        };
+
+        because b = () => sut.present(shell);
+        static Shell shell;
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/presenters/CheckForUpdatesPresenterSpecs.cs
@@ -1,4 +1,3 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using Gorilla.Commons.Utility;
 using momoney.presentation.presenters;
@@ -11,12 +10,12 @@ namespace tests.unit.client.presentation.presenters
     public class CheckForUpdatesPresentersSpecs
     {
         [Concern(typeof (CheckForUpdatesPresenter))]
-        public abstract class concern : concerns_for<CheckForUpdatesPresenter>
+        public abstract class concern : runner<CheckForUpdatesPresenter>
         {
             context c = () =>
             {
-                view = the_dependency<ICheckForUpdatesView>();
-                pump = the_dependency<ICommandPump>();
+                view = dependency<ICheckForUpdatesView>();
+                pump = dependency<ICommandPump>();
             };
 
             because b = () =>
product/tests/unit/client/presentation/presenters/GettingStartedPresenterSpecs.cs
@@ -1,32 +1,31 @@
-using developwithpassion.bdd.contexts;
 using momoney.presentation.presenters;
 using momoney.presentation.views;
 
-namespace tests.unit.client.presentation.presenters
-{
-    public class GettingStartedPresenterSpecs
-    {
-        public class behaves_like_the_getting_started_presenter : concerns_for<GettingStartedPresenter>
-        {
-            context c = () =>
-            {
-                view = the_dependency<IGettingStartedView>();
-            };
-
-            static protected IGettingStartedView view;
-        }
-
-        public class when_a_new_project_is_opened : behaves_like_the_getting_started_presenter
-        {
-            it should_display_the_getting_started_screen = () => shell.was_told_to(x => x.add(view));
-
-            context c = () =>
-            {
-                shell = an<Shell>();
-            };
-
-            because b = () => sut.present(shell);
-            static Shell shell;
-        }
-    }
+namespace tests.unit.client.presentation.presenters
+{
+    public class GettingStartedPresenterSpecs
+    {
+        public class behaves_like_the_getting_started_presenter : tests_for<GettingStartedPresenter>
+        {
+            context c = () =>
+            {
+                view = dependency<IGettingStartedView>();
+            };
+
+            static protected IGettingStartedView view;
+        }
+
+        public class when_a_new_project_is_opened : behaves_like_the_getting_started_presenter
+        {
+            it should_display_the_getting_started_screen = () => shell.was_told_to(x => x.add(view));
+
+            context c = () =>
+            {
+                shell = an<Shell>();
+            };
+
+            because b = () => sut.present(shell);
+            static Shell shell;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/presenters/LogFileViewPresenterSpecs.cs
@@ -1,39 +1,38 @@
-using developwithpassion.bdd.contexts;
 using momoney.presentation.presenters;
 using momoney.presentation.views;
 using momoney.service.infrastructure.logging;
 
-namespace tests.unit.client.presentation.presenters
-{
-    public class behaves_like_log_file_presenter : concerns_for< LogFilePresenter>
-    {
-        context c = () =>
-        {
-            view = the_dependency<ILogFileView>();
-            tasks = the_dependency<ILogFileTasks>();
-        };
-
-        static protected ILogFileView view;
-        static protected ILogFileTasks tasks;
-    }
-
-    public class when_displaying_the_log_file : behaves_like_log_file_presenter
-    {
-        it should_display_the_contents_of_the_log_file = () => view.was_told_to(x => x.display(log_file_path));
-
-        context c = () =>
-        {
-            shell = an<Shell>();
-            log_file_path = "log.txt";
-            log_file_contents = "hello_jello";
-            tasks.is_told_to(x => x.get_the_path_to_the_log_file()).it_will_return(log_file_path);
-            tasks.is_told_to(x => x.get_the_contents_of_the_log_file()).it_will_return(log_file_contents);
-        };
-
-        because b = () => sut.present(shell);
-
-        static string log_file_contents;
-        static string log_file_path;
-        static Shell shell;
-    }
+namespace tests.unit.client.presentation.presenters
+{
+    public class behaves_like_log_file_presenter : tests_for<LogFilePresenter>
+    {
+        context c = () =>
+        {
+            view = dependency<ILogFileView>();
+            tasks = dependency<ILogFileTasks>();
+        };
+
+        static protected ILogFileView view;
+        static protected ILogFileTasks tasks;
+    }
+
+    public class when_displaying_the_log_file : behaves_like_log_file_presenter
+    {
+        it should_display_the_contents_of_the_log_file = () => view.was_told_to(x => x.display(log_file_path));
+
+        context c = () =>
+        {
+            shell = an<Shell>();
+            log_file_path = "log.txt";
+            log_file_contents = "hello_jello";
+            tasks.is_told_to(x => x.get_the_path_to_the_log_file()).it_will_return(log_file_path);
+            tasks.is_told_to(x => x.get_the_contents_of_the_log_file()).it_will_return(log_file_contents);
+        };
+
+        because b = () => sut.present(shell);
+
+        static string log_file_contents;
+        static string log_file_path;
+        static Shell shell;
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/presenters/RunTheSpecs.cs
@@ -1,4 +1,3 @@
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Core;
 using momoney.presentation.presenters;
 
@@ -7,13 +6,13 @@ namespace tests.unit.client.presentation.presenters
     public class RunTheSpecs
     {
         [Concern(typeof (RunThe<>))]
-        public class when_initializing_different_regions_of_the_user_interface : concerns_for<IRunThe<Presenter>, RunThe<Presenter>>
+        public class when_initializing_different_regions_of_the_user_interface : runner<RunThe<Presenter>>
         {
             it should_initialize_the_presenter_that_controls_that_region = () => controller.was_told_to(x => x.run<Presenter>());
 
             context c = () =>
             {
-                controller = the_dependency<IApplicationController>();
+                controller = dependency<IApplicationController>();
             };
 
             because b = () => sut.run();
product/tests/unit/client/presentation/presenters/SplashScreenPresenterSpecs.cs
@@ -1,95 +1,94 @@
 using System;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Presenters;
 using momoney.presentation.views;
 using MoMoney.Service.Infrastructure.Threading;
 
-namespace tests.unit.client.presentation.presenters
-{
-    [Concern(typeof (SplashScreenPresenter))]
-    public abstract class behaves_like_splash_screen_presenter : concerns_for<ISplashScreenPresenter>
-    {
-        public override ISplashScreenPresenter create_sut()
-        {
-            return new SplashScreenPresenter(timer, view);
-        }
-
-        context c = () =>
-        {
-            timer = the_dependency<ITimer>();
-            view = the_dependency<ISplashScreenView>();
-        };
-
-        protected static ITimer timer;
-        protected static ISplashScreenView view;
-    }
-
-    public class when_displaying_the_splash_screen : behaves_like_splash_screen_presenter
-    {
-        it should_start_a_timer_that_increments_the_opacity =
-            () => timer.was_told_to(t => t.start_notifying(sut, new TimeSpan(50)));
-
-        it should_show_the_splash_screen = () => view.was_told_to(v => v.display());
-
-        because b = () => sut.run();
-    }
-
-    public class when_the_timer_notifies_the_presenter_that_to_update : behaves_like_splash_screen_presenter
-    {
-        it should_increment_the_views_opacity = () => view.was_told_to(v => v.increment_the_opacity());
-
-        context c = () => when_the(view).is_asked_for(v => v.current_opacity()).it_will_return(0.5);
-
-        because b = () =>
-        {
-            sut.run();
-            sut.notify();
-        };
-    }
-
-    public class when_the_timer_notifies_the_presenter_to_update_and_the_opacity_of_the_view_has_reached_100_percent :
-        behaves_like_splash_screen_presenter
-    {
-        it should_stop_the_timer = () => timer.was_told_to(t => t.stop_notifying(sut));
-
-        context c = () => when_the(view).is_asked_for(v => v.current_opacity()).it_will_return(1);
-
-        because b = () =>
-        {
-            sut.run();
-            sut.notify();
-        };
-    }
-
-    public class when_hiding_the_splash_screen : behaves_like_splash_screen_presenter
-    {
-        it should_start_a_timer_to_fade_the_splash_screen_away =
-            () => timer.was_told_to(t => t.start_notifying(sut, new TimeSpan(50)));
-
-        it should_decrement_the_opacity_of_the_view = () => view.was_told_to(v => v.decrement_the_opacity());
-
-        context c = () => when_the(view).is_asked_for(v => v.current_opacity()).it_will_return(.5);
-
-        because b = () =>
-        {
-            sut.Dispose();
-            sut.notify();
-        };
-    }
-
-    public class when_the_splash_screen_is_fading_away_and_its_opacity_has_reached_zero :
-        behaves_like_splash_screen_presenter
-    {
-        it should_stop_the_timer = () => timer.was_told_to(t => t.stop_notifying(sut));
-
-        it should_close_the_view = () => view.was_told_to(v => v.close_the_screen());
-
-        context c = () => when_the(view).is_asked_for(v => v.current_opacity()).it_will_return(0);
-
-        because b = () =>
-        {
-            sut.Dispose();
-            sut.notify();
-        };
-    }
+namespace tests.unit.client.presentation.presenters
+{
+    [Concern(typeof (SplashScreenPresenter))]
+    public abstract class behaves_like_splash_screen_presenter : tests_for<ISplashScreenPresenter>
+    {
+        public override ISplashScreenPresenter create_sut()
+        {
+            return new SplashScreenPresenter(timer, view);
+        }
+
+        context c = () =>
+        {
+            timer = dependency<ITimer>();
+            view = dependency<ISplashScreenView>();
+        };
+
+        static protected ITimer timer;
+        static protected ISplashScreenView view;
+    }
+
+    public class when_displaying_the_splash_screen : behaves_like_splash_screen_presenter
+    {
+        it should_start_a_timer_that_increments_the_opacity =
+            () => timer.was_told_to(t => t.start_notifying(sut, new TimeSpan(50)));
+
+        it should_show_the_splash_screen = () => view.was_told_to(v => v.display());
+
+        because b = () => sut.run();
+    }
+
+    public class when_the_timer_notifies_the_presenter_that_to_update : behaves_like_splash_screen_presenter
+    {
+        it should_increment_the_views_opacity = () => view.was_told_to(v => v.increment_the_opacity());
+
+        context c = () => view.is_asked_for(v => v.current_opacity()).it_will_return(0.5);
+
+        because b = () =>
+        {
+            sut.run();
+            sut.notify();
+        };
+    }
+
+    public class when_the_timer_notifies_the_presenter_to_update_and_the_opacity_of_the_view_has_reached_100_percent :
+        behaves_like_splash_screen_presenter
+    {
+        it should_stop_the_timer = () => timer.was_told_to(t => t.stop_notifying(sut));
+
+        context c = () => view.is_asked_for(v => v.current_opacity()).it_will_return(1);
+
+        because b = () =>
+        {
+            sut.run();
+            sut.notify();
+        };
+    }
+
+    public class when_hiding_the_splash_screen : behaves_like_splash_screen_presenter
+    {
+        it should_start_a_timer_to_fade_the_splash_screen_away =
+            () => timer.was_told_to(t => t.start_notifying(sut, new TimeSpan(50)));
+
+        it should_decrement_the_opacity_of_the_view = () => view.was_told_to(v => v.decrement_the_opacity());
+
+        context c = () => view.is_asked_for(v => v.current_opacity()).it_will_return(.5);
+
+        because b = () =>
+        {
+            sut.Dispose();
+            sut.notify();
+        };
+    }
+
+    public class when_the_splash_screen_is_fading_away_and_its_opacity_has_reached_zero :
+        behaves_like_splash_screen_presenter
+    {
+        it should_stop_the_timer = () => timer.was_told_to(t => t.stop_notifying(sut));
+
+        it should_close_the_view = () => view.was_told_to(v => v.close_the_screen());
+
+        context c = () => view.is_asked_for(v => v.current_opacity()).it_will_return(0);
+
+        because b = () =>
+        {
+            sut.Dispose();
+            sut.notify();
+        };
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/presenters/StatusBarPresenterSpecs.cs
@@ -1,4 +1,3 @@
-using developwithpassion.bdd.contexts;
 using momoney.presentation.model.eventing;
 using momoney.presentation.presenters;
 using momoney.presentation.resources;
@@ -7,14 +6,14 @@ using MoMoney.Presentation.Views;
 namespace tests.unit.client.presentation.presenters
 {
     [Concern(typeof (StatusBarPresenter))]
-    public class when_initializing_the_status_bar : concerns_for<StatusBarPresenter>
+    public class when_initializing_the_status_bar : tests_for<StatusBarPresenter>
     {
         it should_display_a_ready_message =
             () => view.was_told_to(v => v.display(ApplicationIcons.green_circle, "Ready"));
 
         context c = () =>
         {
-            view = the_dependency<IStatusBarView>();
+            view = dependency<IStatusBarView>();
         };
 
         because b = () => sut.notify(new NewProjectOpened(""));
product/tests/unit/client/presentation/presenters/UnhandledErrorPresenterSpecs.cs
@@ -1,30 +1,29 @@
 using System;
-using developwithpassion.bdd.contexts;
 using momoney.presentation.model.eventing;
 using momoney.presentation.presenters;
 using momoney.presentation.views;
 using MoMoney.Service.Infrastructure.Eventing;
 
-namespace tests.unit.client.presentation.presenters
-{
-    public class behaves_like_unhandled_error_presenter : concerns_for<UnhandledErrorPresenter>
-    {
-        context c = () =>
-        {
-            view = the_dependency<IUnhandledErrorView>();
-            broker = the_dependency<EventAggregator>();
-        };
-
-        protected static IUnhandledErrorView view;
-        protected static EventAggregator broker;
-    }
-
-    public class when_an_error_occurs_in_the_application : behaves_like_unhandled_error_presenter
-    {
-        it should_display_the_error = () => view.was_told_to(x => x.display(error));
-
-        because b = () => sut.notify(new UnhandledErrorOccurred(error));
-
-        static readonly Exception error = new Exception();
-    }
+namespace tests.unit.client.presentation.presenters
+{
+    public class behaves_like_unhandled_error_presenter : tests_for<UnhandledErrorPresenter>
+    {
+        context c = () =>
+        {
+            view = dependency<IUnhandledErrorView>();
+            broker = dependency<EventAggregator>();
+        };
+
+        static protected IUnhandledErrorView view;
+        static protected EventAggregator broker;
+    }
+
+    public class when_an_error_occurs_in_the_application : behaves_like_unhandled_error_presenter
+    {
+        it should_display_the_error = () => view.was_told_to(x => x.display(error));
+
+        because b = () => sut.notify(new UnhandledErrorOccurred(error));
+
+        static readonly Exception error = new Exception();
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/databinding/BindingSelectorSpecs.cs
@@ -1,6 +1,5 @@
 using System;
 using System.Linq.Expressions;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Databinding;
 
 namespace tests.unit.client.presentation.winforms.databinding
@@ -8,7 +7,7 @@ namespace tests.unit.client.presentation.winforms.databinding
     public class BindingSelectorSpecs
     {
         [Concern(typeof (BindingSelector<>))]
-        public class when_selecting_a_property_as_the_target_of_a_binding : concerns_for<IBindingSelector<IAnInterface>>
+        public class when_selecting_a_property_as_the_target_of_a_binding : tests_for<IBindingSelector<IAnInterface>>
         {
             it should_return_a_binder_bound_to_the_correct_property =
                 () => result.property.Name.should_be_equal_to("FirstName");
product/tests/unit/client/presentation/winforms/databinding/ComboBoxDataBindingSpecs.cs
@@ -1,66 +1,68 @@
 using System.Windows.Forms;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Databinding;
 
-namespace tests.unit.client.presentation.winforms.databinding
-{
-    [Concern(typeof (Create))]
-    public class when_binding_a_property_from_an_object_to_a_combo_box : concerns
-    {
-        it should_initialize_the_combo_box_with_the_current_value_of_the_property =
-            () => combo_box.SelectedItem.should_be_equal_to(baby_girl);
-
-        context c = () =>
-        {
-            combo_box = new ComboBox();
-            thing_to_bind_to = an<IAnInterface>();
-            baby_girl = an<IAnInterface>();
-            baby_boy = an<IAnInterface>();
-
-            combo_box.Items.Add(baby_boy);
-            combo_box.Items.Add(baby_girl);
-
-            when_the(thing_to_bind_to).is_asked_for(t => t.Child).it_will_return(baby_girl);
-        };
-
-        because b = () => Create
-                              .binding_for(thing_to_bind_to)
-                              .bind_to_property(t => t.Child)
-                              .bound_to_control(combo_box);
-
-        static ComboBox combo_box;
-        static IAnInterface thing_to_bind_to;
-        static IAnInterface baby_girl;
-        static IAnInterface baby_boy;
-    }
-
-    [Concern(typeof (Create))]
-    public class when_changing_the_selected_item_on_a_combo_box_that_is_bound_to_a_property : concerns
-    {
-        it should_change_the_value_of_the_property_that_the_combo_box_is_bound_to =
-            () => thing_to_bind_to.Child.should_be_equal_to(baby_boy);
-
-        context c = () =>
-        {
-            combo_box = new ComboBox();
-            baby_girl = an<IAnInterface>();
-            baby_boy = an<IAnInterface>();
-            thing_to_bind_to = new AnImplementation {Child = baby_girl};
-
-            combo_box.Items.Add(baby_boy);
-            combo_box.Items.Add(baby_girl);
-
-            Create
-                .binding_for(thing_to_bind_to)
-                .bind_to_property(t => t.Child)
-                .bound_to_control(combo_box);
-        };
-
-        because b = () => { combo_box.SelectedItem = baby_boy; };
-
-        static ComboBox combo_box;
-        static IAnInterface thing_to_bind_to;
-        static IAnInterface baby_girl;
-        static IAnInterface baby_boy;
-    }
+namespace tests.unit.client.presentation.winforms.databinding
+{
+    [Concern(typeof (Create))]
+    public class when_binding_a_property_from_an_object_to_a_combo_box : concerns
+    {
+        it should_initialize_the_combo_box_with_the_current_value_of_the_property =
+            () => combo_box.SelectedItem.should_be_equal_to(baby_girl);
+
+        context c = () =>
+        {
+            combo_box = new ComboBox();
+            thing_to_bind_to = an<IAnInterface>();
+            baby_girl = an<IAnInterface>();
+            baby_boy = an<IAnInterface>();
+
+            combo_box.Items.Add(baby_boy);
+            combo_box.Items.Add(baby_girl);
+
+            thing_to_bind_to.is_asked_for(t => t.Child).it_will_return(baby_girl);
+        };
+
+        because b = () => Create
+                              .binding_for(thing_to_bind_to)
+                              .bind_to_property(t => t.Child)
+                              .bound_to_control(combo_box);
+
+        static ComboBox combo_box;
+        static IAnInterface thing_to_bind_to;
+        static IAnInterface baby_girl;
+        static IAnInterface baby_boy;
+    }
+
+    [Concern(typeof (Create))]
+    public class when_changing_the_selected_item_on_a_combo_box_that_is_bound_to_a_property : concerns
+    {
+        it should_change_the_value_of_the_property_that_the_combo_box_is_bound_to =
+            () => thing_to_bind_to.Child.should_be_equal_to(baby_boy);
+
+        context c = () =>
+        {
+            combo_box = new ComboBox();
+            baby_girl = an<IAnInterface>();
+            baby_boy = an<IAnInterface>();
+            thing_to_bind_to = new AnImplementation {Child = baby_girl};
+
+            combo_box.Items.Add(baby_boy);
+            combo_box.Items.Add(baby_girl);
+
+            Create
+                .binding_for(thing_to_bind_to)
+                .bind_to_property(t => t.Child)
+                .bound_to_control(combo_box);
+        };
+
+        because b = () =>
+        {
+            combo_box.SelectedItem = baby_boy;
+        };
+
+        static ComboBox combo_box;
+        static IAnInterface thing_to_bind_to;
+        static IAnInterface baby_girl;
+        static IAnInterface baby_boy;
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/databinding/CreateSpecs.cs
@@ -1,34 +1,35 @@
 using System.Windows.Forms;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Databinding;
 
-namespace tests.unit.client.presentation.winforms.databinding
-{
-    public class CreateSpecs
-    {
-    }
-
-    public abstract class when_a_text_control_is_bound_to_an_item : concerns
-    {
-        context c = () =>
-        {
-            textbox = new TextBox();
-            item = new TestItem {name = "k"};
-            textbox.bind_to(item, x => x.name);
-        };
-
-        static protected TextBox textbox;
-        static protected TestItem item;
-    }
-
-    public class when_the_value_of_a_text_control_changes : when_a_text_control_is_bound_to_an_item
-    {
-        it should_update_the_value_of_the_property_on_the_item = () => item.name.should_be_equal_to("mo");
-        because b = () => { textbox.Text = "mo"; };
-    }
-
-    public class TestItem
-    {
-        public string name { get; set; }
-    }
+namespace tests.unit.client.presentation.winforms.databinding
+{
+    public class CreateSpecs {}
+
+    public abstract class when_a_text_control_is_bound_to_an_item : concerns
+    {
+        context c = () =>
+        {
+            textbox = new TextBox();
+            item = new TestItem {name = "k"};
+            textbox.bind_to(item, x => x.name);
+        };
+
+        static protected TextBox textbox;
+        static protected TestItem item;
+    }
+
+    public class when_the_value_of_a_text_control_changes : when_a_text_control_is_bound_to_an_item
+    {
+        it should_update_the_value_of_the_property_on_the_item = () => item.name.should_be_equal_to("mo");
+
+        because b = () =>
+        {
+            textbox.Text = "mo";
+        };
+    }
+
+    public class TestItem
+    {
+        public string name { get; set; }
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/databinding/DateTimePropertyBindingSpecs.cs
@@ -1,39 +1,39 @@
 using System;
 using System.Windows.Forms;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Databinding;
 
-namespace tests.unit.client.presentation.winforms.databinding
-{
-    [Concern(typeof (Create))]
-    public class when_a_new_date_is_selected_by_a_date_time_picker_that_is_bound_to_a_property : concerns
-    {
-        it should_update_the_value_of_the_property =
-            () => thing_to_bind_to.birth_day.should_be_equal_to(november_nineteenth);
-
-        context c = () =>
-        {
-            date_time_picker = new DateTimePicker {Value = DateTime.Now};
-            thing_to_bind_to = new TestDTO {birth_day = DateTime.Now};
-
-            Create.binding_for(thing_to_bind_to)
-                .bind_to_property(x => x.birth_day)
-                .bound_to_control(date_time_picker);
-        };
-
-        because b = () => { date_time_picker.Value = november_nineteenth; };
-
-        static DateTimePicker date_time_picker;
-        static TestDTO thing_to_bind_to;
-        static readonly DateTime november_nineteenth = new DateTime(2006, 11, 19);
-    }
-
-    public class TestDTO
-    {
-        public DateTime birth_day { get; set; }
-    }
-
-    public class DateTimePropertyBindingSpecs
-    {
-    }
+namespace tests.unit.client.presentation.winforms.databinding
+{
+    [Concern(typeof (Create))]
+    public class when_a_new_date_is_selected_by_a_date_time_picker_that_is_bound_to_a_property : concerns
+    {
+        it should_update_the_value_of_the_property =
+            () => thing_to_bind_to.birth_day.should_be_equal_to(november_nineteenth);
+
+        context c = () =>
+        {
+            date_time_picker = new DateTimePicker {Value = DateTime.Now};
+            thing_to_bind_to = new TestDTO {birth_day = DateTime.Now};
+
+            Create.binding_for(thing_to_bind_to)
+                .bind_to_property(x => x.birth_day)
+                .bound_to_control(date_time_picker);
+        };
+
+        because b = () =>
+        {
+            date_time_picker.Value = november_nineteenth;
+        };
+
+        static DateTimePicker date_time_picker;
+        static TestDTO thing_to_bind_to;
+        static readonly DateTime november_nineteenth = new DateTime(2006, 11, 19);
+    }
+
+    public class TestDTO
+    {
+        public DateTime birth_day { get; set; }
+    }
+
+    public class DateTimePropertyBindingSpecs {}
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/databinding/PropertyBinderSpecs.cs
@@ -1,50 +1,50 @@
 using System.Reflection;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Databinding;
 
-namespace tests.unit.client.presentation.winforms.databinding
-{
-    [Concern(typeof (PropertyBinder<,>))]
-    public abstract class behaves_like_a_property_binder :
-        concerns_for<IPropertyBinder<IAnInterface, string>, PropertyBinder<IAnInterface, string>>
-    {
-        public override IPropertyBinder<IAnInterface, string> create_sut()
-        {
-            return new PropertyBinder<IAnInterface, string>(property, target);
-        }
-
-        context c = () =>
-        {
-            target = new AnImplementation {FirstName = "malik"};
-            property = typeof (IAnInterface).GetProperty("FirstName");
-        };
-
-        static protected IAnInterface target;
-        static protected PropertyInfo property;
-    }
-
-    [Concern(typeof (PropertyBinder<,>))]
-    public class when_changing_the_value_of_correctly_bound_property : behaves_like_a_property_binder
-    {
-        it should_update_the_value_of_the_property_of_the_target_of_the_binder =
-            () => target.FirstName.should_be_equal_to(first_name);
-
-        because b = () => sut.change_value_of_property_to(first_name);
-
-        const string first_name = "mo";
-    }
-
-    [Concern(typeof (PropertyBinder<,>))]
-    public class when_retrieving_the_current_value_of_a_bound_property : behaves_like_a_property_binder
-    {
-        it should_return_the_correct_value = () => result.should_be_equal_to("malik");
-
-        because b = () => { result = sut.current_value(); };
-
-        static string result;
-    }
-
-    public class PropertyBinderSpecs
-    {
-    }
+namespace tests.unit.client.presentation.winforms.databinding
+{
+    [Concern(typeof (PropertyBinder<,>))]
+    public abstract class behaves_like_a_property_binder :
+        TestsFor<IPropertyBinder<IAnInterface, string>>
+    {
+        public override IPropertyBinder<IAnInterface, string> create_sut()
+        {
+            return new PropertyBinder<IAnInterface, string>(property, target);
+        }
+
+        context c = () =>
+        {
+            target = new AnImplementation {FirstName = "malik"};
+            property = typeof (IAnInterface).GetProperty("FirstName");
+        };
+
+        static protected IAnInterface target;
+        static protected PropertyInfo property;
+    }
+
+    [Concern(typeof (PropertyBinder<,>))]
+    public class when_changing_the_value_of_correctly_bound_property : behaves_like_a_property_binder
+    {
+        it should_update_the_value_of_the_property_of_the_target_of_the_binder =
+            () => target.FirstName.should_be_equal_to(first_name);
+
+        because b = () => sut.change_value_of_property_to(first_name);
+
+        const string first_name = "mo";
+    }
+
+    [Concern(typeof (PropertyBinder<,>))]
+    public class when_retrieving_the_current_value_of_a_bound_property : behaves_like_a_property_binder
+    {
+        it should_return_the_correct_value = () => result.should_be_equal_to("malik");
+
+        because b = () =>
+        {
+            result = sut.current_value();
+        };
+
+        static string result;
+    }
+
+    public class PropertyBinderSpecs {}
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/databinding/PropertyInspectorSpecs.cs
@@ -1,26 +1,26 @@
 using System.Reflection;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Databinding;
 
-namespace tests.unit.client.presentation.winforms.databinding
-{
-    [Concern(typeof (PropertyInspector<,>))]
-    public class when_parsing_a_valie_expression_for_the_information_on_the_property :
-        concerns_for<IPropertyInspector<IAnInterface, string>, PropertyInspector<IAnInterface, string>>
-    {
-        it should_return_the_correct_property_information = () => result.Name.should_be_equal_to("FirstName");
-
-        because b = () => { result = sut.inspect(s => s.FirstName); };
-
-        public override IPropertyInspector<IAnInterface, string> create_sut()
-        {
-            return new PropertyInspector<IAnInterface, string>();
-        }
-
-        static PropertyInfo result;
-    }
-
-    public class PropertyInspectorSpecs
-    {
-    }
+namespace tests.unit.client.presentation.winforms.databinding
+{
+    [Concern(typeof (PropertyInspector<,>))]
+    public class when_parsing_a_valie_expression_for_the_information_on_the_property :
+        TestsFor<IPropertyInspector<IAnInterface, string>>
+    {
+        it should_return_the_correct_property_information = () => result.Name.should_be_equal_to("FirstName");
+
+        because b = () =>
+        {
+            result = sut.inspect(s => s.FirstName);
+        };
+
+        public override IPropertyInspector<IAnInterface, string> create_sut()
+        {
+            return new PropertyInspector<IAnInterface, string>();
+        }
+
+        static PropertyInfo result;
+    }
+
+    public class PropertyInspectorSpecs {}
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/databinding/TextBoxDataBindingSpecs.cs
@@ -1,65 +1,67 @@
 using System.Windows.Forms;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Databinding;
 
-namespace tests.unit.client.presentation.winforms.databinding
-{
-    [Concern(typeof (Create))]
-    public class when_binding_a_property_on_an_object_to_a_textbox : concerns
-    {
-        it should_initialize_the_text_of_the_textbox_to_the_value_of_the_property =
-            () => text_box.Text.should_be_equal_to(first_name);
-
-        context c = () =>
-        {
-            thing_to_bind_to = an<IAnInterface>();
-            text_box = new TextBox();
-            thing_to_bind_to.is_asked_for(t => t.FirstName).it_will_return(first_name);
-        };
-
-        because b = () => Create
-                              .binding_for(thing_to_bind_to)
-                              .bind_to_property(t => t.FirstName)
-                              .bound_to_control(text_box);
-
-        static TextBox text_box;
-        static IAnInterface thing_to_bind_to;
-        static string first_name = "mO";
-    }
-
-    [Concern(typeof (Create))]
-    public class when_updating_the_text_of_a_bound_text_box : concerns
-    {
-        it should_update_the_value_of_the_property_that_the_textbox_is_bound_to =
-            () => thing_to_bind_to.FirstName.should_be_equal_to(expected_name);
-
-        context c = () =>
-        {
-            thing_to_bind_to = new AnImplementation {FirstName = "abshir"};
-            text_box = new TextBox();
-
-            Create
-                .binding_for(thing_to_bind_to)
-                .bind_to_property(t => t.FirstName)
-                .bound_to_control(text_box);
-        };
-
-        because b = () => { text_box.Text = expected_name; };
-
-        static TextBox text_box;
-        static IAnInterface thing_to_bind_to;
-        static string expected_name = "ugo";
-    }
-
-    public interface IAnInterface
-    {
-        string FirstName { get; }
-        IAnInterface Child { get; }
-    }
-
-    public class AnImplementation : IAnInterface
-    {
-        public string FirstName { get; set; }
-        public IAnInterface Child { get; set; }
-    }
+namespace tests.unit.client.presentation.winforms.databinding
+{
+    [Concern(typeof (Create))]
+    public class when_binding_a_property_on_an_object_to_a_textbox : concerns
+    {
+        it should_initialize_the_text_of_the_textbox_to_the_value_of_the_property =
+            () => text_box.Text.should_be_equal_to(first_name);
+
+        context c = () =>
+        {
+            thing_to_bind_to = an<IAnInterface>();
+            text_box = new TextBox();
+            thing_to_bind_to.is_asked_for(t => t.FirstName).it_will_return(first_name);
+        };
+
+        because b = () => Create
+                              .binding_for(thing_to_bind_to)
+                              .bind_to_property(t => t.FirstName)
+                              .bound_to_control(text_box);
+
+        static TextBox text_box;
+        static IAnInterface thing_to_bind_to;
+        static string first_name = "mO";
+    }
+
+    [Concern(typeof (Create))]
+    public class when_updating_the_text_of_a_bound_text_box : concerns
+    {
+        it should_update_the_value_of_the_property_that_the_textbox_is_bound_to =
+            () => thing_to_bind_to.FirstName.should_be_equal_to(expected_name);
+
+        context c = () =>
+        {
+            thing_to_bind_to = new AnImplementation {FirstName = "abshir"};
+            text_box = new TextBox();
+
+            Create
+                .binding_for(thing_to_bind_to)
+                .bind_to_property(t => t.FirstName)
+                .bound_to_control(text_box);
+        };
+
+        because b = () =>
+        {
+            text_box.Text = expected_name;
+        };
+
+        static TextBox text_box;
+        static IAnInterface thing_to_bind_to;
+        static string expected_name = "ugo";
+    }
+
+    public interface IAnInterface
+    {
+        string FirstName { get; }
+        IAnInterface Child { get; }
+    }
+
+    public class AnImplementation : IAnInterface
+    {
+        public string FirstName { get; set; }
+        public IAnInterface Child { get; set; }
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/helpers/BindableListBoxSpecs.cs
@@ -1,49 +1,53 @@
 using System.Collections.Generic;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Helpers;
 
-namespace tests.unit.client.presentation.winforms.helpers
-{
-    public class BindableListBoxSpecs
-    {
-    }
-
-    [Concern(typeof(BindableListBox<>))]
-    public class behaves_like_bindable_list : concerns_for<IBindableList<string>, BindableListBox<string>>
-    {
-        context c = () => { control = the_dependency<IListControl<string>>(); };
-
-        static protected IListControl<string> control;
-    }
-
-    [Concern(typeof(BindableListBox<>))]
-    public class when_binding_a_bunch_of_items_to_a_list_control : behaves_like_bindable_list
-    {
-        it should_add_each_item_to_the_list_control = () =>
-        {
-            control.was_told_to(x => x.add_item("timone"));
-            control.was_told_to(x => x.add_item("pumba"));
-        };
-
-        because b = () => sut.bind_to(new List<string> {"timone", "pumba",});
-    }
-
-    [Concern(typeof(BindableListBox<>))]
-    public class when_assigning_the_selected_item_of_a_list_control : behaves_like_bindable_list
-    {
-        it should_tell_the_list_control_to_select_that_item =
-            () => control.was_told_to(x => x.set_selected_item("arthur"));
-
-        because b = () => sut.set_selected_item("arthur");
-    }
-
-    [Concern(typeof(BindableListBox<>))]
-    public class when_getting_the_selected_item_from_a_list_control : behaves_like_bindable_list
-    {
-        it should_return_the_selected_item = () => result.should_be_equal_to("curious george");
-        context c = () => when_the(control).is_told_to(x => x.get_selected_item()).it_will_return("curious george");
-        because b = () => { result = sut.get_selected_item(); };
-
-        static string result;
-    }
+namespace tests.unit.client.presentation.winforms.helpers
+{
+    public class BindableListBoxSpecs {}
+
+    [Concern(typeof (BindableListBox<>))]
+    public class behaves_like_bindable_list : runner<BindableListBox<string>>
+    {
+        context c = () =>
+        {
+            control = dependency<IListControl<string>>();
+        };
+
+        static protected IListControl<string> control;
+    }
+
+    [Concern(typeof (BindableListBox<>))]
+    public class when_binding_a_bunch_of_items_to_a_list_control : behaves_like_bindable_list
+    {
+        it should_add_each_item_to_the_list_control = () =>
+        {
+            control.was_told_to(x => x.add_item("timone"));
+            control.was_told_to(x => x.add_item("pumba"));
+        };
+
+        because b = () => sut.bind_to(new List<string> {"timone", "pumba",});
+    }
+
+    [Concern(typeof (BindableListBox<>))]
+    public class when_assigning_the_selected_item_of_a_list_control : behaves_like_bindable_list
+    {
+        it should_tell_the_list_control_to_select_that_item =
+            () => control.was_told_to(x => x.set_selected_item("arthur"));
+
+        because b = () => sut.set_selected_item("arthur");
+    }
+
+    [Concern(typeof (BindableListBox<>))]
+    public class when_getting_the_selected_item_from_a_list_control : behaves_like_bindable_list
+    {
+        it should_return_the_selected_item = () => result.should_be_equal_to("curious george");
+        context c = () => control.is_told_to(x => x.get_selected_item()).it_will_return("curious george");
+
+        because b = () =>
+        {
+            result = sut.get_selected_item();
+        };
+
+        static string result;
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/helpers/BindableTextBoxExtensionsSpecs.cs
@@ -1,32 +1,31 @@
 using System;
 using System.Windows.Forms;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Helpers;
 
-namespace tests.unit.client.presentation.winforms.helpers
-{
-    public class BindableTextBoxExtensionsSpecs
-    {
-        [Concern(typeof (BindableTextBoxExtensions))]
-        public class when_binding_a_text_control_to_a_command : concerns
-        {
-            it should_run_each_command_when_the_text_changes_in_the_text_control = () => command.was_told_to(x => x.run(result));
-
-            context c = () =>
-            {
-                textbox = new TextBox();
-                command = an<ITextBoxCommand<string>>();
-            };
-
-            because b = () =>
-            {
-                result = new TextControl<string>(textbox).apply(command);
-                textbox.control_is(x => x.OnLeave(new EventArgs()));
-            };
-
-            static TextBox textbox;
-            static ITextBoxCommand<string> command;
-            static IBindableTextBox<string> result;
-        }
-    }
+namespace tests.unit.client.presentation.winforms.helpers
+{
+    public class BindableTextBoxExtensionsSpecs
+    {
+        [Concern(typeof (BindableTextBoxExtensions))]
+        public class when_binding_a_text_control_to_a_command : concerns
+        {
+            it should_run_each_command_when_the_text_changes_in_the_text_control = () => command.was_told_to(x => x.run(result));
+
+            context c = () =>
+            {
+                textbox = new TextBox();
+                command = an<ITextBoxCommand<string>>();
+            };
+
+            because b = () =>
+            {
+                result = new TextControl<string>(textbox).apply(command);
+                textbox.control_is(x => x.OnLeave(new EventArgs()));
+            };
+
+            static TextBox textbox;
+            static ITextBoxCommand<string> command;
+            static IBindableTextBox<string> result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/helpers/BindableTextBoxSpecs.cs
@@ -1,62 +1,61 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using MoMoney.Presentation.Winforms.Helpers;
 
-namespace tests.unit.client.presentation.winforms.helpers
-{
-    public class BindableTextBoxSpecs
-    {
-        [Concern(typeof (BindableTextBox<>))]
-        public class concerns_for_text_box : concerns_for<IBindableTextBox<string>, BindableTextBox<string>>
-        {
-            context c = () =>
-            {
-                control = the_dependency<ITextControl<string>>();
-            };
-
-            static protected ITextControl<string> control;
-        }
-
-        [Concern(typeof (BindableTextBox<>))]
-        public class when_binding_an_item_to_a_textbox : concerns_for_text_box
-        {
-            it should_change_the_text_of_the_text_control = () => control.was_told_to(x => x.set_selected_item("shrek"));
-
-            because b = () => sut.bind_to("shrek");
-        }
-
-        [Concern(typeof (BindableTextBox<>))]
-        public class when_getting_the_current_value_of_a_text_box : concerns_for_text_box
-        {
-            it should_return_the_current_value_of_the_text_box = () => result.should_be_equal_to("popeye");
-
-            context c = () => when_the(control).is_told_to(x => x.get_selected_item()).it_will_return("popeye");
-
-            because b = () =>
-            {
-                result = sut.get_selected_value();
-            };
-
-            static string result;
-        }
-
-        [Concern(typeof (BindableTextBox<>))]
-        public class when_an_action_needs_to_be_performed_when_the_value_of_a_textbox_changes : concerns_for_text_box
-        {
-            it should_perform_that_action = () => action.was_told_to(x => x.run());
-
-            context c = () =>
-            {
-                action = an<Command>();
-            };
-
-            because b = () =>
-            {
-                sut.on_leave(x => action.run());
-                control.when_text_is_changed();
-            };
-
-            static Command action;
-        }
-    }
+namespace tests.unit.client.presentation.winforms.helpers
+{
+    public class BindableTextBoxSpecs
+    {
+        [Concern(typeof (BindableTextBox<>))]
+        public class TestsForTextBox : runner<BindableTextBox<string>>
+        {
+            context c = () =>
+            {
+                control = dependency<ITextControl<string>>();
+            };
+
+            static protected ITextControl<string> control;
+        }
+
+        [Concern(typeof (BindableTextBox<>))]
+        public class when_binding_an_item_to_a_textbox : TestsForTextBox
+        {
+            it should_change_the_text_of_the_text_control = () => control.was_told_to(x => x.set_selected_item("shrek"));
+
+            because b = () => sut.bind_to("shrek");
+        }
+
+        [Concern(typeof (BindableTextBox<>))]
+        public class when_getting_the_current_value_of_a_text_box : TestsForTextBox
+        {
+            it should_return_the_current_value_of_the_text_box = () => result.should_be_equal_to("popeye");
+
+            context c = () => control.is_told_to(x => x.get_selected_item()).it_will_return("popeye");
+
+            because b = () =>
+            {
+                result = sut.get_selected_value();
+            };
+
+            static string result;
+        }
+
+        [Concern(typeof (BindableTextBox<>))]
+        public class when_an_action_needs_to_be_performed_when_the_value_of_a_textbox_changes : TestsForTextBox
+        {
+            it should_perform_that_action = () => action.was_told_to(x => x.run());
+
+            context c = () =>
+            {
+                action = an<Command>();
+            };
+
+            because b = () =>
+            {
+                sut.on_leave(x => action.run());
+                control.when_text_is_changed();
+            };
+
+            static Command action;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/helpers/EventTriggerSpecs.cs
@@ -1,67 +1,72 @@
 using System;
 using System.Windows.Forms;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Helpers;
 
-namespace tests.unit.client.presentation.winforms.helpers
-{
-    [Concern(typeof (EventTrigger))]
-    public class when_invoking_a_call_on_a_target_via_reflection : concerns
-    {
-        it should_correctly_call_that_method =
-            () =>
-            {
-                control.called_on_key_press.should_be_true();
-                control.called_on_enter.should_be_false();
-            };
-
-        context c = () => { control = new TestControl(); };
-
-        because b =
-            () =>
-            EventTrigger.trigger_event<Events.ControlEvents>(x => x.OnKeyPress(new KeyPressEventArgs('A')), control);
-
-        static TestControl control;
-    }
-
-    [Concern(typeof (EventTrigger))]
-    public class when_invoking_a_call_on_a_target_by_passing_in_a_parameter : concerns
-    {
-        it should_make_the_call_correctly = () => control.key_press_arguments.should_be_equal_to(args);
-
-        //[Test]
-        //public void should_make_the_call_correctly2()
-        //{
-        //    var new_args = new KeyPressEventArgs('A');
-        //    control = new TestControl();
-        //    EventTrigger.trigger_event<Events.ControlEvents>(x => x.OnKeyPress(new_args), control);
-        //    control.key_press_arguments.should_be_equal_to(new_args);
-        //}
-
-        context c = () => { control = new TestControl(); };
-
-        because b = () => EventTrigger.trigger_event<Events.ControlEvents>(x => x.OnKeyPress(args), control);
-
-        static TestControl control;
-
-        static readonly KeyPressEventArgs args = new KeyPressEventArgs('A');
-    }
-
-    internal class TestControl
-    {
-        public bool called_on_enter;
-        public bool called_on_key_press;
-        public KeyPressEventArgs key_press_arguments;
-
-        protected void OnEnter(EventArgs args)
-        {
-            called_on_enter = true;
-        }
-
-        protected void OnKeyPress(KeyPressEventArgs args)
-        {
-            called_on_key_press = true;
-            key_press_arguments = args;
-        }
-    }
+namespace tests.unit.client.presentation.winforms.helpers
+{
+    [Concern(typeof (EventTrigger))]
+    public class when_invoking_a_call_on_a_target_via_reflection : concerns
+    {
+        it should_correctly_call_that_method =
+            () =>
+            {
+                control.called_on_key_press.should_be_true();
+                control.called_on_enter.should_be_false();
+            };
+
+        context c = () =>
+        {
+            control = new TestControl();
+        };
+
+        because b =
+            () =>
+            EventTrigger.trigger_event<Events.ControlEvents>(x => x.OnKeyPress(new KeyPressEventArgs('A')), control);
+
+        static TestControl control;
+    }
+
+    [Concern(typeof (EventTrigger))]
+    public class when_invoking_a_call_on_a_target_by_passing_in_a_parameter : concerns
+    {
+        it should_make_the_call_correctly = () => control.key_press_arguments.should_be_equal_to(args);
+
+        //[Test]
+        //public void should_make_the_call_correctly2()
+        //{
+        //    var new_args = new KeyPressEventArgs('A');
+        //    control = new TestControl();
+        //    EventTrigger.trigger_event<Events.ControlEvents>(x => x.OnKeyPress(new_args), control);
+        //    control.key_press_arguments.should_be_equal_to(new_args);
+        //}
+
+        context c = () =>
+        {
+            control = new TestControl();
+        };
+
+        because b = () => EventTrigger.trigger_event<Events.ControlEvents>(x => x.OnKeyPress(args), control);
+
+        static TestControl control;
+
+        static readonly KeyPressEventArgs args = new KeyPressEventArgs('A');
+    }
+
+    class TestControl
+    {
+        public bool called_on_enter;
+        public bool called_on_key_press;
+        public KeyPressEventArgs key_press_arguments;
+
+        protected void OnEnter(EventArgs args)
+        {
+            called_on_enter = true;
+        }
+
+        protected void OnKeyPress(KeyPressEventArgs args)
+        {
+            called_on_key_press = true;
+            key_press_arguments = args;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/helpers/RebindTextBoxCommandSpecs.cs
@@ -1,44 +1,41 @@
 using System;
 using System.Linq.Expressions;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Winforms.Helpers;
 
-namespace tests.unit.client.presentation.winforms.helpers
-{
-    public class RebindTextBoxCommandSpecs
-    {
-    }
-
-    [Concern(typeof (RebindTextBoxCommand<>))]
-    public class when_the_text_in_a_textbox_changes :
-        concerns_for<ITextBoxCommand<string>, RebindTextBoxCommand<string>>
-    {
-        context c = () =>
-        {
-            textbox = an<IBindableTextBox<string>>();
-            binder = x => "";
-        };
-
-        public override ITextBoxCommand<string> create_sut()
-        {
-            return new RebindTextBoxCommand<string>(binder);
-        }
-
-        static protected IBindableTextBox<string> textbox;
-        static protected Expression<Func<string, string>> binder;
-    }
-
-    [Concern(typeof (RebindTextBoxCommand<>))]
-    public class when_rebinding_an_item_to_a_textbox : when_the_text_in_a_textbox_changes
-    {
-        it should_bind_the_text_control_to_the_new_item = () => textbox.was_told_to(x => x.bind_to("kat"));
-
-        context c = () =>
-        {
-            binder = x => "kat";
-            when_the(textbox).is_told_to(x => x.text()).it_will_return("kitty");
-        };
-
-        because b = () => sut.run(textbox);
-    }
+namespace tests.unit.client.presentation.winforms.helpers
+{
+    public class RebindTextBoxCommandSpecs {}
+
+    [Concern(typeof (RebindTextBoxCommand<>))]
+    public class when_the_text_in_a_textbox_changes :
+        TestsFor<ITextBoxCommand<string>>
+    {
+        context c = () =>
+        {
+            textbox = an<IBindableTextBox<string>>();
+            binder = x => "";
+        };
+
+        public override ITextBoxCommand<string> create_sut()
+        {
+            return new RebindTextBoxCommand<string>(binder);
+        }
+
+        static protected IBindableTextBox<string> textbox;
+        static protected Expression<Func<string, string>> binder;
+    }
+
+    [Concern(typeof (RebindTextBoxCommand<>))]
+    public class when_rebinding_an_item_to_a_textbox : when_the_text_in_a_textbox_changes
+    {
+        it should_bind_the_text_control_to_the_new_item = () => textbox.was_told_to(x => x.bind_to("kat"));
+
+        context c = () =>
+        {
+            binder = x => "kat";
+            textbox.is_told_to(x => x.text()).it_will_return("kitty");
+        };
+
+        because b = () => sut.run(textbox);
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/helpers/TextControlSpecs.cs
@@ -1,63 +1,70 @@
 using System;
 using System.Windows.Forms;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using MoMoney.Presentation.Winforms.Helpers;
 
-namespace tests.unit.client.presentation.winforms.helpers
-{
-    public class TextControlSpecs
-    {
-
-        [Concern(typeof (TextControl<>))]
-        public abstract class behaves_like_text_control : concerns_for<ITextControl<DateTime>, TextControl<DateTime>>
-        {
-            context c = () => { textbox = new TextBox(); };
-
-            public override ITextControl<DateTime> create_sut()
-            {
-                return new TextControl<DateTime>(textbox);
-            }
-
-            static protected TextBox textbox;
-        }
-
-        [Concern(typeof (TextControl<>))]
-        public class when_a_text_control_is_bound_to_an_item : behaves_like_text_control
-        {
-            it should_display_the_textual_version_of_the_item = () => textbox.Text.should_be_equal_to(date.ToString());
-
-            it should_bind_to_that_item = () => sut.get_selected_item().should_be_equal_to(date);
-
-            context c = () => { date = new DateTime(1984, 04, 28); };
-
-            because b = () => sut.set_selected_item(date);
-
-            static DateTime date;
-        }
-
-        [Concern(typeof (TextControl<>))]
-        public class when_the_text_changes_on_a_text_control_and_action_is_specified : behaves_like_text_control
-        {
-            it should_invoke_the_action_bound_to_it = () => action.was_told_to(x => x.run());
-
-            context c = () => { action = an<Command>(); };
-
-            because b = () =>
-            {
-                sut.when_text_is_changed = () => action.run();
-                textbox.control_is(x => x.OnLeave(new EventArgs()));
-            };
-
-            static Command action;
-        }
-
-        [Concern(typeof (TextControl<>))]
-        public class when_the_text_changes_on_a_text_control_and_action_is_not_specified : behaves_like_text_control
-        {
-            it should_not_blow_up = () => { };
-
-            because b = () => textbox.control_is(x => x.OnLeave(new EventArgs()));
-        }
-    }
+namespace tests.unit.client.presentation.winforms.helpers
+{
+    public class TextControlSpecs
+    {
+        [Concern(typeof (TextControl<>))]
+        public abstract class behaves_like_text_control : TestsFor<ITextControl<DateTime>>
+        {
+            context c = () =>
+            {
+                textbox = new TextBox();
+            };
+
+            public override ITextControl<DateTime> create_sut()
+            {
+                return new TextControl<DateTime>(textbox);
+            }
+
+            static protected TextBox textbox;
+        }
+
+        [Concern(typeof (TextControl<>))]
+        public class when_a_text_control_is_bound_to_an_item : behaves_like_text_control
+        {
+            it should_display_the_textual_version_of_the_item = () => textbox.Text.should_be_equal_to(date.ToString());
+
+            it should_bind_to_that_item = () => sut.get_selected_item().should_be_equal_to(date);
+
+            context c = () =>
+            {
+                date = new DateTime(1984, 04, 28);
+            };
+
+            because b = () => sut.set_selected_item(date);
+
+            static DateTime date;
+        }
+
+        [Concern(typeof (TextControl<>))]
+        public class when_the_text_changes_on_a_text_control_and_action_is_specified : behaves_like_text_control
+        {
+            it should_invoke_the_action_bound_to_it = () => action.was_told_to(x => x.run());
+
+            context c = () =>
+            {
+                action = an<Command>();
+            };
+
+            because b = () =>
+            {
+                sut.when_text_is_changed = () => action.run();
+                textbox.control_is(x => x.OnLeave(new EventArgs()));
+            };
+
+            static Command action;
+        }
+
+        [Concern(typeof (TextControl<>))]
+        public class when_the_text_changes_on_a_text_control_and_action_is_not_specified : behaves_like_text_control
+        {
+            it should_not_blow_up = () => {};
+
+            because b = () => textbox.control_is(x => x.OnLeave(new EventArgs()));
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/presentation/winforms/views/ApplicationShellSpecs.cs
@@ -1,7 +1,5 @@
 using System;
-using developwithpassion.bdd.contexts;
 using momoney.presentation.presenters;
-using momoney.presentation.views;
 using MoMoney.Presentation.Winforms.Helpers;
 using MoMoney.Presentation.Winforms.Views;
 
@@ -9,7 +7,8 @@ namespace tests.unit.client.presentation.winforms.views
 {
     public class ApplicationShellSpecs
     {
-        public class concern : concerns_for<Shell, ApplicationShell> {}
+        [Concern(typeof (ApplicationShell))]
+        public class concern : runner<ApplicationShell> {}
 
         public class when_the_application_shell_is_closed : concern
         {
product/tests/unit/client/presentation/winforms/views/SaveChangesViewSpecs.cs
@@ -1,45 +1,46 @@
 using System;
-using developwithpassion.bdd.contexts;
 using MoMoney.Presentation.Model.Menu.File;
 using MoMoney.Presentation.Winforms.Helpers;
 using MoMoney.Presentation.Winforms.Views;
 
-namespace tests.unit.client.presentation.winforms.views
-{
-    [Concern(typeof(SaveChangesView))]
-    [Integration]
-    public class when_prompted_to_save_changes_to_the_project : concerns_for<SaveChangesView>
-    {
-        context c = () => { presenter = an<SaveChangesPresenter>(); };
-
-        after_the_sut_has_been_created after = () =>
-        {
-            save_changes_window = sut;
-            save_changes_window.attach_to(presenter);
-        };
-
-        protected static SaveChangesPresenter presenter;
-        protected static SaveChangesView save_changes_window;
-    }
-
-    public class when_the_save_button_is_pressed : when_prompted_to_save_changes_to_the_project
-    {
-        it should_save_the_current_project = () => presenter.was_told_to(x => x.save());
-
-        because b = () => save_changes_window.save_button.control_is(x => x.OnClick(new EventArgs()));
-    }
-
-    public class when_the_cancel_button_is_pressed : when_prompted_to_save_changes_to_the_project
-    {
-        it should_not_continue_processing_the_previous_action = () => presenter.was_told_to(x => x.cancel());
-
-        because b = () => save_changes_window.cancel_button.control_is(x => x.OnClick(new EventArgs()));
-    }
-
-    public class when_the_do_not_save_button_is_pressed : when_prompted_to_save_changes_to_the_project
-    {
-        it should_not_save_the_project = () => presenter.was_told_to(x => x.dont_save());
-
-        because b = () => save_changes_window.do_not_save_button.control_is(x => x.OnClick(new EventArgs()));
-    }
+namespace tests.unit.client.presentation.winforms.views
+{
+    [Concern(typeof (SaveChangesView))]
+    public class when_prompted_to_save_changes_to_the_project : tests_for<SaveChangesView>
+    {
+        context c = () =>
+        {
+            presenter = an<SaveChangesPresenter>();
+        };
+
+        after_the_sut_has_been_created after = () =>
+        {
+            save_changes_window = sut;
+            save_changes_window.attach_to(presenter);
+        };
+
+        static protected SaveChangesPresenter presenter;
+        static protected SaveChangesView save_changes_window;
+    }
+
+    public class when_the_save_button_is_pressed : when_prompted_to_save_changes_to_the_project
+    {
+        it should_save_the_current_project = () => presenter.was_told_to(x => x.save());
+
+        because b = () => save_changes_window.save_button.control_is(x => x.OnClick(new EventArgs()));
+    }
+
+    public class when_the_cancel_button_is_pressed : when_prompted_to_save_changes_to_the_project
+    {
+        it should_not_continue_processing_the_previous_action = () => presenter.was_told_to(x => x.cancel());
+
+        because b = () => save_changes_window.cancel_button.control_is(x => x.OnClick(new EventArgs()));
+    }
+
+    public class when_the_do_not_save_button_is_pressed : when_prompted_to_save_changes_to_the_project
+    {
+        it should_not_save_the_project = () => presenter.was_told_to(x => x.dont_save());
+
+        because b = () => save_changes_window.do_not_save_button.control_is(x => x.OnClick(new EventArgs()));
+    }
 }
\ No newline at end of file
product/tests/unit/client/service/application/AddNewIncomeCommandSpecs.cs
@@ -1,64 +1,62 @@
 using System;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using Gorilla.Commons.Utility;
 using MoMoney.Domain.Accounting;
 using MoMoney.Domain.repositories;
 using MoMoney.DTO;
 using MoMoney.Service.Application;
-using MoMoney.Service.Contracts.Application;
-using Rhino.Mocks;
 
-namespace tests.unit.client.service.application
-{
-    public class AddNewIncomeCommandSpecs {}
-
-    [Concern(typeof (AddNewIncomeCommand))]
-    public abstract class when_adding_a_new_income : concerns_for<IAddNewIncomeCommand, AddNewIncomeCommand>
-    {
-        context c = () =>
-        {
-            notification = the_dependency<Notification>();
-            tasks = the_dependency<IGetTheCurrentCustomerQuery>();
-            all_income = the_dependency<IIncomeRepository>();
-            companies = the_dependency<ICompanyRepository>();
-        };
-
-        static protected Notification notification;
-        static protected IGetTheCurrentCustomerQuery tasks;
-        static protected IIncomeRepository all_income;
-        static protected ICompanyRepository companies;
-    }
-
-    [Concern(typeof (AddNewIncomeCommand))]
-    public class when_the_same_income_has_already_been_added : when_adding_a_new_income
-    {
-        it should_inform_you_that_you_have_already_added_it =
-            () => notification.was_told_to(x => x.notify("You have already submitted this income"));
-
-        context c = () =>
-        {
-            var a_company = MockRepository.GenerateMock<Company>();
-            var matching_income = MockRepository.GenerateMock<Income>();
-            var today = new Date(2008, 12, 26);
-            Id<Guid> id = Guid.NewGuid();
-
-            income = new IncomeSubmissionDTO
-                     {
-                         amount = 100.00,
-                         company_id = id,
-                         recieved_date = today,
-                     };
-
-            when_the(matching_income).is_asked_for(x => x.amount_tendered).it_will_return(100);
-            when_the(matching_income).is_asked_for(x => x.company).it_will_return(a_company);
-            when_the(matching_income).is_asked_for(x => x.date_of_issue).it_will_return(today);
-            when_the(a_company).is_asked_for(x => x.id).it_will_return(id);
-            when_the(all_income).is_told_to(x => x.all()).it_will_return(matching_income);
-        };
-
-        because b = () => sut.run(income);
-
-        static IncomeSubmissionDTO income;
-    }
+namespace tests.unit.client.service.application
+{
+    public class AddNewIncomeCommandSpecs
+    {
+        [Concern(typeof (AddNewIncomeCommand))]
+        public abstract class when_adding_a_new_income : runner<AddNewIncomeCommand>
+        {
+            context c = () =>
+            {
+                notification = dependency<Notification>();
+                tasks = dependency<IGetTheCurrentCustomerQuery>();
+                all_income = dependency<IIncomeRepository>();
+                companies = dependency<ICompanyRepository>();
+            };
+
+            static protected Notification notification;
+            static protected IGetTheCurrentCustomerQuery tasks;
+            static protected IIncomeRepository all_income;
+            static protected ICompanyRepository companies;
+        }
+
+        [Concern(typeof (AddNewIncomeCommand))]
+        public class when_the_same_income_has_already_been_added : when_adding_a_new_income
+        {
+            it should_inform_you_that_you_have_already_added_it =
+                () => notification.was_told_to(x => x.notify("You have already submitted this income"));
+
+            context c = () =>
+            {
+                var a_company = an<Company>();
+                var matching_income = an<Income>();
+                var today = new Date(2008, 12, 26);
+                Id<Guid> id = Guid.NewGuid();
+
+                income = new IncomeSubmissionDTO
+                         {
+                             amount = 100.00,
+                             company_id = id,
+                             recieved_date = today,
+                         };
+
+                matching_income.is_asked_for(x => x.amount_tendered).it_will_return(100);
+                matching_income.is_asked_for(x => x.company).it_will_return(a_company);
+                matching_income.is_asked_for(x => x.date_of_issue).it_will_return(today);
+                a_company.is_asked_for(x => x.id).it_will_return(id);
+                all_income.is_told_to(x => x.all()).it_will_return(matching_income);
+            };
+
+            because b = () => sut.run(income);
+
+            static IncomeSubmissionDTO income;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/service.infrastructure/eventing/EventAggregatorSpecs.cs
@@ -1,75 +1,74 @@
 using System.Data;
 using System.Threading;
-using developwithpassion.bdd.contexts;
 using MoMoney.Service.Infrastructure.Eventing;
 using Rhino.Mocks;
 
-namespace tests.unit.client.service.infrastructure.eventing
-{
-    public abstract class behaves_like_event_aggregator : concerns_for<EventAggregator, SynchronizedEventAggregator>
-    {
-        public override EventAggregator create_sut()
-        {
-            return new SynchronizedEventAggregator(new SynchronizationContext());
-        }
-    }
-
-    [Concern(typeof (SynchronizedEventAggregator))]
-    public class when_a_event_is_raised_in_the_system : behaves_like_event_aggregator
-    {
-        it should_notify_all_subscribers_of_the_event = () =>
-        {
-            first_subscriber.was_told_to(x => x.notify(message));
-            second_subscriber.was_told_to(x => x.notify(message));
-        };
-
-        it should_not_notify_any_subscribers_that_subscribed_to_a_different_event =
-            () => incorrect_subscriber.was_not_told_to(x => x.notify(Arg<AnotherEvent>.Is.Anything));
-
-        context c = () =>
-        {
-            message = new TestEvent();
-            first_subscriber = an<EventSubscriber<TestEvent>>();
-            second_subscriber = an<EventSubscriber<TestEvent>>();
-            incorrect_subscriber = an<EventSubscriber<AnotherEvent>>();
-        };
-
-        because b = () =>
-        {
-            sut.subscribe_to(first_subscriber);
-            sut.subscribe(second_subscriber);
-            sut.publish(message);
-        };
-
-        static TestEvent message;
-        static EventSubscriber<TestEvent> first_subscriber;
-        static EventSubscriber<TestEvent> second_subscriber;
-        static EventSubscriber<AnotherEvent> incorrect_subscriber;
-    }
-
-    [Concern(typeof (SynchronizedEventAggregator))]
-    public class when_publishing_a_call_to_all_subscribers : behaves_like_event_aggregator
-    {
-        it should_make_the_call_on_each_subscriber = () => connection.was_told_to(x => x.ChangeDatabase("localhost"));
-
-        context c = () =>
-        {
-            connection = an<IDbConnection>();
-            command = an<IDbCommand>();
-        };
-
-        because b = () =>
-        {
-            sut.subscribe(connection);
-            sut.subscribe(command);
-            sut.publish<IDbConnection>(x => x.ChangeDatabase("localhost"));
-        };
-
-        static IDbConnection connection;
-        static IDbCommand command;
-    }
-
-    public class TestEvent : IEvent {}
-
-    public class AnotherEvent : IEvent {}
+namespace tests.unit.client.service.infrastructure.eventing
+{
+    public abstract class behaves_like_event_aggregator : TestsFor<EventAggregator>
+    {
+        public override EventAggregator create_sut()
+        {
+            return new SynchronizedEventAggregator(new SynchronizationContext());
+        }
+    }
+
+    [Concern(typeof (SynchronizedEventAggregator))]
+    public class when_a_event_is_raised_in_the_system : behaves_like_event_aggregator
+    {
+        it should_notify_all_subscribers_of_the_event = () =>
+        {
+            first_subscriber.was_told_to(x => x.notify(message));
+            second_subscriber.was_told_to(x => x.notify(message));
+        };
+
+        it should_not_notify_any_subscribers_that_subscribed_to_a_different_event =
+            () => incorrect_subscriber.was_not_told_to(x => x.notify(Arg<AnotherEvent>.Is.Anything));
+
+        context c = () =>
+        {
+            message = new TestEvent();
+            first_subscriber = an<EventSubscriber<TestEvent>>();
+            second_subscriber = an<EventSubscriber<TestEvent>>();
+            incorrect_subscriber = an<EventSubscriber<AnotherEvent>>();
+        };
+
+        because b = () =>
+        {
+            sut.subscribe_to(first_subscriber);
+            sut.subscribe(second_subscriber);
+            sut.publish(message);
+        };
+
+        static TestEvent message;
+        static EventSubscriber<TestEvent> first_subscriber;
+        static EventSubscriber<TestEvent> second_subscriber;
+        static EventSubscriber<AnotherEvent> incorrect_subscriber;
+    }
+
+    [Concern(typeof (SynchronizedEventAggregator))]
+    public class when_publishing_a_call_to_all_subscribers : behaves_like_event_aggregator
+    {
+        it should_make_the_call_on_each_subscriber = () => connection.was_told_to(x => x.ChangeDatabase("localhost"));
+
+        context c = () =>
+        {
+            connection = an<IDbConnection>();
+            command = an<IDbCommand>();
+        };
+
+        because b = () =>
+        {
+            sut.subscribe(connection);
+            sut.subscribe(command);
+            sut.publish<IDbConnection>(x => x.ChangeDatabase("localhost"));
+        };
+
+        static IDbConnection connection;
+        static IDbCommand command;
+    }
+
+    public class TestEvent : IEvent {}
+
+    public class AnotherEvent : IEvent {}
 }
\ No newline at end of file
product/tests/unit/client/service.infrastructure/security/IsInRoleSpecs.cs
@@ -1,5 +1,4 @@
 using System.Security.Principal;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using MoMoney.Service.Infrastructure.Security;
 
@@ -8,7 +7,7 @@ namespace tests.unit.client.service.infrastructure.security
     public class IsInRoleSpecs
     {
         public class when_checking_if_a_principal_belongs_to_a_role :
-            concerns_for<Specification<IPrincipal>, IsInRole>
+            TestsFor<Specification<IPrincipal>>
         {
             static protected readonly Role administrator_role = new Role("administrators");
 
@@ -22,8 +21,8 @@ namespace tests.unit.client.service.infrastructure.security
         {
             context c = () =>
             {
-                principal = the_dependency<IPrincipal>();
-                when_the(principal)
+                principal = dependency<IPrincipal>();
+                principal
                     .is_told_to(x => x.IsInRole(administrator_role))
                     .it_will_return(false);
             };
@@ -43,8 +42,8 @@ namespace tests.unit.client.service.infrastructure.security
         {
             context c = () =>
             {
-                principal = the_dependency<IPrincipal>();
-                when_the(principal)
+                principal = dependency<IPrincipal>();
+                principal
                     .is_told_to(x => x.IsInRole(administrator_role))
                     .it_will_return(true);
             };
@@ -60,4 +59,4 @@ namespace tests.unit.client.service.infrastructure.security
             static IPrincipal principal;
         }
     }
-}         
\ No newline at end of file
+}
\ No newline at end of file
product/tests/unit/client/service.infrastructure/threading/BackgroundThreadFactorySpecs.cs
@@ -1,34 +1,33 @@
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.Container;
 using gorilla.commons.Utility;
 using momoney.service.infrastructure.threading;
 
-namespace tests.unit.client.service.infrastructure.threading
-{
-    [Concern(typeof (BackgroundThreadFactory))]
-    public abstract class behaves_like_a_background_thread_factory : concerns_for<IBackgroundThreadFactory, BackgroundThreadFactory>
-    {
-        context c = () =>
-        {
-            registry = the_dependency<DependencyRegistry>();
-        };
-
-        static protected DependencyRegistry registry;
-    }
-
-    [Concern(typeof (BackgroundThreadFactory))]
-    public class when_creating_a_background_thread : behaves_like_a_background_thread_factory
-    {
-        it should_return_an_instance_of_a_background_thread = () => result.should_not_be_null();
-
-        it should_lookup_an_instance_of_the_command_to_execute =
-            () => registry.was_told_to(r => r.get_a<DisposableCommand>());
-
-        because b = () =>
-        {
-            result = sut.create_for<DisposableCommand>();
-        };
-
-        static IBackgroundThread result;
-    }
+namespace tests.unit.client.service.infrastructure.threading
+{
+    [Concern(typeof (BackgroundThreadFactory))]
+    public abstract class behaves_like_a_background_thread_factory : runner<BackgroundThreadFactory>
+    {
+        context c = () =>
+        {
+            registry = dependency<DependencyRegistry>();
+        };
+
+        static protected DependencyRegistry registry;
+    }
+
+    [Concern(typeof (BackgroundThreadFactory))]
+    public class when_creating_a_background_thread : behaves_like_a_background_thread_factory
+    {
+        it should_return_an_instance_of_a_background_thread = () => result.should_not_be_null();
+
+        it should_lookup_an_instance_of_the_command_to_execute =
+            () => registry.was_told_to(r => r.get_a<DisposableCommand>());
+
+        because b = () =>
+        {
+            result = sut.create_for<DisposableCommand>();
+        };
+
+        static IBackgroundThread result;
+    }
 }
\ No newline at end of file
product/tests/unit/client/service.infrastructure/threading/BackgroundThreadSpecs.cs
@@ -1,42 +1,41 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.Utility;
 using momoney.service.infrastructure.threading;
 using Rhino.Mocks;
 
-namespace tests.unit.client.service.infrastructure.threading
-{
-    [Concern(typeof (BackgroundThread))]
-    public abstract class behaves_like_a_background_thread : concerns_for<IBackgroundThread, BackgroundThread>
-    {
-        context c = () =>
-        {
-            command_to_execute = the_dependency<DisposableCommand>();
-            worker_thread = the_dependency<IWorkerThread>();
-        };
-
-        static protected DisposableCommand command_to_execute;
-        static protected IWorkerThread worker_thread;
-    }
-
-    [Concern(typeof (BackgroundThread))]
-    public class when_executing_a_command_on_a_background_thread : behaves_like_a_background_thread
-    {
-        it should_execute_the_command_asynchronously = () => command_to_execute.was_told_to(c => c.run());
-
-        it should_start_the_worker_thread_asynchronously = () => worker_thread.was_told_to(t => t.begin());
-
-        because b = () =>
-        {
-            sut.run();
-            worker_thread.Raise(t => t.DoWork += null, null, null);
-        };
-    }
-
-    [Concern(typeof (BackgroundThread))]
-    public class when_disposing_a_background_thread : behaves_like_a_background_thread
-    {
-        it should_dispose_the_command_running_on_the_thread = () => worker_thread.was_told_to(w => w.Dispose());
-
-        because b = () => sut.Dispose();
-    }
+namespace tests.unit.client.service.infrastructure.threading
+{
+    [Concern(typeof (BackgroundThread))]
+    public abstract class behaves_like_a_background_thread : runner<BackgroundThread>
+    {
+        context c = () =>
+        {
+            command_to_execute = dependency<DisposableCommand>();
+            worker_thread = dependency<IWorkerThread>();
+        };
+
+        static protected DisposableCommand command_to_execute;
+        static protected IWorkerThread worker_thread;
+    }
+
+    [Concern(typeof (BackgroundThread))]
+    public class when_executing_a_command_on_a_background_thread : behaves_like_a_background_thread
+    {
+        it should_execute_the_command_asynchronously = () => command_to_execute.was_told_to(c => c.run());
+
+        it should_start_the_worker_thread_asynchronously = () => worker_thread.was_told_to(t => t.begin());
+
+        because b = () =>
+        {
+            sut.run();
+            worker_thread.Raise(t => t.DoWork += null, null, null);
+        };
+    }
+
+    [Concern(typeof (BackgroundThread))]
+    public class when_disposing_a_background_thread : behaves_like_a_background_thread
+    {
+        it should_dispose_the_command_running_on_the_thread = () => worker_thread.was_told_to(w => w.Dispose());
+
+        because b = () => sut.Dispose();
+    }
 }
\ No newline at end of file
product/tests/unit/client/service.infrastructure/threading/CommandProcessorSpecs.cs
@@ -1,11 +1,10 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 using MoMoney.Service.Infrastructure.Threading;
 
 namespace tests.unit.client.service.infrastructure.threading
 {
     [Concern(typeof (SynchronousCommandProcessor))]
-    public abstract class behaves_like_a_command_processor : concerns_for<CommandProcessor, SynchronousCommandProcessor> {}
+    public abstract class behaves_like_a_command_processor : runner<SynchronousCommandProcessor> {}
 
     [Concern(typeof (SynchronousCommandProcessor))]
     public class when_running_all_the_queued_commands_waiting_for_execution : behaves_like_a_command_processor
product/tests/unit/client/service.infrastructure/threading/IntervalTimerSpecs.cs
@@ -1,131 +1,136 @@
 using System;
 using System.Timers;
-using developwithpassion.bdd.contexts;
 using momoney.service.infrastructure.threading;
 using MoMoney.Service.Infrastructure.Threading;
 using Rhino.Mocks;
 
-namespace tests.unit.client.service.infrastructure.threading
-{
-    [Concern(typeof (IntervalTimer))]
-    public abstract class behaves_like_an_interval_timer : concerns_for<ITimer, IntervalTimer>
-    {
-        context c = () => { factory = the_dependency<ITimerFactory>(); };
-
-        protected static ITimerFactory factory;
-    }
-
-    [Concern(typeof (IntervalTimer))]
-    public class when_starting_a_timer_for_a_new_client : behaves_like_an_interval_timer
-    {
-        static ITimerClient client;
-        static Timer timer;
-
-        it should_create_a_new_timer = () => factory.was_told_to(f => f.create_for(new TimeSpan(0, 10, 0)));
-
-        it should_start_the_timer = () => timer.was_told_to(t => t.Start());
-
-        context c = () =>
-        {
-            client = an<ITimerClient>();
-            timer = dependency<Timer>();
-
-            factory.is_told_to(f => f.create_for(new TimeSpan(0, 10, 0))).it_will_return(timer);
-        };
-
-        because b = () => sut.start_notifying(client, new TimeSpan(0, 10, 0));
-    }
-
-    [Concern(typeof (IntervalTimer))]
-    public class when_starting_a_timer_for_an_existing_client : behaves_like_an_interval_timer
-    {
-        it should_stop_the_previously_started_timer = () =>
-        {
-            first_timer.was_told_to(t => t.Stop());
-            first_timer.was_told_to(t => t.Dispose());
-        };
-
-        it should_start_a_new_timer = () => second_timer.was_told_to(t => t.Start());
-
-        context c = () =>
-        {
-            client = an<ITimerClient>();
-            first_timer = dependency<Timer>();
-            second_timer = dependency<Timer>();
-
-            factory.is_told_to(f => f.create_for(new TimeSpan(0, 1, 1))).it_will_return(first_timer);
-            factory.is_told_to(f => f.create_for(new TimeSpan(0, 2, 2))).it_will_return(second_timer);
-        };
-
-        because b = () =>
-        {
-            sut.start_notifying(client, new TimeSpan(0, 1, 1));
-            sut.start_notifying(client, new TimeSpan(0, 2, 2));
-        };
-
-        static ITimerClient client;
-        static Timer first_timer;
-        static Timer second_timer;
-    }
-
-    [Concern(typeof (IntervalTimer))]
-    public class when_a_timer_elapses : behaves_like_an_interval_timer
-    {
-        it should_notify_the_timer_client = () => client.was_told_to(c => c.notify());
-
-        static ITimerClient client;
-        static Timer timer;
-
-        context c = () =>
-        {
-            client = an<ITimerClient>();
-            timer = dependency<Timer>();
-            factory.is_told_to(f => f.create_for(Arg<TimeSpan>.Is.Anything)).it_will_return(timer);
-        };
-
-        because b = () =>
-        {
-            sut.start_notifying(client, new TimeSpan(0, 10, 0));
-            timer.Raise(t => t.Elapsed += null, timer, null);
-        };
-    }
-
-    [Concern(typeof (IntervalTimer))]
-    public class when_stopping_notifications_for_an_existing_timer_client : behaves_like_an_interval_timer
-    {
-        static ITimerClient client;
-        static Timer timer;
-
-        it should_stop_the_timer_that_was_started_for_the_client = () => timer.was_told_to(t => t.Stop());
-
-        it should_dispose_the_timer_that_was_started_for_the_client = () => timer.was_told_to(t => t.Dispose());
-
-        context c = () =>
-        {
-            client = an<ITimerClient>();
-            timer = dependency<Timer>();
-
-            when_the(factory).is_told_to(t => t.create_for(Arg<TimeSpan>.Is.Anything)).it_will_return(
-                                                                                                         timer);
-        };
-
-        because b = () =>
-        {
-            sut.start_notifying(client, new TimeSpan(0, 0, 1));
-            sut.stop_notifying(client);
-        };
-    }
-
-    [Concern(typeof (IntervalTimer))]
-    public class when_attempting_to_stop_notification_for_a_client_that_doesnt_have_a_timer_started_for_it :
-        behaves_like_an_interval_timer
-    {
-        it should_not_blow_up = () => { };
-
-        context c = () => { client = an<ITimerClient>(); };
-
-        because b = () => sut.stop_notifying(client);
-
-        static ITimerClient client;
-    }
+namespace tests.unit.client.service.infrastructure.threading
+{
+    [Concern(typeof (IntervalTimer))]
+    public abstract class behaves_like_an_interval_timer : runner<IntervalTimer>
+    {
+        context c = () =>
+        {
+            factory = dependency<ITimerFactory>();
+        };
+
+        static protected ITimerFactory factory;
+    }
+
+    [Concern(typeof (IntervalTimer))]
+    public class when_starting_a_timer_for_a_new_client : behaves_like_an_interval_timer
+    {
+        static ITimerClient client;
+        static Timer timer;
+
+        it should_create_a_new_timer = () => factory.was_told_to(f => f.create_for(new TimeSpan(0, 10, 0)));
+
+        it should_start_the_timer = () => timer.was_told_to(t => t.Start());
+
+        context c = () =>
+        {
+            client = an<ITimerClient>();
+            timer = dependency<Timer>();
+
+            factory.is_told_to(f => f.create_for(new TimeSpan(0, 10, 0))).it_will_return(timer);
+        };
+
+        because b = () => sut.start_notifying(client, new TimeSpan(0, 10, 0));
+    }
+
+    [Concern(typeof (IntervalTimer))]
+    public class when_starting_a_timer_for_an_existing_client : behaves_like_an_interval_timer
+    {
+        it should_stop_the_previously_started_timer = () =>
+        {
+            first_timer.was_told_to(t => t.Stop());
+            first_timer.was_told_to(t => t.Dispose());
+        };
+
+        it should_start_a_new_timer = () => second_timer.was_told_to(t => t.Start());
+
+        context c = () =>
+        {
+            client = an<ITimerClient>();
+            first_timer = dependency<Timer>();
+            second_timer = dependency<Timer>();
+
+            factory.is_told_to(f => f.create_for(new TimeSpan(0, 1, 1))).it_will_return(first_timer);
+            factory.is_told_to(f => f.create_for(new TimeSpan(0, 2, 2))).it_will_return(second_timer);
+        };
+
+        because b = () =>
+        {
+            sut.start_notifying(client, new TimeSpan(0, 1, 1));
+            sut.start_notifying(client, new TimeSpan(0, 2, 2));
+        };
+
+        static ITimerClient client;
+        static Timer first_timer;
+        static Timer second_timer;
+    }
+
+    [Concern(typeof (IntervalTimer))]
+    public class when_a_timer_elapses : behaves_like_an_interval_timer
+    {
+        it should_notify_the_timer_client = () => client.was_told_to(c => c.notify());
+
+        static ITimerClient client;
+        static Timer timer;
+
+        context c = () =>
+        {
+            client = an<ITimerClient>();
+            timer = dependency<Timer>();
+            factory.is_told_to(f => f.create_for(Arg<TimeSpan>.Is.Anything)).it_will_return(timer);
+        };
+
+        because b = () =>
+        {
+            sut.start_notifying(client, new TimeSpan(0, 10, 0));
+            timer.Raise(t => t.Elapsed += null, timer, null);
+        };
+    }
+
+    [Concern(typeof (IntervalTimer))]
+    public class when_stopping_notifications_for_an_existing_timer_client : behaves_like_an_interval_timer
+    {
+        static ITimerClient client;
+        static Timer timer;
+
+        it should_stop_the_timer_that_was_started_for_the_client = () => timer.was_told_to(t => t.Stop());
+
+        it should_dispose_the_timer_that_was_started_for_the_client = () => timer.was_told_to(t => t.Dispose());
+
+        context c = () =>
+        {
+            client = an<ITimerClient>();
+            timer = dependency<Timer>();
+
+            factory.is_told_to(t => t.create_for(Arg<TimeSpan>.Is.Anything)).it_will_return(
+                                                                                               timer);
+        };
+
+        because b = () =>
+        {
+            sut.start_notifying(client, new TimeSpan(0, 0, 1));
+            sut.stop_notifying(client);
+        };
+    }
+
+    [Concern(typeof (IntervalTimer))]
+    public class when_attempting_to_stop_notification_for_a_client_that_doesnt_have_a_timer_started_for_it :
+        behaves_like_an_interval_timer
+    {
+        it should_not_blow_up = () => {};
+
+        context c = () =>
+        {
+            client = an<ITimerClient>();
+        };
+
+        because b = () => sut.stop_notifying(client);
+
+        static ITimerClient client;
+    }
 }
\ No newline at end of file
product/tests/unit/client/service.infrastructure/threading/RunOnBackgroundThreadInterceptorSpecs.cs
@@ -1,47 +1,46 @@
 using Castle.Core.Interceptor;
-using developwithpassion.bdd.contexts;
+using gorilla.commons.utility;
 using gorilla.commons.Utility;
 using momoney.service.infrastructure.threading;
 
-namespace tests.unit.client.service.infrastructure.threading
-{
-    [Concern(typeof (RunOnBackgroundThreadInterceptor<>))]
-    public abstract class behaves_like_background_thread_interceptor :
-        concerns_for<IInterceptor, RunOnBackgroundThreadInterceptor<DisposableCommand>>
-    {
-        context c = () =>
-        {
-            thread_factory = the_dependency<IBackgroundThreadFactory>();
-        };
-
-        static protected IBackgroundThreadFactory thread_factory;
-    }
-
-    [Concern(typeof (RunOnBackgroundThreadInterceptor<>))]
-    public class when_intercepting_a_call_to_a_method_that_takes_a_long_time_to_complete :
-        behaves_like_background_thread_interceptor
-    {
-        context c = () =>
-        {
-            invocation = an<IInvocation>();
-            background_thread = an<IBackgroundThread>();
-            thread_factory
-                .is_told_to(f => f.create_for<DisposableCommand>())
-                .it_will_return(background_thread);
-        };
-
-        because b = () => sut.Intercept(invocation);
-
-        it should_display_a_progress_bar_on_a_background_thread =
-            () => thread_factory.was_told_to(f => f.create_for<DisposableCommand>());
-
-        it should_proceed_with_the_orginal_invocation_on_the_actual_object =
-            () => invocation.was_told_to(i => i.Proceed());
-
-        it should_hide_the_progress_bar_when_the_invocation_is_completed =
-            () => background_thread.was_told_to(b => b.Dispose());
-
-        static IInvocation invocation;
-        static IBackgroundThread background_thread;
-    }
+namespace tests.unit.client.service.infrastructure.threading
+{
+    [Concern(typeof (RunOnBackgroundThreadInterceptor<>))]
+    public abstract class behaves_like_background_thread_interceptor : runner<RunOnBackgroundThreadInterceptor<DisposableCommand>>
+    {
+        context c = () =>
+        {
+            thread_factory = dependency<IBackgroundThreadFactory>();
+        };
+
+        static protected IBackgroundThreadFactory thread_factory;
+    }
+
+    [Concern(typeof (RunOnBackgroundThreadInterceptor<>))]
+    public class when_intercepting_a_call_to_a_method_that_takes_a_long_time_to_complete :
+        behaves_like_background_thread_interceptor
+    {
+        context c = () =>
+        {
+            invocation = an<IInvocation>();
+            background_thread = an<IBackgroundThread>();
+            thread_factory
+                .is_told_to(f => f.create_for<DisposableCommand>())
+                .it_will_return(background_thread);
+        };
+
+        because b = () => sut.Intercept(invocation);
+
+        it should_display_a_progress_bar_on_a_background_thread =
+            () => thread_factory.was_told_to(f => f.create_for<DisposableCommand>());
+
+        it should_proceed_with_the_orginal_invocation_on_the_actual_object =
+            () => invocation.was_told_to(i => i.Proceed());
+
+        it should_hide_the_progress_bar_when_the_invocation_is_completed =
+            () => background_thread.was_told_to(b => b.Dispose());
+
+        static IInvocation invocation;
+        static IBackgroundThread background_thread;
+    }
 }
\ No newline at end of file
product/tests/unit/client/service.infrastructure/threading/TimerFactorySpecs.cs
@@ -1,43 +1,45 @@
 using System;
 using System.Timers;
-using developwithpassion.bdd.contexts;
 using momoney.service.infrastructure.threading;
 
-namespace tests.unit.client.service.infrastructure.threading
-{
-    [Concern(typeof (TimerFactory))]
-    public abstract class behaves_like_a_timer_factory : concerns_for<ITimerFactory, TimerFactory>
-    {
-        public override ITimerFactory create_sut()
-        {
-            return new TimerFactory();
-        }
-    }
-
-    [Concern(typeof (TimerFactory))]
-    public class when_creating_a_timer : behaves_like_a_timer_factory
-    {
-        it should_return_a_timer_with_the_correct_interval = () => result.Interval.should_be_equal_to(1000);
-
-        because b = () => { result = sut.create_for(new TimeSpan(0, 0, 1)); };
-
-        static Timer result;
-    }
-
-    [Concern(typeof (TimerFactory))]
-    public class when_creating_a_timer_with_an_interval_in_milliseconds : behaves_like_a_timer_factory
-    {
-        it should_return_a_timer_with_the_correct_polling_interval =
-            () => result.Interval.should_be_equal_to(milliseconds);
-
-        because b = () =>
-        {
-            var timer_interval = new TimeSpan(50);
-            milliseconds = 50;
-            result = sut.create_for(timer_interval);
-        };
-
-        static Timer result;
-        static double milliseconds;
-    }
+namespace tests.unit.client.service.infrastructure.threading
+{
+    [Concern(typeof (TimerFactory))]
+    public abstract class behaves_like_a_timer_factory : TestsFor<ITimerFactory>
+    {
+        public override ITimerFactory create_sut()
+        {
+            return new TimerFactory();
+        }
+    }
+
+    [Concern(typeof (TimerFactory))]
+    public class when_creating_a_timer : behaves_like_a_timer_factory
+    {
+        it should_return_a_timer_with_the_correct_interval = () => result.Interval.should_be_equal_to(1000);
+
+        because b = () =>
+        {
+            result = sut.create_for(new TimeSpan(0, 0, 1));
+        };
+
+        static Timer result;
+    }
+
+    [Concern(typeof (TimerFactory))]
+    public class when_creating_a_timer_with_an_interval_in_milliseconds : behaves_like_a_timer_factory
+    {
+        it should_return_a_timer_with_the_correct_polling_interval =
+            () => result.Interval.should_be_equal_to(milliseconds);
+
+        because b = () =>
+        {
+            var timer_interval = new TimeSpan(50);
+            milliseconds = 50;
+            result = sut.create_for(timer_interval);
+        };
+
+        static Timer result;
+        static double milliseconds;
+    }
 }
\ No newline at end of file
product/tests/unit/client/service.infrastructure/transactions/UnitOfWorkFactorySpecs.cs
@@ -1,90 +1,89 @@
-using developwithpassion.bdd.contexts;
 using momoney.database.transactions;
 using momoney.service.infrastructure.transactions;
 using MoMoney.Service.Infrastructure.Transactions;
 
-namespace tests.unit.client.service.infrastructure.transactions
-{
-    public class UnitOfWorkFactorySpecs
-    {
-        [Concern(typeof (UnitOfWorkFactory))]
-        public abstract class concerns_for_unit_of_work_factory : concerns_for<IUnitOfWorkFactory, UnitOfWorkFactory>
-        {
-            context c = () =>
-            {
-                session_context = the_dependency<IContext>();
-                factory = the_dependency<ISessionFactory>();
-                key = the_dependency<IKey<ISession>>();
-            };
-
-            static protected IContext session_context;
-            static protected ISessionFactory factory;
-            static protected IKey<ISession> key;
-        }
-
-        [Concern(typeof (UnitOfWorkFactory))]
-        public class when_a_unit_of_work_has_not_been_started : concerns_for_unit_of_work_factory
-        {
-            context c = () =>
-            {
-                when_the(session_context).is_told_to(x => x.contains(key)).it_will_return(false);
-            };
-        }
-
-        [Concern(typeof (UnitOfWorkFactory))]
-        public class when_a_unit_of_work_has_been_started : concerns_for_unit_of_work_factory
-        {
-            context c = () =>
-            {
-                when_the(session_context).is_told_to(x => x.contains(key)).it_will_return(true);
-            };
-        }
-
-        [Concern(typeof (UnitOfWorkFactory))]
-        public class when_creating_a_new_unit_of_work : when_a_unit_of_work_has_not_been_started
-        {
-            context c = () =>
-            {
-                session = an<ISession>();
-                when_the(factory).is_told_to(x => x.create()).it_will_return(session);
-            };
-
-            because b = () =>
-            {
-                result = sut.create();
-            };
-
-            it should_create_a_new_unit_of_work = () => factory.was_told_to(x => x.create());
-
-            it should_add_the_session_to_the_current_context = () => session_context.was_told_to(x => x.add(key, session));
-
-            it should_return_a_brand_new_unit_of_work = () =>
-            {
-                result.should_not_be_null();
-                result.should_be_an_instance_of<UnitOfWork>();
-            };
-
-            static IUnitOfWork result;
-            static ISession session;
-        }
-
-        [Concern(typeof (UnitOfWorkFactory))]
-        public class when_attempting_to_create_a_new_unit_of_work : when_a_unit_of_work_has_been_started
-        {
-            because b = () =>
-            {
-                result = sut.create();
-            };
-
-            it should_not_create_a_new_unit_of_work = () => factory.was_not_told_to(x => x.create());
-
-            it should_return_an_empty_unit_of_work = () =>
-            {
-                result.should_not_be_null();
-                result.should_be_an_instance_of<EmptyUnitOfWork>();
-            };
-
-            static IUnitOfWork result;
-        }
-    }
+namespace tests.unit.client.service.infrastructure.transactions
+{
+    public class UnitOfWorkFactorySpecs
+    {
+        [Concern(typeof (UnitOfWorkFactory))]
+        public abstract class TestsForUnitOfWorkFactory : runner<UnitOfWorkFactory>
+        {
+            context c = () =>
+            {
+                session_context = dependency<IContext>();
+                factory = dependency<ISessionFactory>();
+                key = dependency<IKey<ISession>>();
+            };
+
+            static protected IContext session_context;
+            static protected ISessionFactory factory;
+            static protected IKey<ISession> key;
+        }
+
+        [Concern(typeof (UnitOfWorkFactory))]
+        public class when_a_unit_of_work_has_not_been_started : TestsForUnitOfWorkFactory
+        {
+            context c = () =>
+            {
+                session_context.is_told_to(x => x.contains(key)).it_will_return(false);
+            };
+        }
+
+        [Concern(typeof (UnitOfWorkFactory))]
+        public class when_a_unit_of_work_has_been_started : TestsForUnitOfWorkFactory
+        {
+            context c = () =>
+            {
+                session_context.is_told_to(x => x.contains(key)).it_will_return(true);
+            };
+        }
+
+        [Concern(typeof (UnitOfWorkFactory))]
+        public class when_creating_a_new_unit_of_work : when_a_unit_of_work_has_not_been_started
+        {
+            context c = () =>
+            {
+                session = an<ISession>();
+                factory.is_told_to(x => x.create()).it_will_return(session);
+            };
+
+            because b = () =>
+            {
+                result = sut.create();
+            };
+
+            it should_create_a_new_unit_of_work = () => factory.was_told_to(x => x.create());
+
+            it should_add_the_session_to_the_current_context = () => session_context.was_told_to(x => x.add(key, session));
+
+            it should_return_a_brand_new_unit_of_work = () =>
+            {
+                result.should_not_be_null();
+                result.should_be_an_instance_of<UnitOfWork>();
+            };
+
+            static IUnitOfWork result;
+            static ISession session;
+        }
+
+        [Concern(typeof (UnitOfWorkFactory))]
+        public class when_attempting_to_create_a_new_unit_of_work : when_a_unit_of_work_has_been_started
+        {
+            because b = () =>
+            {
+                result = sut.create();
+            };
+
+            it should_not_create_a_new_unit_of_work = () => factory.was_not_told_to(x => x.create());
+
+            it should_return_an_empty_unit_of_work = () =>
+            {
+                result.should_not_be_null();
+                result.should_be_an_instance_of<EmptyUnitOfWork>();
+            };
+
+            static IUnitOfWork result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/service.infrastructure/transactions/UnitOfWorkSpecs.cs
@@ -1,72 +1,70 @@
-using developwithpassion.bdd.contexts;
 using momoney.database.transactions;
-using momoney.service.infrastructure.transactions;
 using MoMoney.Service.Infrastructure.Transactions;
 
-namespace tests.unit.client.service.infrastructure.transactions
-{
-    public class UnitOfWorkSpecs
-    {
-        [Concern(typeof (UnitOfWork))]
-        public abstract class behaves_like_unit_of_work : concerns_for<IUnitOfWork, UnitOfWork>
-        {
-            context c = () =>
-            {
-                session_context = the_dependency<IContext>();
-                session = the_dependency<ISession>();
-                key = the_dependency<IKey<ISession>>();
-            };
-
-            static protected IContext session_context;
-            static protected ISession session;
-            static protected IKey<ISession> key;
-        }
-
-        [Concern(typeof (UnitOfWork))]
-        public abstract class when_a_unit_of_work_has_unsaved_changes : behaves_like_unit_of_work
-        {
-            context c = () => when_the(session).is_told_to(x => x.is_dirty()).it_will_return(true);
-        }
-
-        [Concern(typeof (UnitOfWork))]
-        public abstract class when_a_unit_of_work_has_no_changes : behaves_like_unit_of_work
-        {
-            context c = () => when_the(session).is_told_to(x => x.is_dirty()).it_will_return(false);
-        }
-
-        [Concern(typeof (UnitOfWork))]
-        public class when_checking_if_a_unit_of_work_has_any_unsaved_changes : when_a_unit_of_work_has_unsaved_changes
-        {
-            it should_return_true = () => result.should_be_true();
-
-            because b = () =>
-            {
-                result = sut.is_dirty();
-            };
-
-            static bool result;
-        }
-
-        [Concern(typeof (UnitOfWork))]
-        public class when_commiting_a_unit_of_work : when_a_unit_of_work_has_unsaved_changes
-        {
-            it should_flush_the_current_session = () => session.was_told_to(x => x.flush());
-            because b = () => sut.commit();
-        }
-
-        [Concern(typeof (UnitOfWork))]
-        public class when_attempting_to_commit_a_unit_of_work : when_a_unit_of_work_has_no_changes
-        {
-            it should_not_flush_the_session = () => session.was_not_told_to(x => x.flush());
-            because b = () => sut.commit();
-        }
-
-        [Concern(typeof (UnitOfWork))]
-        public class when_disposing_of_a_unit_of_work : behaves_like_unit_of_work
-        {
-            it should_dispose_the_session = () => session.was_told_to(x => x.Dispose());
-            it should_remove_the_session_from_the_current_context = () => session_context.was_told_to(x => x.remove(key));
-            because b = () => sut.Dispose();
-        }
-    }
+namespace tests.unit.client.service.infrastructure.transactions
+{
+    public class UnitOfWorkSpecs
+    {
+        [Concern(typeof (UnitOfWork))]
+        public abstract class behaves_like_unit_of_work : runner<UnitOfWork>
+        {
+            context c = () =>
+            {
+                session_context = dependency<IContext>();
+                session = dependency<ISession>();
+                key = dependency<IKey<ISession>>();
+            };
+
+            static protected IContext session_context;
+            static protected ISession session;
+            static protected IKey<ISession> key;
+        }
+
+        [Concern(typeof (UnitOfWork))]
+        public abstract class when_a_unit_of_work_has_unsaved_changes : behaves_like_unit_of_work
+        {
+            context c = () => session.is_told_to(x => x.is_dirty()).it_will_return(true);
+        }
+
+        [Concern(typeof (UnitOfWork))]
+        public abstract class when_a_unit_of_work_has_no_changes : behaves_like_unit_of_work
+        {
+            context c = () => session.is_told_to(x => x.is_dirty()).it_will_return(false);
+        }
+
+        [Concern(typeof (UnitOfWork))]
+        public class when_checking_if_a_unit_of_work_has_any_unsaved_changes : when_a_unit_of_work_has_unsaved_changes
+        {
+            it should_return_true = () => result.should_be_true();
+
+            because b = () =>
+            {
+                result = sut.is_dirty();
+            };
+
+            static bool result;
+        }
+
+        [Concern(typeof (UnitOfWork))]
+        public class when_commiting_a_unit_of_work : when_a_unit_of_work_has_unsaved_changes
+        {
+            it should_flush_the_current_session = () => session.was_told_to(x => x.flush());
+            because b = () => sut.commit();
+        }
+
+        [Concern(typeof (UnitOfWork))]
+        public class when_attempting_to_commit_a_unit_of_work : when_a_unit_of_work_has_no_changes
+        {
+            it should_not_flush_the_session = () => session.was_not_told_to(x => x.flush());
+            because b = () => sut.commit();
+        }
+
+        [Concern(typeof (UnitOfWork))]
+        public class when_disposing_of_a_unit_of_work : behaves_like_unit_of_work
+        {
+            it should_dispose_the_session = () => session.was_told_to(x => x.Dispose());
+            it should_remove_the_session_from_the_current_context = () => session_context.was_told_to(x => x.remove(key));
+            because b = () => sut.Dispose();
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/client/service.infrastructure/updating/CancelUpdateSpecs.cs
@@ -1,21 +1,22 @@
-using developwithpassion.bdd.contexts;
-using momoney.service.infrastructure.updating;
 using MoMoney.Service.Infrastructure.Updating;
 
-namespace tests.unit.client.service.infrastructure.updating
-{
-    public class CancelUpdateSpecs
-    {
-    }
-
-    public class when_cancelling_an_update_of_the_application : concerns_for<ICancelUpdate, CancelUpdate>
-    {
-        it should_stop_downloading_the_update = () => deployment.was_told_to(x => x.UpdateAsyncCancel());
-
-        context c = () => { deployment = the_dependency<IDeployment>(); };
-
-        because b = () => sut.run();
-
-        static IDeployment deployment;
-    }
+namespace tests.unit.client.service.infrastructure.updating
+{
+    public class CancelUpdateSpecs
+    {
+        [Concern(typeof (CancelUpdate))]
+        public class when_cancelling_an_update_of_the_application : runner<CancelUpdate>
+        {
+            it should_stop_downloading_the_update = () => deployment.was_told_to(x => x.UpdateAsyncCancel());
+
+            context c = () =>
+            {
+                deployment = dependency<IDeployment>();
+            };
+
+            because b = () => sut.run();
+
+            static IDeployment deployment;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure/BinarySerializerSpecs.cs
@@ -1,74 +1,81 @@
 using System;
 using System.IO;
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.Cloning;
-using MbUnit.Framework;
 
-namespace tests.unit.commons.infrastructure
-{
-    [Concern(typeof (BinarySerializer<TestItem>))]
-    public abstract class when_a_file_is_specified_to_serialize_an_item_to : concerns_for<Serializer<TestItem>, BinarySerializer<TestItem>>
-    {
-        public override Serializer<TestItem> create_sut()
-        {
-            return new BinarySerializer<TestItem>(file_name);
-        }
-
-        context c = () => { file_name = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "serialized.dat"); };
-
-        after_each_observation aeo = () => { if (File.Exists(file_name)) File.Delete(file_name); };
-
-        static protected string file_name;
-    }
-
-    [Concern(typeof (BinarySerializer<TestItem>))]
-    public class when_serializing_an_item : when_a_file_is_specified_to_serialize_an_item_to
-    {
-        it should_serialize_the_item_to_a_file = () => FileAssert.Exists(file_name);
-
-        because b = () => sut.serialize(new TestItem(string.Empty));
-    }
-
-    [Concern(typeof (BinarySerializer<TestItem>))]
-    public class when_deserializing_an_item : when_a_file_is_specified_to_serialize_an_item_to
-    {
-        it should_be_able_to_deserialize_from_a_serialized_file = () => result.should_be_equal_to(original);
-
-        context c = () => { original = new TestItem("hello world"); };
-
-        because b = () =>
-        {
-            sut.serialize(original);
-            result = sut.deserialize();
-        };
-
-        static TestItem original;
-        static TestItem result;
-    }
-
-    [Serializable]
-    public class TestItem : IEquatable<TestItem>
-    {
-        public TestItem(string text)
-        {
-            Text = text;
-        }
-
-        public string Text { get; set; }
-
-        public bool Equals(TestItem testItem)
-        {
-            return testItem != null;
-        }
-
-        public override bool Equals(object obj)
-        {
-            return ReferenceEquals(this, obj) || Equals(obj as TestItem);
-        }
-
-        public override int GetHashCode()
-        {
-            return 0;
-        }
-    }
+namespace tests.unit.commons.infrastructure
+{
+    [Concern(typeof (BinarySerializer<TestItem>))]
+    public abstract class when_a_file_is_specified_to_serialize_an_item_to : TestsFor<Serializer<TestItem>>
+    {
+        public override Serializer<TestItem> create_sut()
+        {
+            return new BinarySerializer<TestItem>(file_name);
+        }
+
+        context c = () =>
+        {
+            file_name = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "serialized.dat");
+        };
+
+        after_all aeo = () =>
+        {
+            if (File.Exists(file_name)) File.Delete(file_name);
+        };
+
+        static protected string file_name;
+    }
+
+    [Concern(typeof (BinarySerializer<TestItem>))]
+    public class when_serializing_an_item : when_a_file_is_specified_to_serialize_an_item_to
+    {
+        it should_serialize_the_item_to_a_file = () => File.Exists(file_name).should_be_true();
+
+        because b = () => sut.serialize(new TestItem(string.Empty));
+    }
+
+    [Concern(typeof (BinarySerializer<TestItem>))]
+    public class when_deserializing_an_item : when_a_file_is_specified_to_serialize_an_item_to
+    {
+        it should_be_able_to_deserialize_from_a_serialized_file = () => result.should_be_equal_to(original);
+
+        context c = () =>
+        {
+            original = new TestItem("hello world");
+        };
+
+        because b = () =>
+        {
+            sut.serialize(original);
+            result = sut.deserialize();
+        };
+
+        static TestItem original;
+        static TestItem result;
+    }
+
+    [Serializable]
+    public class TestItem : IEquatable<TestItem>
+    {
+        public TestItem(string text)
+        {
+            Text = text;
+        }
+
+        public string Text { get; set; }
+
+        public bool Equals(TestItem testItem)
+        {
+            return testItem != null;
+        }
+
+        public override bool Equals(object obj)
+        {
+            return ReferenceEquals(this, obj) || Equals(obj as TestItem);
+        }
+
+        public override int GetHashCode()
+        {
+            return 0;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure/DefaultRegistrySpecs.cs
@@ -1,35 +1,37 @@
 using System.Collections.Generic;
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.Container;
 using Gorilla.Commons.Infrastructure.Registries;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.infrastructure
-{
-    [Concern(typeof (DefaultRegistry<int>))]
-    public class when_retrieving_all_the_items_from_the_default_repository :
-        concerns_for<Registry<int>, DefaultRegistry<int>>
-    {
-        it should_leverage_the_resolver_to_retrieve_all_the_implementations =
-            () => registry.was_told_to(r => r.get_all<int>());
-
-        it should_return_the_items_resolved_by_the_registry = () => result.should_contain(24);
-
-        context c = () =>
-        {
-            var items_to_return = new List<int> {24};
-            registry = an<DependencyRegistry>();
-            registry.is_told_to(r => r.get_all<int>()).it_will_return(items_to_return);
-        };
-
-        public override Registry<int> create_sut()
-        {
-            return new DefaultRegistry<int>(registry);
-        }
-
-        because b = () => { result = sut.all(); };
-
-        static DependencyRegistry registry;
-        static IEnumerable<int> result;
-    }
+namespace tests.unit.commons.infrastructure
+{
+    [Concern(typeof (DefaultRegistry<int>))]
+    public class when_retrieving_all_the_items_from_the_default_repository :
+        TestsFor<Registry<int>>
+    {
+        it should_leverage_the_resolver_to_retrieve_all_the_implementations =
+            () => registry.was_told_to(r => r.get_all<int>());
+
+        it should_return_the_items_resolved_by_the_registry = () => result.should_contain(24);
+
+        context c = () =>
+        {
+            var items_to_return = new List<int> {24};
+            registry = an<DependencyRegistry>();
+            registry.is_told_to(r => r.get_all<int>()).it_will_return(items_to_return);
+        };
+
+        public override Registry<int> create_sut()
+        {
+            return new DefaultRegistry<int>(registry);
+        }
+
+        because b = () =>
+        {
+            result = sut.all();
+        };
+
+        static DependencyRegistry registry;
+        static IEnumerable<int> result;
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure/LogSpecs.cs
@@ -1,31 +1,33 @@
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.Container;
 using Gorilla.Commons.Infrastructure.Logging;
 
-namespace tests.unit.commons.infrastructure
-{
-    [Concern(typeof (Log))]
-    public class when_creating_a_logger_for_a_particular_type_ : concerns
-    {
-        it should_return_the_logger_created_for_that_type = () => result.should_be_equal_to(logger);
-
-        context c =
-            () =>
-            {
-                var factory = an<LogFactory>();
-                var registry = an<DependencyRegistry>();
-                logger = an<Logger>();
-                registry.is_told_to(x => x.get_a<LogFactory>()).it_will_return(factory);
-                factory.is_told_to(x => x.create_for(typeof (string))).it_will_return(logger);
-
-                Resolve.initialize_with(registry);
-            };
-
-        because b = () => { result = Log.For("mo"); };
-
-        after_each_observation a = () => Resolve.initialize_with(null);
-
-        static Logger result;
-        static Logger logger;
-    }
+namespace tests.unit.commons.infrastructure
+{
+    [Concern(typeof (Log))]
+    public class when_creating_a_logger_for_a_particular_type_ : concerns
+    {
+        it should_return_the_logger_created_for_that_type = () => result.should_be_equal_to(logger);
+
+        context c =
+            () =>
+            {
+                var factory = an<LogFactory>();
+                var registry = an<DependencyRegistry>();
+                logger = an<Logger>();
+                registry.is_told_to(x => x.get_a<LogFactory>()).it_will_return(factory);
+                factory.is_told_to(x => x.create_for(typeof (string))).it_will_return(logger);
+
+                Resolve.initialize_with(registry);
+            };
+
+        because b = () =>
+        {
+            result = Log.For("mo");
+        };
+
+        after_all a = () => Resolve.initialize_with(null);
+
+        static Logger result;
+        static Logger logger;
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure/ProxyFactorySpecs.cs
@@ -1,60 +1,59 @@
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.Proxies;
 
-namespace tests.unit.commons.infrastructure
-{
-    public class ProxyFactorySpecs
-    {
-        [Concern(typeof (ProxyFactory))]
-        public class when_proxying_a_class_with_interceptors_applied : concerns
-        {
-            context c = () =>
-            {
-                interceptors = new MyNameIsSlimShadyInterceptor();
-                marshal_mathers = new Person("marshall mathers");
-            };
-
-            because b =
-                () =>
-                {
-                    some_celebrity = ProxyFactory.create<IPerson>(marshal_mathers, interceptors);
-                };
-
-            it should_all_each_interceptor_to_intercept_the_invocation =
-                () => some_celebrity.what_is_your_name().should_be_equal_to("slim shady");
-
-            static Person marshal_mathers;
-            static IPerson some_celebrity;
-            static Interceptor interceptors;
-        }
-
-        public interface IPerson
-        {
-            string what_is_your_name();
-        }
-
-        public class Person : IPerson
-        {
-            readonly string my_name;
-
-            public Person(string my_name)
-            {
-                this.my_name = my_name;
-            }
-
-            public string what_is_your_name()
-            {
-                return my_name;
-            }
-        }
-
-        public class MyNameIsSlimShadyInterceptor : Interceptor
-        {
-            public void intercept(Invocation invocation)
-            {
-                invocation.proceed();
-                invocation.return_value = "slim shady";
-            }
-        }
-    }
+namespace tests.unit.commons.infrastructure
+{
+    public class ProxyFactorySpecs
+    {
+        [Concern(typeof (ProxyFactory))]
+        public class when_proxying_a_class_with_interceptors_applied : concerns
+        {
+            context c = () =>
+            {
+                interceptors = new MyNameIsSlimShadyInterceptor();
+                marshal_mathers = new Person("marshall mathers");
+            };
+
+            because b =
+                () =>
+                {
+                    some_celebrity = ProxyFactory.create<IPerson>(marshal_mathers, interceptors);
+                };
+
+            it should_all_each_interceptor_to_intercept_the_invocation =
+                () => some_celebrity.what_is_your_name().should_be_equal_to("slim shady");
+
+            static Person marshal_mathers;
+            static IPerson some_celebrity;
+            static Interceptor interceptors;
+        }
+
+        public interface IPerson
+        {
+            string what_is_your_name();
+        }
+
+        public class Person : IPerson
+        {
+            readonly string my_name;
+
+            public Person(string my_name)
+            {
+                this.my_name = my_name;
+            }
+
+            public string what_is_your_name()
+            {
+                return my_name;
+            }
+        }
+
+        public class MyNameIsSlimShadyInterceptor : Interceptor
+        {
+            public void intercept(Invocation invocation)
+            {
+                invocation.proceed();
+                invocation.return_value = "slim shady";
+            }
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure/ResolveSpecs.cs
@@ -1,58 +1,61 @@
 using System;
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.Container;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.infrastructure
-{
-    [Concern(typeof (Resolve))]
-    public abstract class behaves_like_a_inversion_of_control_container : concerns
-    {
-    }
-
-    [Concern(typeof(Resolve))]
-    public class when_resolving_a_dependency_using_the_container : behaves_like_a_inversion_of_control_container
-    {
-        context c = () =>
-        {
-            registry = an<DependencyRegistry>();
-            presenter = an<Command>();
-            registry.is_told_to(x => x.get_a<Command>()).it_will_return(presenter);
-            Resolve.initialize_with(registry);
-        };
-
-        because b = () => { result = Resolve.the<Command>(); };
-
-        it should_leverage_the_underlying_container_it_was_initialized_with =
-            () => registry.was_told_to(x => x.get_a<Command>());
-
-        it should_return_the_resolved_dependency = () => result.should_be_equal_to(presenter);
-
-        after_each_observation a = () => Resolve.initialize_with(null);
-
-        static DependencyRegistry registry;
-        static Command result;
-        static Command presenter;
-    }
-
-    [Concern(typeof(Resolve))]
-    public class when_resolving_a_dependency_that_is_not_registered_ : behaves_like_a_inversion_of_control_container
-    {
-        context c = () =>
-        {
-            registry = an<DependencyRegistry>();
-            registry.is_told_to(x => x.get_a<Command>()).it_will_throw(new Exception());
-            Resolve.initialize_with(registry);
-        };
-
-        because b = () => { the_call = call.to(() => Resolve.the<Command>()); };
-
-        after_each_observation a = () => Resolve.initialize_with(null);
-
-        it should_throw_a_dependency_resolution_exception =
-            () => the_call.should_have_thrown<DependencyResolutionException<Command>>();
-
-        static DependencyRegistry registry;
-        static Action the_call;
-    }
+namespace tests.unit.commons.infrastructure
+{
+    [Concern(typeof (Resolve))]
+    public abstract class behaves_like_a_inversion_of_control_container : concerns {}
+
+    [Concern(typeof (Resolve))]
+    public class when_resolving_a_dependency_using_the_container : behaves_like_a_inversion_of_control_container
+    {
+        context c = () =>
+        {
+            registry = an<DependencyRegistry>();
+            presenter = an<Command>();
+            registry.is_told_to(x => x.get_a<Command>()).it_will_return(presenter);
+            Resolve.initialize_with(registry);
+        };
+
+        because b = () =>
+        {
+            result = Resolve.the<Command>();
+        };
+
+        it should_leverage_the_underlying_container_it_was_initialized_with =
+            () => registry.was_told_to(x => x.get_a<Command>());
+
+        it should_return_the_resolved_dependency = () => result.should_be_equal_to(presenter);
+
+        after_all a = () => Resolve.initialize_with(null);
+
+        static DependencyRegistry registry;
+        static Command result;
+        static Command presenter;
+    }
+
+    [Concern(typeof (Resolve))]
+    public class when_resolving_a_dependency_that_is_not_registered_ : behaves_like_a_inversion_of_control_container
+    {
+        context c = () =>
+        {
+            registry = an<DependencyRegistry>();
+            registry.is_told_to(x => x.get_a<Command>()).it_will_throw(new Exception());
+            Resolve.initialize_with(registry);
+        };
+
+        because b = () =>
+        {
+            the_call = call.to(() => Resolve.the<Command>());
+        };
+
+        after_all a = () => Resolve.initialize_with(null);
+
+        it should_throw_a_dependency_resolution_exception =
+            () => the_call.should_have_thrown<DependencyResolutionException<Command>>();
+
+        static DependencyRegistry registry;
+        static Action the_call;
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure.thirdparty/autofac/AutofacSpecs.cs
@@ -3,7 +3,6 @@ using System.Linq;
 using Autofac;
 using Autofac.Builder;
 using Autofac.Modules;
-using developwithpassion.bdd.contexts;
 
 namespace tests.unit.commons.infrastructure.thirdparty.autofac
 {
@@ -19,9 +18,12 @@ namespace tests.unit.commons.infrastructure.thirdparty.autofac
             container = builder.Build();
         };
 
-        because b = () => { result = container.Resolve<ITestItem>(); };
+        because b = () =>
+        {
+            result = container.Resolve<ITestItem>();
+        };
 
-        after_each_observation after_each = () => container.Dispose();
+        after_all after_each = () => container.Dispose();
 
         static ContainerBuilder builder;
         static IContainer container;
@@ -47,24 +49,21 @@ namespace tests.unit.commons.infrastructure.thirdparty.autofac
             container = builder.Build();
         };
 
-        because b = () => { results = container.Resolve<IEnumerable<ITestItem>>(); };
+        because b = () =>
+        {
+            results = container.Resolve<IEnumerable<ITestItem>>();
+        };
 
-        after_each_observation after_each = () => container.Dispose();
+        after_all after_each = () => container.Dispose();
 
         static ContainerBuilder builder;
         static IContainer container;
         static IEnumerable<ITestItem> results;
     }
 
-    public interface ITestItem
-    {
-    }
+    public interface ITestItem {}
 
-    public class A : ITestItem
-    {
-    }
+    public class A : ITestItem {}
 
-    public class B : ITestItem
-    {
-    }
+    public class B : ITestItem {}
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure.thirdparty/castle/InterceptorConstraintFactorySpecs.cs
@@ -1,28 +1,32 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.infrastructure.thirdparty.Castle.DynamicProxy;
 
-namespace tests.unit.commons.infrastructure.thirdparty.castle
-{
-    [Concern(typeof (CastleDynamicInterceptorConstraintFactory))]
-    public abstract class behaves_like_constraint_factory :
-        concerns_for<InterceptorConstraintFactory, CastleDynamicInterceptorConstraintFactory>
-    {
-        context c = () => { method_call_tracker_factory = the_dependency<MethodCallTrackerFactory>(); };
-
-        protected static MethodCallTrackerFactory method_call_tracker_factory;
-    }
-
-    [Concern(typeof (CastleDynamicInterceptorConstraintFactory))]
-    public class when_creating_a_constraint_for_a_type_to_intercept_on : behaves_like_constraint_factory
-    {
-        static InterceptorConstraint<string> result;
-
-        it should_create_a_method_call_tracker_for_the_type_to_place_a_constraint_on =
-            () => method_call_tracker_factory.was_told_to(f => f.create_for<string>());
-
-        it should_return_an_instance_of_an_interceptor_constraint =
-            () => result.should_be_an_instance_of<CastleDynamicInterceptorConstraint<string>>();
-
-        because b = () => { result = sut.CreateFor<string>(); };
-    }
+namespace tests.unit.commons.infrastructure.thirdparty.castle
+{
+    [Concern(typeof (CastleDynamicInterceptorConstraintFactory))]
+    public abstract class behaves_like_constraint_factory : runner<CastleDynamicInterceptorConstraintFactory>
+    {
+        context c = () =>
+        {
+            method_call_tracker_factory = dependency<MethodCallTrackerFactory>();
+        };
+
+        static protected MethodCallTrackerFactory method_call_tracker_factory;
+    }
+
+    [Concern(typeof (CastleDynamicInterceptorConstraintFactory))]
+    public class when_creating_a_constraint_for_a_type_to_intercept_on : behaves_like_constraint_factory
+    {
+        static InterceptorConstraint<string> result;
+
+        it should_create_a_method_call_tracker_for_the_type_to_place_a_constraint_on =
+            () => method_call_tracker_factory.was_told_to(f => f.create_for<string>());
+
+        it should_return_an_instance_of_an_interceptor_constraint =
+            () => result.should_be_an_instance_of<CastleDynamicInterceptorConstraint<string>>();
+
+        because b = () =>
+        {
+            result = sut.CreateFor<string>();
+        };
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure.thirdparty/castle/InterceptorConstraintSpecs.cs
@@ -1,55 +1,62 @@
 using System.Collections.Generic;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.infrastructure.thirdparty.Castle.DynamicProxy;
 using gorilla.commons.infrastructure.thirdparty.Castle.DynamicProxy.Interceptors;
 
-namespace tests.unit.commons.infrastructure.thirdparty.castle
-{
-    [Concern(typeof (CastleDynamicInterceptorConstraint<>))]
-    public abstract class behaves_like_constraint : concerns_for<InterceptorConstraint<string>, CastleDynamicInterceptorConstraint<string>>
-    {
-        context c = () => { method_call_tracker = the_dependency<MethodCallTracker<string>>(); };
-
-        protected static MethodCallTracker<string> method_call_tracker;
-    }
-
-    [Concern(typeof (CastleDynamicInterceptorConstraint<>))]
-    public class when_asking_for_all_the_methods_to_intercept : behaves_like_constraint
-    {
-        static IEnumerable<string> result;
-        static IList<string> methods_to_intercept;
-
-        it should_return_all_the_recorded_method_calls_from_the_call_tracker =
-            () => result.should_be_equal_to(methods_to_intercept);
-
-        context c = () =>
-        {
-            methods_to_intercept = new List<string>();
-            method_call_tracker
-                .is_told_to(t => t.methods_to_intercept())
-                .it_will_return(methods_to_intercept);
-        };
-
-        because b = () => { result = sut.methods_to_intercept(); };
-    }
-
-    [Concern(typeof (CastleDynamicInterceptorConstraint<int>))]
-    public class when_asking_for_the_target_of_the_interception_constrain :
-        concerns_for<InterceptorConstraint<int>, CastleDynamicInterceptorConstraint<int>>
-    {
-        static MethodCallTracker<int> method_call_tracker;
-        static int result;
-        const int target_of_interception = 7;
-
-        context c = () =>
-        {
-            method_call_tracker = the_dependency<MethodCallTracker<int>>();
-            method_call_tracker.is_told_to(t => t.target).it_will_return(target_of_interception);
-        };
-
-        because b = () => { result = sut.intercept_on; };
-
-        it should_return_the_target_of_the_method_call_tracker =
-            () => result.should_be_equal_to(target_of_interception);
-    }
+namespace tests.unit.commons.infrastructure.thirdparty.castle
+{
+    [Concern(typeof (CastleDynamicInterceptorConstraint<>))]
+    public abstract class behaves_like_constraint : runner<CastleDynamicInterceptorConstraint<string>>
+    {
+        context c = () =>
+        {
+            method_call_tracker = dependency<MethodCallTracker<string>>();
+        };
+
+        static protected MethodCallTracker<string> method_call_tracker;
+    }
+
+    [Concern(typeof (CastleDynamicInterceptorConstraint<>))]
+    public class when_asking_for_all_the_methods_to_intercept : behaves_like_constraint
+    {
+        static IEnumerable<string> result;
+        static IList<string> methods_to_intercept;
+
+        it should_return_all_the_recorded_method_calls_from_the_call_tracker =
+            () => result.should_be_equal_to(methods_to_intercept);
+
+        context c = () =>
+        {
+            methods_to_intercept = new List<string>();
+            method_call_tracker
+                .is_told_to(t => t.methods_to_intercept())
+                .it_will_return(methods_to_intercept);
+        };
+
+        because b = () =>
+        {
+            result = sut.methods_to_intercept();
+        };
+    }
+
+    [Concern(typeof (CastleDynamicInterceptorConstraint<int>))]
+    public class when_asking_for_the_target_of_the_interception_constrain : runner<CastleDynamicInterceptorConstraint<int>>
+    {
+        static MethodCallTracker<int> method_call_tracker;
+        static int result;
+        const int target_of_interception = 7;
+
+        context c = () =>
+        {
+            method_call_tracker = dependency<MethodCallTracker<int>>();
+            method_call_tracker.is_told_to(t => t.target).it_will_return(target_of_interception);
+        };
+
+        because b = () =>
+        {
+            result = sut.intercept_on;
+        };
+
+        it should_return_the_target_of_the_method_call_tracker =
+            () => result.should_be_equal_to(target_of_interception);
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure.thirdparty/castle/LazySpecs.cs
@@ -1,200 +1,200 @@
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.Container;
 using gorilla.commons.infrastructure.thirdparty.Castle.DynamicProxy;
 
-namespace tests.unit.commons.infrastructure.thirdparty.castle
-{
-    public class LazySpecs
-    {
-        [Concern(typeof (Lazy))]
-        public abstract class behaves_like_a_lazy_loaded_object : concerns
-        {
-            context c = () =>
-            {
-                test_container = dependency<DependencyRegistry>();
-                Resolve.initialize_with(test_container);
-            };
-
-            after_each_observation a = () => Resolve.initialize_with(null);
-
-            static protected DependencyRegistry test_container;
-        }
-
-        [Concern(typeof (Lazy))]
-        public class when_calling_a_method_with_no_arguments_on_a_lazy_loaded_proxy : behaves_like_a_lazy_loaded_object
-        {
-            it should_forward_the_original_call_to_the_target = () => target.was_told_to(t => t.OneMethod());
-
-            context c = () =>
-            {
-                target = an<ITargetObject>();
-                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
-            };
-
-            because b = () =>
-            {
-                var result = Lazy.load<ITargetObject>();
-                result.OneMethod();
-            };
-
-            static ITargetObject target;
-        }
-
-        [Concern(typeof (Lazy))]
-        public class when_calling_a_method_that_returns_an_argument_on_a_lazy_loaded_proxy :
-            behaves_like_a_lazy_loaded_object
-        {
-            it should_return_the_value_from_the_actual_target = () => result.should_be_equal_to(10);
-
-            context c = () =>
-            {
-                var target = an<ITargetObject>();
-
-                target.is_told_to(x => x.FirstValueReturningMethod()).it_will_return(10);
-                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
-            };
-
-            because b = () =>
-            {
-                var proxy = Lazy.load<ITargetObject>();
-                result = proxy.FirstValueReturningMethod();
-            };
-
-            static int result;
-        }
-
-        [Concern(typeof (Lazy))]
-        public class when_calling_different_methods_on_an_proxied_object : behaves_like_a_lazy_loaded_object
-        {
-            it should_only_load_the_object_once =
-                () => test_container.was_told_to(x => x.get_a<ITargetObject>()).only_once();
-
-            context c = () =>
-            {
-                var target = an<ITargetObject>();
-                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
-            };
-
-            because b = () =>
-            {
-                var proxy = Lazy.load<ITargetObject>();
-                proxy.SecondMethod();
-                proxy.FirstValueReturningMethod();
-            };
-        }
-
-        [Concern(typeof (Lazy))]
-        public class when_calling_a_method_that_takes_in_a_single_input_parameter_on_a_proxied_object :
-            behaves_like_a_lazy_loaded_object
-        {
-            it should_forward_the_call_to_the_original_target =
-                () => target.was_told_to(x => x.ValueReturningMethodWithAnArgument(88));
-
-            it should_return_the_correct_result = () => result.should_be_equal_to(99);
-
-            context c = () =>
-            {
-                target = an<ITargetObject>();
-
-                target.is_told_to(x => x.ValueReturningMethodWithAnArgument(88)).it_will_return(99);
-                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
-            };
-
-            because b = () =>
-            {
-                var proxy = Lazy.load<ITargetObject>();
-                result = proxy.ValueReturningMethodWithAnArgument(88);
-            };
-
-            static ITargetObject target;
-            static int result;
-        }
-
-        [Concern(typeof (Lazy))]
-        public class when_accessing_the_value_of_a_property_on_a_proxied_object : behaves_like_a_lazy_loaded_object
-        {
-            it should_return_the_correct_value = () => result.should_be_equal_to("mo");
-
-            context c = () =>
-            {
-                var target = an<ITargetObject>();
-
-                target.GetterAndSetterProperty = "mo";
-                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
-            };
-
-            because b = () =>
-            {
-                var proxy = Lazy.load<ITargetObject>();
-                result = proxy.GetterAndSetterProperty;
-            };
-
-            static string result;
-        }
-
-        [Concern(typeof (Lazy))]
-        public class when_setting_the_value_of_a_property_on_a_proxied_object : behaves_like_a_lazy_loaded_object
-        {
-            it should_set_the_value_on_the_original_target =
-                () => target.was_told_to(x => x.GetterAndSetterProperty = "khan");
-
-            context c = () =>
-            {
-                target = dependency<ITargetObject>();
-                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
-            };
-
-            because b = () =>
-            {
-                var proxy = Lazy.load<ITargetObject>();
-                proxy.GetterAndSetterProperty = "khan";
-            };
-
-            static ITargetObject target;
-        }
-
-        [Concern(typeof (Lazy))]
-        public class when_calling_a_generic_method_on_a_proxied_object : behaves_like_a_lazy_loaded_object
-        {
-            it should_forward_the_call_to_the_target =
-                () => target.was_told_to(x => x.ValueReturningMethodWithAnArgument("blah"));
-
-            it should_return_the_correct_result = () => result.should_be_equal_to("hooray");
-
-            context c = () =>
-            {
-                target = an<IGenericInterface<string>>();
-
-                target.is_told_to(x => x.ValueReturningMethodWithAnArgument("blah")).it_will_return("hooray");
-                test_container.is_told_to(t => t.get_a<IGenericInterface<string>>()).it_will_return(target).Repeat.Once();
-            };
-
-            because b = () =>
-            {
-                var proxy = Lazy.load<IGenericInterface<string>>();
-                result = proxy.ValueReturningMethodWithAnArgument("blah");
-            };
-
-            static IGenericInterface<string> target;
-            static string result;
-        }
-
-        public interface IGenericInterface<T>
-        {
-            T GetterAndSetterProperty { get; set; }
-            void OneMethod();
-            void SecondMethod();
-            T FirstValueReturningMethod();
-            T ValueReturningMethodWithAnArgument(T item);
-        }
-
-        public interface ITargetObject
-        {
-            string GetterAndSetterProperty { get; set; }
-            void OneMethod();
-            void SecondMethod();
-            int FirstValueReturningMethod();
-            int ValueReturningMethodWithAnArgument(int number);
-        }
-    }
+namespace tests.unit.commons.infrastructure.thirdparty.castle
+{
+    public class LazySpecs
+    {
+        [Concern(typeof (Lazy))]
+        public abstract class behaves_like_a_lazy_loaded_object : test
+        {
+            context c = () =>
+            {
+                test_container = dependency<DependencyRegistry>();
+                Resolve.initialize_with(test_container);
+            };
+
+            after_all a = () => Resolve.initialize_with(null);
+
+            static protected DependencyRegistry test_container;
+        }
+
+        [Concern(typeof (Lazy))]
+        public class when_calling_a_method_with_no_arguments_on_a_lazy_loaded_proxy : behaves_like_a_lazy_loaded_object
+        {
+            it should_forward_the_original_call_to_the_target = () => target.was_told_to(t => t.OneMethod());
+
+            context c = () =>
+            {
+                target = an<ITargetObject>();
+                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
+            };
+
+            because b = () =>
+            {
+                var result = Lazy.load<ITargetObject>();
+                result.OneMethod();
+            };
+
+            static ITargetObject target;
+        }
+
+        [Concern(typeof (Lazy))]
+        public class when_calling_a_method_that_returns_an_argument_on_a_lazy_loaded_proxy :
+            behaves_like_a_lazy_loaded_object
+        {
+            it should_return_the_value_from_the_actual_target = () => result.should_be_equal_to(10);
+
+            context c = () =>
+            {
+                var target = an<ITargetObject>();
+
+                target.is_told_to(x => x.FirstValueReturningMethod()).it_will_return(10);
+                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
+            };
+
+            because b = () =>
+            {
+                var proxy = Lazy.load<ITargetObject>();
+                result = proxy.FirstValueReturningMethod();
+            };
+
+            static int result;
+        }
+
+        [Concern(typeof (Lazy))]
+        public class when_calling_different_methods_on_an_proxied_object : behaves_like_a_lazy_loaded_object
+        {
+            it should_only_load_the_object_once =
+                () => test_container.was_told_to(x => x.get_a<ITargetObject>()).only_once();
+
+            context c = () =>
+            {
+                var target = an<ITargetObject>();
+                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
+            };
+
+            because b = () =>
+            {
+                var proxy = Lazy.load<ITargetObject>();
+                proxy.SecondMethod();
+                proxy.FirstValueReturningMethod();
+            };
+        }
+
+        [Concern(typeof (Lazy))]
+        public class when_calling_a_method_that_takes_in_a_single_input_parameter_on_a_proxied_object :
+            behaves_like_a_lazy_loaded_object
+        {
+            it should_forward_the_call_to_the_original_target =
+                () => target.was_told_to(x => x.ValueReturningMethodWithAnArgument(88));
+
+            it should_return_the_correct_result = () => result.should_be_equal_to(99);
+
+            context c = () =>
+            {
+                target = an<ITargetObject>();
+
+                target.is_told_to(x => x.ValueReturningMethodWithAnArgument(88)).it_will_return(99);
+                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
+            };
+
+            because b = () =>
+            {
+                var proxy = Lazy.load<ITargetObject>();
+                result = proxy.ValueReturningMethodWithAnArgument(88);
+            };
+
+            static ITargetObject target;
+            static int result;
+        }
+
+        [Concern(typeof (Lazy))]
+        public class when_accessing_the_value_of_a_property_on_a_proxied_object : behaves_like_a_lazy_loaded_object
+        {
+            it should_return_the_correct_value = () => result.should_be_equal_to("mo");
+
+            context c = () =>
+            {
+                var target = an<ITargetObject>();
+
+                //target.GetterAndSetterProperty = "mo";
+                target.is_told_to(x => x.GetterAndSetterProperty).it_will_return("mo");
+                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
+            };
+
+            because b = () =>
+            {
+                var proxy = Lazy.load<ITargetObject>();
+                result = proxy.GetterAndSetterProperty;
+            };
+
+            static string result;
+        }
+
+        [Concern(typeof (Lazy))]
+        public class when_setting_the_value_of_a_property_on_a_proxied_object : behaves_like_a_lazy_loaded_object
+        {
+            it should_set_the_value_on_the_original_target =
+                () => target.was_told_to(x => x.GetterAndSetterProperty = "khan");
+
+            context c = () =>
+            {
+                target = dependency<ITargetObject>();
+                test_container.is_told_to(t => t.get_a<ITargetObject>()).it_will_return(target).Repeat.Once();
+            };
+
+            because b = () =>
+            {
+                var proxy = Lazy.load<ITargetObject>();
+                proxy.GetterAndSetterProperty = "khan";
+            };
+
+            static ITargetObject target;
+        }
+
+        [Concern(typeof (Lazy))]
+        public class when_calling_a_generic_method_on_a_proxied_object : behaves_like_a_lazy_loaded_object
+        {
+            it should_forward_the_call_to_the_target =
+                () => target.was_told_to(x => x.ValueReturningMethodWithAnArgument("blah"));
+
+            it should_return_the_correct_result = () => result.should_be_equal_to("hooray");
+
+            context c = () =>
+            {
+                target = an<IGenericInterface<string>>();
+
+                target.is_told_to(x => x.ValueReturningMethodWithAnArgument("blah")).it_will_return("hooray");
+                test_container.is_told_to(t => t.get_a<IGenericInterface<string>>()).it_will_return(target).Repeat.Once();
+            };
+
+            because b = () =>
+            {
+                var proxy = Lazy.load<IGenericInterface<string>>();
+                result = proxy.ValueReturningMethodWithAnArgument("blah");
+            };
+
+            static IGenericInterface<string> target;
+            static string result;
+        }
+
+        public interface IGenericInterface<T>
+        {
+            T GetterAndSetterProperty { get; set; }
+            void OneMethod();
+            void SecondMethod();
+            T FirstValueReturningMethod();
+            T ValueReturningMethodWithAnArgument(T item);
+        }
+
+        public interface ITargetObject
+        {
+            string GetterAndSetterProperty { get; set; }
+            void OneMethod();
+            void SecondMethod();
+            int FirstValueReturningMethod();
+            int ValueReturningMethodWithAnArgument(int number);
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure.thirdparty/castle/MethodCallTrackerSpecs.cs
@@ -1,48 +1,45 @@
 using System.Collections.Generic;
 using System.Linq;
 using Castle.Core.Interceptor;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.infrastructure.thirdparty.Castle.DynamicProxy.Interceptors;
 
-namespace tests.unit.commons.infrastructure.thirdparty.castle
-{
-    [Concern(typeof (CastleDynamicMethodCallTracker<>))]
-    public class behaves_like_method_call_tracker :
-        concerns_for<MethodCallTracker<IAnInterface>, CastleDynamicMethodCallTracker<IAnInterface>>
-    {
-        public override MethodCallTracker<IAnInterface> create_sut()
-        {
-            return new CastleDynamicMethodCallTracker<IAnInterface>();
-        }
-    }
-
-    [Concern(typeof (CastleDynamicMethodCallTracker<>))]
-    public class when_tracking_the_calls_to_intercept_on_a_type : behaves_like_method_call_tracker
-    {
-        static IInvocation invocation;
-        static IEnumerable<string> result;
-
-        context c = () =>
-        {
-            invocation = an<IInvocation>();
-            invocation
-                .is_told_to(s => s.Method)
-                .it_will_return(typeof (IAnInterface).GetMethod("ValueReturningMethodWithAnArgument"));
-        };
-
-        because b = () =>
-        {
-            sut.Intercept(invocation);
-            result = sut.methods_to_intercept();
-        };
-
-        it should_return_all_the_methods_that_are_specified_for_interception =
-            () => result.should_contain(typeof (IAnInterface).GetMethod("ValueReturningMethodWithAnArgument").Name);
-
-        it should_only_contain_the_methods_specified_for_interception = () => result.Count().should_be_equal_to(1);
-
-        it should_specify_the_default_return_value_for_the_method_to_intercept =
-            //() => invocation.was_told_to(i => i.ReturnValue = 0);
-            () => invocation.ReturnValue.should_be_equal_to(0);
-    }
+namespace tests.unit.commons.infrastructure.thirdparty.castle
+{
+    [Concern(typeof (CastleDynamicMethodCallTracker<>))]
+    public class behaves_like_method_call_tracker : runner<MethodCallTracker<IAnInterface>>
+    {
+        public override MethodCallTracker<IAnInterface> create_sut()
+        {
+            return new CastleDynamicMethodCallTracker<IAnInterface>();
+        }
+    }
+
+    [Concern(typeof (CastleDynamicMethodCallTracker<>))]
+    public class when_tracking_the_calls_to_intercept_on_a_type : behaves_like_method_call_tracker
+    {
+        context c = () =>
+        {
+            invocation = an<IInvocation>();
+            invocation
+                .is_told_to(s => s.Method)
+                .it_will_return(typeof (IAnInterface).GetMethod("ValueReturningMethodWithAnArgument"));
+        };
+
+        because b = () =>
+        {
+            sut.Intercept(invocation);
+            result = sut.methods_to_intercept();
+        };
+
+        it should_return_all_the_methods_that_are_specified_for_interception =
+            () => result.should_contain(typeof (IAnInterface).GetMethod("ValueReturningMethodWithAnArgument").Name);
+
+        it should_only_contain_the_methods_specified_for_interception = () => result.Count().should_be_equal_to(1);
+
+        it should_specify_the_default_return_value_for_the_method_to_intercept =
+            () => invocation.was_told_to(x => x.ReturnValue = 0);
+
+        static IInvocation invocation;
+        static IEnumerable<string> result;
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure.thirdparty/castle/ProxyBuilderSpecs.cs
@@ -3,205 +3,201 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Reflection;
 using Castle.Core.Interceptor;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.infrastructure.thirdparty.Castle.DynamicProxy;
 
-namespace tests.unit.commons.infrastructure.thirdparty.castle
-{
-    [Concern(typeof (CastleDynamicProxyBuilder<>))]
-    public abstract class behaves_like_proxy_builder : concerns_for<ProxyBuilder<IAnInterface>, CastleDynamicProxyBuilder<IAnInterface>>
-    {
-        public override ProxyBuilder<IAnInterface> create_sut()
-        {
-            return new CastleDynamicProxyBuilder<IAnInterface>();
-        }
-    }
-
-    [Concern(typeof (CastleDynamicProxyBuilder<>))]
-    public class when_building_a_proxy_for_a_type : behaves_like_proxy_builder
-    {
-        it should_make_sure_the_original_call_gets_forwarded_to_the_item_to_proxy =
-            () =>
-            {
-                an_implementation_of_the_interface.was_told_to(i => i.OneMethod());
-                an_implementation_of_the_interface.was_told_to(i => i.SecondMethod());
-            };
-
-        it should_allow_each_intercepter_to_intercept_the_call =
-            () =>
-            {
-                SomeInterceptor.MethodsCalled.Count().should_be_equal_to(2);
-                AnotherInterceptor.MethodsCalled.Count().should_be_equal_to(2);
-            };
-
-        context c = () => { an_implementation_of_the_interface = an<IAnInterface>(); };
-
-        because b = () =>
-        {
-            sut.add_interceptor<SomeInterceptor>();
-            sut.add_interceptor<AnotherInterceptor>();
-            var proxy = sut.create_proxy_for(() => an_implementation_of_the_interface);
-            proxy.OneMethod();
-            proxy.SecondMethod();
-        };
-
-        after_each_observation ae = () =>
-        {
-            SomeInterceptor.Cleanup();
-            AnotherInterceptor.Cleanup();
-        };
-
-        static IAnInterface an_implementation_of_the_interface;
-    }
-
-    [Integration]
-    [Concern(typeof (CastleDynamicProxyBuilder<>))]
-    public class when_building_a_proxy_to_target_certain_methods_on_a_type : behaves_like_proxy_builder
-    {
-        it should_only_intercept_calls_on_the_method_that_was_specified =
-            () =>
-            {
-                SomeInterceptor.MethodsCalled.Count().should_be_equal_to(1);
-                SomeInterceptor.MethodsCalled.First().Name.should_be_equal_to("OneMethod");
-            };
-
-        context c = () => { an_implementation = an<IAnInterface>(); };
-
-        because b = () =>
-        {
-            var constraint = sut.add_interceptor<SomeInterceptor>();
-            constraint.intercept_on.OneMethod();
-
-            var proxy = sut.create_proxy_for(() => an_implementation);
-            proxy.OneMethod();
-            proxy.SecondMethod();
-        };
-
-        after_each_observation ae = () =>
-        {
-            SomeInterceptor.Cleanup();
-            AnotherInterceptor.Cleanup();
-        };
-
-        static IAnInterface an_implementation;
-    }
-
-    [Concern(typeof (CastleDynamicProxyBuilder<>))]
-    public class when_proxying_all_calls_on_a_target : behaves_like_proxy_builder
-    {
-        it should_intercept_each_call =
-            () =>
-            {
-                SomeInterceptor.MethodsCalled.Count().should_be_equal_to(3 );
-                SomeInterceptor.MethodsCalled.First().Name.should_be_equal_to("OneMethod");
-                SomeInterceptor.MethodsCalled.Skip(1).First().Name.should_be_equal_to("SecondMethod");
-                SomeInterceptor.MethodsCalled.Skip(2).First().Name.should_be_equal_to("region");
-            };
-
-        context c = () => { an_implementation = an<IAnInterface>(); };
-
-        because b = () =>
-        {
-            var constraint = sut.add_interceptor<SomeInterceptor>();
-            constraint.intercept_all();
-
-            var proxy = sut.create_proxy_for(() => an_implementation);
-            proxy.OneMethod();
-            proxy.SecondMethod();
-            proxy.region(() => "mo");
-        };
-
-        after_each_observation ae = () =>
-        {
-            SomeInterceptor.Cleanup();
-            AnotherInterceptor.Cleanup();
-        };
-
-        static IAnInterface an_implementation;
-    }
-
-    public interface IAnInterface
-    {
-        string GetterAndSetterProperty { get; set; }
-        void OneMethod();
-        void SecondMethod();
-        int FirstValueReturningMethod();
-        int ValueReturningMethodWithAnArgument(int number);
-        void region<T>(Func<T> call);
-    }
-
-    public class SomeInterceptor : IInterceptor
-    {
-        public static bool WasCalled;
-        public static IList<MethodInfo> MethodsCalled;
-
-        static SomeInterceptor()
-        {
-            MethodsCalled = new List<MethodInfo>();
-        }
-
-        public void Intercept(IInvocation invocation)
-        {
-            WasCalled = true;
-            MethodsCalled.Add(invocation.Method);
-            invocation.Proceed();
-        }
-
-        public static void Cleanup()
-        {
-            WasCalled = false;
-            MethodsCalled.Clear();
-        }
-    }
-
-    public class AnotherInterceptor : IInterceptor
-    {
-        public static bool WasCalled;
-        public static IList<MethodInfo> MethodsCalled;
-
-        static AnotherInterceptor()
-        {
-            MethodsCalled = new List<MethodInfo>();
-        }
-
-        public void Intercept(IInvocation invocation)
-        {
-            WasCalled = true;
-            MethodsCalled.Add(invocation.Method);
-            invocation.Proceed();
-        }
-
-        public static void Cleanup()
-        {
-            WasCalled = false;
-            MethodsCalled.Clear();
-        }
-    }
-
-    public class SomeImplementation : IAnInterface
-    {
-        public string GetterAndSetterProperty { get; set; }
-
-        public void OneMethod()
-        {
-        }
-
-        public void SecondMethod()
-        {
-        }
-
-        public int FirstValueReturningMethod()
-        {
-            return 1;
-        }
-
-        public int ValueReturningMethodWithAnArgument(int number)
-        {
-            return number + 1;
-        }
-
-        public void region<T>(Func<T> call)
-        {
-        }
-    }
+namespace tests.unit.commons.infrastructure.thirdparty.castle
+{
+    [Concern(typeof (CastleDynamicProxyBuilder<>))]
+    public abstract class behaves_like_proxy_builder : runner<ProxyBuilder<IAnInterface>>
+    {
+        public override ProxyBuilder<IAnInterface> create_sut()
+        {
+            return new CastleDynamicProxyBuilder<IAnInterface>();
+        }
+    }
+
+    [Concern(typeof (CastleDynamicProxyBuilder<>))]
+    public class when_building_a_proxy_for_a_type : behaves_like_proxy_builder
+    {
+        it should_make_sure_the_original_call_gets_forwarded_to_the_item_to_proxy =
+            () =>
+            {
+                an_implementation_of_the_interface.was_told_to(i => i.OneMethod());
+                an_implementation_of_the_interface.was_told_to(i => i.SecondMethod());
+            };
+
+        it should_allow_each_intercepter_to_intercept_the_call =
+            () =>
+            {
+                SomeInterceptor.MethodsCalled.Count().should_be_equal_to(2);
+                AnotherInterceptor.MethodsCalled.Count().should_be_equal_to(2);
+            };
+
+        context c = () =>
+        {
+            an_implementation_of_the_interface = an<IAnInterface>();
+        };
+
+        because b = () =>
+        {
+            sut.add_interceptor<SomeInterceptor>();
+            sut.add_interceptor<AnotherInterceptor>();
+            var proxy = sut.create_proxy_for(() => an_implementation_of_the_interface);
+            proxy.OneMethod();
+            proxy.SecondMethod();
+        };
+
+        after_all ae = () =>
+        {
+            SomeInterceptor.Cleanup();
+            AnotherInterceptor.Cleanup();
+        };
+
+        static IAnInterface an_implementation_of_the_interface;
+    }
+
+    [Concern(typeof (CastleDynamicProxyBuilder<>))]
+    public class when_building_a_proxy_to_target_certain_methods_on_a_type : behaves_like_proxy_builder
+    {
+        it should_only_intercept_calls_on_the_method_that_was_specified =
+            () =>
+            {
+                SomeInterceptor.MethodsCalled.Count().should_be_equal_to(1);
+                SomeInterceptor.MethodsCalled.First().Name.should_be_equal_to("OneMethod");
+            };
+
+        context c = () =>
+        {
+            an_implementation = an<IAnInterface>();
+        };
+
+        because b = () =>
+        {
+            var constraint = sut.add_interceptor<SomeInterceptor>();
+            constraint.intercept_on.OneMethod();
+
+            var proxy = sut.create_proxy_for(() => an_implementation);
+            proxy.OneMethod();
+            proxy.SecondMethod();
+        };
+
+        after_all ae = () =>
+        {
+            SomeInterceptor.Cleanup();
+            AnotherInterceptor.Cleanup();
+        };
+
+        static IAnInterface an_implementation;
+    }
+
+    [Concern(typeof (CastleDynamicProxyBuilder<>))]
+    public class when_proxying_all_calls_on_a_target : behaves_like_proxy_builder
+    {
+        it should_intercept_each_call =
+            () =>
+            {
+                SomeInterceptor.MethodsCalled.Count().should_be_equal_to(3);
+                SomeInterceptor.MethodsCalled.First().Name.should_be_equal_to("OneMethod");
+                SomeInterceptor.MethodsCalled.Skip(1).First().Name.should_be_equal_to("SecondMethod");
+                SomeInterceptor.MethodsCalled.Skip(2).First().Name.should_be_equal_to("region");
+            };
+
+        context c = () =>
+        {
+            an_implementation = an<IAnInterface>();
+        };
+
+        because b = () =>
+        {
+            var constraint = sut.add_interceptor<SomeInterceptor>();
+            constraint.intercept_all();
+
+            var proxy = sut.create_proxy_for(() => an_implementation);
+            proxy.OneMethod();
+            proxy.SecondMethod();
+            proxy.region(() => "mo");
+        };
+
+        after_all ae = () =>
+        {
+            SomeInterceptor.Cleanup();
+            AnotherInterceptor.Cleanup();
+        };
+
+        static IAnInterface an_implementation;
+    }
+
+    public interface IAnInterface
+    {
+        string GetterAndSetterProperty { get; set; }
+        void OneMethod();
+        void SecondMethod();
+        int FirstValueReturningMethod();
+        int ValueReturningMethodWithAnArgument(int number);
+        void region<T>(Func<T> call);
+    }
+
+    public class SomeInterceptor : IInterceptor
+    {
+        static public bool WasCalled;
+        static public IList<MethodInfo> MethodsCalled= new List<MethodInfo>();
+
+        public void Intercept(IInvocation invocation)
+        {
+            WasCalled = true;
+            MethodsCalled.Add(invocation.Method);
+            invocation.Proceed();
+        }
+
+        static public void Cleanup()
+        {
+            WasCalled = false;
+            MethodsCalled.Clear();
+        }
+    }
+
+    public class AnotherInterceptor : IInterceptor
+    {
+        static public bool WasCalled;
+        static public IList<MethodInfo> MethodsCalled;
+
+        static AnotherInterceptor()
+        {
+            MethodsCalled = new List<MethodInfo>();
+        }
+
+        public void Intercept(IInvocation invocation)
+        {
+            WasCalled = true;
+            MethodsCalled.Add(invocation.Method);
+            invocation.Proceed();
+        }
+
+        static public void Cleanup()
+        {
+            WasCalled = false;
+            MethodsCalled.Clear();
+        }
+    }
+
+    public class SomeImplementation : IAnInterface
+    {
+        public string GetterAndSetterProperty { get; set; }
+
+        public void OneMethod() {}
+
+        public void SecondMethod() {}
+
+        public int FirstValueReturningMethod()
+        {
+            return 1;
+        }
+
+        public int ValueReturningMethodWithAnArgument(int number)
+        {
+            return number + 1;
+        }
+
+        public void region<T>(Func<T> call) {}
+    }
 }
\ No newline at end of file
product/tests/unit/commons/infrastructure.thirdparty/castle/ProxyFactorySpecs.cs
@@ -1,107 +1,110 @@
 using System;
 using System.Data;
 using Castle.Core.Interceptor;
-using developwithpassion.bdd.contexts;
-using developwithpassion.bdd.mbunit;
 using gorilla.commons.infrastructure.thirdparty.Castle.DynamicProxy;
 
-namespace tests.unit.commons.infrastructure.thirdparty.castle
-{
-    [Concern(typeof(CastleDynamicProxyFactory))]
-    public abstract class behaves_like_proxy_factory : concerns_for<ProxyFactory, CastleDynamicProxyFactory>
-    {
-        public override ProxyFactory create_sut()
-        {
-            return new CastleDynamicProxyFactory();
-        }
-    }
-
-    [Concern(typeof(CastleDynamicProxyFactory))]
-    public class when_creating_a_proxy_with_a_target : behaves_like_proxy_factory
-    {
-        it should_forward_all_calls_to_the_target = () => target.was_told_to(x => x.Open());
-
-        it should_return_a_proxy_to_the_target = () =>
-        {
-            AssertionExtensions.should_not_be_null(result);
-            result.GetType().should_not_be_equal_to(target.GetType());
-        };
-
-        it should_allow_the_interceptors_to_intercept_all_calls =
-            () => AssertionExtensions.should_be_true(interceptor.recieved_call);
-
-        context c = () => { target = the_dependency<IDbConnection>(); };
-
-        because b = () =>
-        {
-            interceptor = new TestInterceptor();
-            result = sut.create_proxy_for(() => target, interceptor);
-            result.Open();
-        };
-
-        static IDbConnection target;
-        static IDbConnection result;
-        static TestInterceptor interceptor;
-    }
-
-    [Concern(typeof(CastleDynamicProxyFactory))]
-    public class when_creating_a_proxy_of_a_target_but_a_call_has_not_been_made_to_the_proxy_yet :
-        behaves_like_proxy_factory
-    {
-        it should_not_create_an_instance_of_the_target = () => AssertionExtensions.should_be_false(TestClass.was_created);
-
-        context c = TestClass.reset;
-
-        because b = () => { result = sut.create_proxy_for<IDisposable>(() => new TestClass()); };
-
-        after_each_observation ae = TestClass.reset;
-
-        static IDisposable result;
-    }
-
-    [Concern(typeof(CastleDynamicProxyFactory))]
-    public class when_creating_a_proxy_of_a_component_that_does_not_implement_an_interface : behaves_like_proxy_factory
-    {
-        it should_return_a_proxy = () => AssertionExtensions.should_not_be_null(result);
-
-        because b = () => { result = sut.create_proxy_for(() => new ClassWithNoInterface()); };
-
-        after_each_observation ae = TestClass.reset;
-
-        static ClassWithNoInterface result;
-    }
-
-    public class ClassWithNoInterface
-    {
-    }
-
-    public class TestClass : IDisposable
-    {
-        public static bool was_created;
-
-        public TestClass()
-        {
-            was_created = true;
-        }
-
-        public static void reset()
-        {
-            was_created = false;
-        }
-
-        public void Dispose()
-        {
-        }
-    }
-
-    public class TestInterceptor : IInterceptor
-    {
-        public bool recieved_call { get; set; }
-
-        public void Intercept(IInvocation invocation)
-        {
-            recieved_call = true;
-            invocation.Proceed();
-        }
-    }
+namespace tests.unit.commons.infrastructure.thirdparty.castle
+{
+    [Concern(typeof (CastleDynamicProxyFactory))]
+    public abstract class behaves_like_proxy_factory : TestsFor<ProxyFactory>
+    {
+        public override ProxyFactory create_sut()
+        {
+            return new CastleDynamicProxyFactory();
+        }
+    }
+
+    [Concern(typeof (CastleDynamicProxyFactory))]
+    public class when_creating_a_proxy_with_a_target : behaves_like_proxy_factory
+    {
+        it should_forward_all_calls_to_the_target = () => target.was_told_to(x => x.Open());
+
+        it should_return_a_proxy_to_the_target = () =>
+        {
+            result.should_not_be_null();
+            result.GetType().should_not_be_equal_to(target.GetType());
+        };
+
+        it should_allow_the_interceptors_to_intercept_all_calls =
+            () => interceptor.recieved_call.should_be_true();
+
+        context c = () =>
+        {
+            target = dependency<IDbConnection>();
+        };
+
+        because b = () =>
+        {
+            interceptor = new TestInterceptor();
+            result = sut.create_proxy_for(() => target, interceptor);
+            result.Open();
+        };
+
+        static IDbConnection target;
+        static IDbConnection result;
+        static TestInterceptor interceptor;
+    }
+
+    [Concern(typeof (CastleDynamicProxyFactory))]
+    public class when_creating_a_proxy_of_a_target_but_a_call_has_not_been_made_to_the_proxy_yet :
+        behaves_like_proxy_factory
+    {
+        it should_not_create_an_instance_of_the_target = () => TestClass.was_created.should_be_false();
+
+        context c = TestClass.reset;
+
+        because b = () =>
+        {
+            result = sut.create_proxy_for<IDisposable>(() => new TestClass());
+        };
+
+        after_all ae = TestClass.reset;
+
+        static IDisposable result;
+    }
+
+    [Concern(typeof (CastleDynamicProxyFactory))]
+    public class when_creating_a_proxy_of_a_component_that_does_not_implement_an_interface : behaves_like_proxy_factory
+    {
+        it should_return_a_proxy = () => result.should_not_be_null();
+
+        because b = () =>
+        {
+            result = sut.create_proxy_for(() => new ClassWithNoInterface());
+        };
+
+        after_all ae = TestClass.reset;
+
+        static ClassWithNoInterface result;
+    }
+
+    public class ClassWithNoInterface {}
+
+    public class TestClass : IDisposable
+    {
+        static public bool was_created;
+
+        public TestClass()
+        {
+            was_created = true;
+        }
+
+        static public void reset()
+        {
+            was_created = false;
+        }
+
+        public void Dispose() {}
+    }
+
+    public class TestInterceptor : IInterceptor
+    {
+        public bool recieved_call { get; set; }
+
+        public void Intercept(IInvocation invocation)
+        {
+            recieved_call = true;
+            invocation.Proceed();
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/ConfigurationExtensionsSpecs.cs
@@ -1,29 +1,28 @@
 using System.Data;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.utility
-{
-    public class ConfigurationExtensionsSpecs
-    {
-        public class when_configuring_an_item : concerns
-        {
-            it should_return_the_item_that_was_configured_when_completed = () => result.should_be_equal_to(item);
-
-            context c = () =>
-            {
-                configuration = an<Configuration<IDbCommand>>();
-                item = an<IDbCommand>();
-            };
-
-            because b = () =>
-            {
-                result = item.and_configure_with(configuration);
-            };
-
-            static Configuration<IDbCommand> configuration;
-            static IDbCommand item;
-            static IDbCommand result;
-        }
-    }
+namespace tests.unit.commons.utility
+{
+    public class ConfigurationExtensionsSpecs
+    {
+        public class when_configuring_an_item : concerns
+        {
+            it should_return_the_item_that_was_configured_when_completed = () => result.should_be_equal_to(item);
+
+            context c = () =>
+            {
+                configuration = an<Configuration<IDbCommand>>();
+                item = an<IDbCommand>();
+            };
+
+            because b = () =>
+            {
+                result = item.and_configure_with(configuration);
+            };
+
+            static Configuration<IDbCommand> configuration;
+            static IDbCommand item;
+            static IDbCommand result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/DateSpecs.cs
@@ -1,39 +1,42 @@
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Utility;
 
-namespace tests.unit.commons.utility
-{
-    public class DateSpecs
-    {
-    }
-
-    [Concern(typeof (Date))]
-    public class when_two_dates_that_represent_the_same_day_are_asked_if_they_are_equal : concerns_for<Date>
-    {
-        it should_return_true = () => result.should_be_equal_to(true);
-
-        public override Date create_sut()
-        {
-            return new Date(2008, 09, 25);
-        }
-
-        because b = () => { result = sut.Equals(new Date(2008, 09, 25)); };
-
-        static bool result;
-    }
-
-    [Concern(typeof (Date))]
-    public class when_an_older_date_is_compared_to_a_younger_date : concerns_for<Date>
-    {
-        it should_return_a_positive_number = () => result.should_be_greater_than(0);
-
-        public override Date create_sut()
-        {
-            return new Date(2008, 09, 25);
-        }
-
-        because b = () => { result = sut.CompareTo(new Date(2007, 01, 01)); };
-
-        static int result;
-    }
+namespace tests.unit.commons.utility
+{
+    public class DateSpecs {}
+
+    [Concern(typeof (Date))]
+    public class when_two_dates_that_represent_the_same_day_are_asked_if_they_are_equal : tests_for<Date>
+    {
+        it should_return_true = () => result.should_be_equal_to(true);
+
+        public override Date create_sut()
+        {
+            return new Date(2008, 09, 25);
+        }
+
+        because b = () =>
+        {
+            result = sut.Equals(new Date(2008, 09, 25));
+        };
+
+        static bool result;
+    }
+
+    [Concern(typeof (Date))]
+    public class when_an_older_date_is_compared_to_a_younger_date : tests_for<Date>
+    {
+        it should_return_a_positive_number = () => result.should_be_greater_than(0);
+
+        public override Date create_sut()
+        {
+            return new Date(2008, 09, 25);
+        }
+
+        because b = () =>
+        {
+            result = sut.CompareTo(new Date(2007, 01, 01));
+        };
+
+        static int result;
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/EnumerableExtensionsSpecs.cs
@@ -1,32 +1,31 @@
 using System.Collections.Generic;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.utility
-{
-    public class EnumerableExtensionsSpecs
-    {
-        [Concern(typeof (EnumerableExtensions))]
-        public class when_joining_one_collection_with_another : concerns
-        {
-            it should_return_the_items_from_both = () =>
-            {
-                results.should_contain(1);
-                results.should_contain(2);
-            };
-
-            because b = () =>
-            {
-                results = new List<int> {1}.join_with(new List<int> {2});
-            };
-
-            static IEnumerable<int> results;
-        }
-
-        [Concern(typeof (EnumerableExtensions))]
-        public class when_attemping_to_join_a_list_with_a_null_value : concerns
-        {
-            it should_return_the_original_list = () => new List<int> {1}.join_with(null).should_contain(1);
-        }
-    }
+namespace tests.unit.commons.utility
+{
+    public class EnumerableExtensionsSpecs
+    {
+        [Concern(typeof (EnumerableExtensions))]
+        public class when_joining_one_collection_with_another : concerns
+        {
+            it should_return_the_items_from_both = () =>
+            {
+                results.should_contain(1);
+                results.should_contain(2);
+            };
+
+            because b = () =>
+            {
+                results = new List<int> {1}.join_with(new List<int> {2});
+            };
+
+            static IEnumerable<int> results;
+        }
+
+        [Concern(typeof (EnumerableExtensions))]
+        public class when_attemping_to_join_a_list_with_a_null_value : concerns
+        {
+            it should_return_the_original_list = () => new List<int> {1}.join_with(null).should_contain(1);
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/ListExtensionsSpecs.cs
@@ -1,67 +1,66 @@
 using System.Collections.Generic;
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.utility
-{
-    public class ListExtensionsSpecs
-    {
-        [Concern(typeof (ListExtensions))]
-        public class when_adding_an_item_to_a_list : concerns
-        {
-            because b = () =>
-            {
-                list = new List<string>();
-                list.add("mo");
-            };
-
-            it should_add_the_item_to_the_list = () => list.should_contain("mo");
-
-            static List<string> list;
-        }
-
-        [Concern(typeof (ListExtensions))]
-        public abstract class when_asked_to_only_add_an_item_to_a_list_if_a_condition_is_not_met : concerns
-        {
-            context c = () =>
-            {
-                list = new List<string>();
-            };
-
-            static protected List<string> list;
-        }
-
-        [Concern(typeof (ListExtensions))]
-        public class when_the_condition_is_not_met : when_asked_to_only_add_an_item_to_a_list_if_a_condition_is_not_met
-        {
-            because b = () => list.add("mo").unless(x => false);
-
-            it should_add_the_item_to_the_list = () => list.should_contain("mo");
-        }
-
-        [Concern(typeof (ListExtensions))]
-        public class when_the_condition_is_met : when_asked_to_only_add_an_item_to_a_list_if_a_condition_is_not_met
-        {
-            because b = () => list.add("mo").unless(x => true);
-
-            it should_not_add_the_item_to_the_list = () => list.should_not_contain("mo");
-        }
-
-        [Concern(typeof (ListExtensions))]
-        public class when_some_of_the_items_meet_the_conditions_and_some_do_not :
-            when_asked_to_only_add_an_item_to_a_list_if_a_condition_is_not_met
-        {
-            because b = () => list
-                                  .add_range(new List<string> {"mo", "khan"})
-                                  .unless(x => x.Equals("mo"));
-
-            it should_add_the_items_that_do_not_meet_the_condition = () =>
-            {
-                list.Count.should_be_equal_to(1);
-                list.should_contain("khan");
-            };
-
-            it should_not_add_the_items_that_do_meet_the_condition = () => list.should_not_contain("mo");
-        }
-    }
+namespace tests.unit.commons.utility
+{
+    public class ListExtensionsSpecs
+    {
+        [Concern(typeof (ListExtensions))]
+        public class when_adding_an_item_to_a_list : concerns
+        {
+            because b = () =>
+            {
+                list = new List<string>();
+                list.add("mo");
+            };
+
+            it should_add_the_item_to_the_list = () => list.should_contain("mo");
+
+            static List<string> list;
+        }
+
+        [Concern(typeof (ListExtensions))]
+        public abstract class when_asked_to_only_add_an_item_to_a_list_if_a_condition_is_not_met : concerns
+        {
+            context c = () =>
+            {
+                list = new List<string>();
+            };
+
+            static protected List<string> list;
+        }
+
+        [Concern(typeof (ListExtensions))]
+        public class when_the_condition_is_not_met : when_asked_to_only_add_an_item_to_a_list_if_a_condition_is_not_met
+        {
+            because b = () => list.add("mo").unless(x => false);
+
+            it should_add_the_item_to_the_list = () => list.should_contain("mo");
+        }
+
+        [Concern(typeof (ListExtensions))]
+        public class when_the_condition_is_met : when_asked_to_only_add_an_item_to_a_list_if_a_condition_is_not_met
+        {
+            because b = () => list.add("mo").unless(x => true);
+
+            it should_not_add_the_item_to_the_list = () => list.should_not_contain("mo");
+        }
+
+        [Concern(typeof (ListExtensions))]
+        public class when_some_of_the_items_meet_the_conditions_and_some_do_not :
+            when_asked_to_only_add_an_item_to_a_list_if_a_condition_is_not_met
+        {
+            because b = () => list
+                                  .add_range(new List<string> {"mo", "khan"})
+                                  .unless(x => x.Equals("mo"));
+
+            it should_add_the_items_that_do_not_meet_the_condition = () =>
+            {
+                list.Count.should_be_equal_to(1);
+                list.should_contain("khan");
+            };
+
+            it should_not_add_the_items_that_do_meet_the_condition = () => list.should_not_contain("mo");
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/MappingExtensionsSpecs.cs
@@ -1,29 +1,31 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.utility
-{
-    [Concern(typeof (MappingExtensions))]
-    public class when_transforming_type_A_to_type_B_then_C : concerns
-    {
-        it should_return_the_correct_result = () => result.should_be_equal_to(1);
-
-        context c = () =>
-        {
-            first_mapper = an<Mapper<object, string>>();
-            second_mapper = an<Mapper<string, int>>();
-            a = 1;
-
-            when_the(first_mapper).is_told_to(x => x.map_from(a)).it_will_return("1");
-            when_the(second_mapper).is_told_to(x => x.map_from("1")).it_will_return(1);
-        };
-
-        because b = () => { result = first_mapper.then(second_mapper).map_from(a); };
-
-
-        static int result;
-        static Mapper<object, string> first_mapper;
-        static Mapper<string, int> second_mapper;
-        static object a;
-    }
+namespace tests.unit.commons.utility
+{
+    [Concern(typeof (MappingExtensions))]
+    public class when_transforming_type_A_to_type_B_then_C : concerns
+    {
+        it should_return_the_correct_result = () => result.should_be_equal_to(1);
+
+        context c = () =>
+        {
+            first_mapper = an<Mapper<object, string>>();
+            second_mapper = an<Mapper<string, int>>();
+            a = 1;
+
+            first_mapper.is_told_to(x => x.map_from(a)).it_will_return("1");
+            second_mapper.is_told_to(x => x.map_from("1")).it_will_return(1);
+        };
+
+        because b = () =>
+        {
+            result = first_mapper.then(second_mapper).map_from(a);
+        };
+
+
+        static int result;
+        static Mapper<object, string> first_mapper;
+        static Mapper<string, int> second_mapper;
+        static object a;
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/NotSpecificationSpecs.cs
@@ -1,54 +1,53 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.utility
-{
-    public class NotSpecificationSpecs
-    {
-        [Concern(typeof (NotSpecification<>))]
-        public class when_checking_if_a_condition_is_not_met : concerns_for<Specification<int>, NotSpecification<int>>
-        {
-            static protected Specification<int> criteria;
-
-            context c = () =>
-            {
-                criteria = the_dependency<Specification<int>>();
-            };
-
-            public override Specification<int> create_sut()
-            {
-                return new NotSpecification<int>(criteria);
-            }
-        }
-
-        [Concern(typeof (NotSpecification<>))]
-        public class when_a_condition_is_not_met : when_checking_if_a_condition_is_not_met
-        {
-            context c = () => when_the(criteria).is_told_to(x => x.is_satisfied_by(1)).it_will_return(false);
-
-            because b = () =>
-            {
-                result = sut.is_satisfied_by(1);
-            };
-
-            it should_return_true = () => result.should_be_true();
-
-            static bool result;
-        }
-
-        [Concern(typeof (NotSpecification<>))]
-        public class when_a_condition_is_met : when_checking_if_a_condition_is_not_met
-        {
-            context c = () => when_the(criteria).is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
-
-            because b = () =>
-            {
-                result = sut.is_satisfied_by(1);
-            };
-
-            it should_return_false = () => result.should_be_false();
-
-            static bool result;
-        }
-    }
+namespace tests.unit.commons.utility
+{
+    public class NotSpecificationSpecs
+    {
+        [Concern(typeof (NotSpecification<>))]
+        public class when_checking_if_a_condition_is_not_met : TestsFor<Specification<int>>
+        {
+            static protected Specification<int> criteria;
+
+            context c = () =>
+            {
+                criteria = dependency<Specification<int>>();
+            };
+
+            public override Specification<int> create_sut()
+            {
+                return new NotSpecification<int>(criteria);
+            }
+        }
+
+        [Concern(typeof (NotSpecification<>))]
+        public class when_a_condition_is_not_met : when_checking_if_a_condition_is_not_met
+        {
+            context c = () => criteria.is_told_to(x => x.is_satisfied_by(1)).it_will_return(false);
+
+            because b = () =>
+            {
+                result = sut.is_satisfied_by(1);
+            };
+
+            it should_return_true = () => result.should_be_true();
+
+            static bool result;
+        }
+
+        [Concern(typeof (NotSpecification<>))]
+        public class when_a_condition_is_met : when_checking_if_a_condition_is_not_met
+        {
+            context c = () => criteria.is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
+
+            because b = () =>
+            {
+                result = sut.is_satisfied_by(1);
+            };
+
+            it should_return_false = () => result.should_be_false();
+
+            static bool result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/NumericConversionsSpecs.cs
@@ -1,31 +1,42 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.utility
-{
-    [Concern(typeof (NumericConversions))]
-    public class when_converting_a_valid_string_to_a_long : concerns
-    {
-        it should_return_the_correct_result = () => result.should_be_equal_to(88L);
-
-        context c = () => { valid_numeric_string = "88"; };
-
-        because b = () => { result = valid_numeric_string.to_long(); };
-
-        static long result;
-        static string valid_numeric_string;
-    }
-
-    [Concern(typeof (NumericConversions))]
-    public class when_converting_a_valid_string_to_an_int : concerns
-    {
-        it should_return_the_correct_result = () => result.should_be_equal_to(66);
-
-        context c = () => { valid_numeric_string = "66"; };
-
-        because b = () => { result = valid_numeric_string.to_int(); };
-
-        static int result;
-        static string valid_numeric_string;
-    }
+namespace tests.unit.commons.utility
+{
+    [Concern(typeof (NumericConversions))]
+    public class when_converting_a_valid_string_to_a_long : concerns
+    {
+        it should_return_the_correct_result = () => result.should_be_equal_to(88L);
+
+        context c = () =>
+        {
+            valid_numeric_string = "88";
+        };
+
+        because b = () =>
+        {
+            result = valid_numeric_string.to_long();
+        };
+
+        static long result;
+        static string valid_numeric_string;
+    }
+
+    [Concern(typeof (NumericConversions))]
+    public class when_converting_a_valid_string_to_an_int : concerns
+    {
+        it should_return_the_correct_result = () => result.should_be_equal_to(66);
+
+        context c = () =>
+        {
+            valid_numeric_string = "66";
+        };
+
+        because b = () =>
+        {
+            result = valid_numeric_string.to_int();
+        };
+
+        static int result;
+        static string valid_numeric_string;
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/OrSpecificationSpecs.cs
@@ -1,69 +1,68 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.utility
-{
-    public class OrSpecificationSpecs
-    {
-        [Concern(typeof (OrSpecification<>))]
-        public abstract class when_checking_if_one_of_two_conditions_are_met : concerns_for<Specification<int>, OrSpecification<int>>
-        {
-            public override Specification<int> create_sut()
-            {
-                return new OrSpecification<int>(left, right);
-            }
-
-            context c = () =>
-            {
-                left = an<Specification<int>>();
-                right = an<Specification<int>>();
-            };
-
-            static protected Specification<int> left;
-            static protected Specification<int> right;
-        }
-
-        [Concern(typeof (OrSpecification<>))]
-        public class when_one_of_the_conditions_is_met : when_checking_if_one_of_two_conditions_are_met
-        {
-            it should_return_true = () => result.should_be_true();
-
-            context c = () => when_the(left).is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
-
-            because b = () =>
-            {
-                result = sut.is_satisfied_by(1);
-            };
-
-            static bool result;
-        }
-
-        [Concern(typeof (OrSpecification<>))]
-        public class when_the_second_condition_is_met : when_checking_if_one_of_two_conditions_are_met
-        {
-            it should_return_true = () => result.should_be_true();
-
-            context c = () => when_the(right).is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
-
-            because b = () =>
-            {
-                result = sut.is_satisfied_by(1);
-            };
-
-            static bool result;
-        }
-
-        [Concern(typeof (OrSpecification<>))]
-        public class when_neither_conditions_are_met : when_checking_if_one_of_two_conditions_are_met
-        {
-            it should_return_false = () => result.should_be_false();
-
-            because b = () =>
-            {
-                result = sut.is_satisfied_by(1);
-            };
-
-            static bool result;
-        }
-    }
+namespace tests.unit.commons.utility
+{
+    public class OrSpecificationSpecs
+    {
+        [Concern(typeof (OrSpecification<>))]
+        public abstract class when_checking_if_one_of_two_conditions_are_met : TestsFor<Specification<int>>
+        {
+            public override Specification<int> create_sut()
+            {
+                return new OrSpecification<int>(left, right);
+            }
+
+            context c = () =>
+            {
+                left = an<Specification<int>>();
+                right = an<Specification<int>>();
+            };
+
+            static protected Specification<int> left;
+            static protected Specification<int> right;
+        }
+
+        [Concern(typeof (OrSpecification<>))]
+        public class when_one_of_the_conditions_is_met : when_checking_if_one_of_two_conditions_are_met
+        {
+            it should_return_true = () => result.should_be_true();
+
+            context c = () => left.is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
+
+            because b = () =>
+            {
+                result = sut.is_satisfied_by(1);
+            };
+
+            static bool result;
+        }
+
+        [Concern(typeof (OrSpecification<>))]
+        public class when_the_second_condition_is_met : when_checking_if_one_of_two_conditions_are_met
+        {
+            it should_return_true = () => result.should_be_true();
+
+            context c = () => right.is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
+
+            because b = () =>
+            {
+                result = sut.is_satisfied_by(1);
+            };
+
+            static bool result;
+        }
+
+        [Concern(typeof (OrSpecification<>))]
+        public class when_neither_conditions_are_met : when_checking_if_one_of_two_conditions_are_met
+        {
+            it should_return_false = () => result.should_be_false();
+
+            because b = () =>
+            {
+                result = sut.is_satisfied_by(1);
+            };
+
+            static bool result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/PercentSpecs.cs
@@ -1,35 +1,34 @@
-using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Utility;
 
-namespace tests.unit.commons.utility
-{
-    [Concern(typeof (Percent))]
-    public class when_comparing_fifty_divided_by_one_hundred_to_fifty_percent : concerns
-    {
-        it they_should_be_equal = () => new Percent(50, 100).should_be_equal_to<Percent>(50);
-    }
-
-    [Concern(typeof (Percent))]
-    public class when_calculating_a_fractional_percentage : concerns
-    {
-        it should_return_the_correct_percentage = () => new Percent(30, 90).should_be_equal_to<Percent>(33.3);
-    }
-
-    [Concern(typeof (Percent))]
-    public class when_checking_if_50_percent_is_less_than_51_percent : concerns
-    {
-        it should_return_true = () => new Percent(50).is_less_than(new Percent(51)).should_be_true();
-    }
-
-    [Concern(typeof (Percent))]
-    public class when_checking_if_51_percent_is_less_than_50_percent : concerns
-    {
-        it should_return_false = () => new Percent(51).is_less_than(new Percent(50)).should_be_false();
-    }
-
-    [Concern(typeof (Percent))]
-    public class when_checking_if_50_percent_is_less_than_50_percent : concerns
-    {
-        it should_return_false = () => new Percent(50).is_less_than(new Percent(50)).should_be_false();
-    }
+namespace tests.unit.commons.utility
+{
+    [Concern(typeof (Percent))]
+    public class when_comparing_fifty_divided_by_one_hundred_to_fifty_percent : concerns
+    {
+        it they_should_be_equal = () => new Percent(50, 100).should_be_equal_to(50);
+    }
+
+    [Concern(typeof (Percent))]
+    public class when_calculating_a_fractional_percentage : concerns
+    {
+        it should_return_the_correct_percentage = () => new Percent(30, 90).should_be_equal_to(33.3);
+    }
+
+    [Concern(typeof (Percent))]
+    public class when_checking_if_50_percent_is_less_than_51_percent : concerns
+    {
+        it should_return_true = () => new Percent(50).is_less_than(new Percent(51)).should_be_true();
+    }
+
+    [Concern(typeof (Percent))]
+    public class when_checking_if_51_percent_is_less_than_50_percent : concerns
+    {
+        it should_return_false = () => new Percent(51).is_less_than(new Percent(50)).should_be_false();
+    }
+
+    [Concern(typeof (Percent))]
+    public class when_checking_if_50_percent_is_less_than_50_percent : concerns
+    {
+        it should_return_false = () => new Percent(50).is_less_than(new Percent(50)).should_be_false();
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/PredicateSpecificationSpecs.cs
@@ -1,20 +1,19 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.utility
-{
-    public class PredicateSpecificationSpecs
-    {
-        [Concern(typeof (PredicateSpecification<>))]
-        public class when_checking_if_a_criteria_is_met_and_it_is : concerns
-        {
-            it should_return_true = () => new PredicateSpecification<int>(x => true).is_satisfied_by(1).should_be_true();
-        }
-
-        [Concern(typeof (PredicateSpecification<>))]
-        public class when_checking_if_a_criteria_is_met_and_it_is_not : concerns
-        {
-            it should_return_true = () => new PredicateSpecification<int>(x => false).is_satisfied_by(1).should_be_false();
-        }
-    }
+namespace tests.unit.commons.utility
+{
+    public class PredicateSpecificationSpecs
+    {
+        [Concern(typeof (PredicateSpecification<>))]
+        public class when_checking_if_a_criteria_is_met_and_it_is : concerns
+        {
+            it should_return_true = () => new PredicateSpecification<int>(x => true).is_satisfied_by(1).should_be_true();
+        }
+
+        [Concern(typeof (PredicateSpecification<>))]
+        public class when_checking_if_a_criteria_is_met_and_it_is_not : concerns
+        {
+            it should_return_true = () => new PredicateSpecification<int>(x => false).is_satisfied_by(1).should_be_false();
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/SpecificationExtensionsSpecs.cs
@@ -1,78 +1,77 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.utility
-{
-    public class SpecificationExtensionsSpecs
-    {
-        public abstract class when_evaluating_two_conditions : concerns
-        {
-            context c = () =>
-            {
-                left = an<Specification<int>>();
-                right = an<Specification<int>>();
-            };
-
-            static protected Specification<int> left;
-            static protected Specification<int> right;
-        }
-
-        [Concern(typeof (SpecificationExtensions))]
-        public class when_checking_if_two_conditions_are_met_and_they_are : when_evaluating_two_conditions
-        {
-            it should_return_true = () => result.should_be_true();
-
-            context c = () =>
-            {
-                when_the(right).is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
-                when_the(left).is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
-            };
-
-            because b = () =>
-            {
-                result = left.or(right).is_satisfied_by(1);
-            };
-
-            static bool result;
-        }
-
-        [Concern(typeof (SpecificationExtensions))]
-        public class when_checking_if_one_of_two_conditions_are_met_and_the_left_one_is_not : when_evaluating_two_conditions
-        {
-            it should_return_true = () => result.should_be_true();
-
-            context c = () =>
-            {
-                when_the(right).is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
-                when_the(left).is_told_to(x => x.is_satisfied_by(1)).it_will_return(false);
-            };
-
-            because b = () =>
-            {
-                result = left.or(right).is_satisfied_by(1);
-            };
-
-            static bool result;
-        }
-
-        [Concern(typeof (SpecificationExtensions))]
-        public class when_checking_if_one_of_two_conditions_are_met_and_the_right_one_is_not :
-            when_evaluating_two_conditions
-        {
-            it should_return_true = () => result.should_be_true();
-
-            context c = () =>
-            {
-                when_the(right).is_told_to(x => x.is_satisfied_by(1)).it_will_return(false);
-                when_the(left).is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
-            };
-
-            because b = () =>
-            {
-                result = left.or(right).is_satisfied_by(1);
-            };
-
-            static bool result;
-        }
-    }
+namespace tests.unit.commons.utility
+{
+    public class SpecificationExtensionsSpecs
+    {
+        public abstract class when_evaluating_two_conditions : concerns
+        {
+            context c = () =>
+            {
+                left = an<Specification<int>>();
+                right = an<Specification<int>>();
+            };
+
+            static protected Specification<int> left;
+            static protected Specification<int> right;
+        }
+
+        [Concern(typeof (SpecificationExtensions))]
+        public class when_checking_if_two_conditions_are_met_and_they_are : when_evaluating_two_conditions
+        {
+            it should_return_true = () => result.should_be_true();
+
+            context c = () =>
+            {
+                right.is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
+                left.is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
+            };
+
+            because b = () =>
+            {
+                result = left.or(right).is_satisfied_by(1);
+            };
+
+            static bool result;
+        }
+
+        [Concern(typeof (SpecificationExtensions))]
+        public class when_checking_if_one_of_two_conditions_are_met_and_the_left_one_is_not : when_evaluating_two_conditions
+        {
+            it should_return_true = () => result.should_be_true();
+
+            context c = () =>
+            {
+                right.is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
+                left.is_told_to(x => x.is_satisfied_by(1)).it_will_return(false);
+            };
+
+            because b = () =>
+            {
+                result = left.or(right).is_satisfied_by(1);
+            };
+
+            static bool result;
+        }
+
+        [Concern(typeof (SpecificationExtensions))]
+        public class when_checking_if_one_of_two_conditions_are_met_and_the_right_one_is_not :
+            when_evaluating_two_conditions
+        {
+            it should_return_true = () => result.should_be_true();
+
+            context c = () =>
+            {
+                right.is_told_to(x => x.is_satisfied_by(1)).it_will_return(false);
+                left.is_told_to(x => x.is_satisfied_by(1)).it_will_return(true);
+            };
+
+            because b = () =>
+            {
+                result = left.or(right).is_satisfied_by(1);
+            };
+
+            static bool result;
+        }
+    }
 }
\ No newline at end of file
product/tests/unit/commons/utility/TypeExtensionsSpecs.cs
@@ -1,39 +1,38 @@
-using developwithpassion.bdd.contexts;
 using gorilla.commons.utility;
 
-namespace tests.unit.commons.utility
-{
-    public class TypeExtensionsSpecs
-    {
-        [Concern(typeof (TypeExtensions))]
-        public class when_getting_the_last_interface_for_a_type : concerns
-        {
-            it should_return_the_correct_one =
-                () => typeof (TestType).last_interface().should_be_equal_to(typeof (ITestType));
-        }
-
-        [Concern(typeof (TypeExtensions))]
-        public class when_getting_the_first_interface_for_a_type : concerns
-        {
-            it should_return_the_correct_one = () => typeof (TestType).first_interface().should_be_equal_to(typeof (IBase));
-        }
-
-        [Concern(typeof (TypeExtensions))]
-        public class when_checking_if_a_type_represents_a_generic_type_definition : concerns
-        {
-            it should_tell_the_truth = () =>
-            {
-                typeof (Registry<>).is_a_generic_type().should_be_true();
-                typeof (Registry<int>).is_a_generic_type().should_be_false();
-            };
-        }
-
-        public interface IBase {}
-
-        public class BaseType : IBase {}
-
-        public interface ITestType {}
-
-        public class TestType : BaseType, ITestType {}
-    }
+namespace tests.unit.commons.utility
+{
+    public class TypeExtensionsSpecs
+    {
+        [Concern(typeof (TypeExtensions))]
+        public class when_getting_the_last_interface_for_a_type : concerns
+        {
+            it should_return_the_correct_one =
+                () => typeof (TestType).last_interface().should_be_equal_to(typeof (ITestType));
+        }
+
+        [Concern(typeof (TypeExtensions))]
+        public class when_getting_the_first_interface_for_a_type : concerns
+        {
+            it should_return_the_correct_one = () => typeof (TestType).first_interface().should_be_equal_to(typeof (IBase));
+        }
+
+        [Concern(typeof (TypeExtensions))]
+        public class when_checking_if_a_type_represents_a_generic_type_definition : concerns
+        {
+            it should_tell_the_truth = () =>
+            {
+                typeof (Registry<>).is_a_generic_type().should_be_true();
+                typeof (Registry<int>).is_a_generic_type().should_be_false();
+            };
+        }
+
+        public interface IBase {}
+
+        public class BaseType : IBase {}
+
+        public interface ITestType {}
+
+        public class TestType : BaseType, ITestType {}
+    }
 }
\ No newline at end of file
product/tests/unit/ConcernsFor.cs
@@ -0,0 +1,13 @@
+using System;
+
+namespace tests.unit
+{
+    [Obsolete]
+    public class concerns : test {}
+
+    [Obsolete]
+    public abstract class TestsFor<T> : tests_for<T> {}
+
+    [Obsolete]
+    public abstract class tests_for<T> : runner<T> {}
+}
\ No newline at end of file
product/tests/unit/IMockFactory.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace tests.unit
+{
+    public interface IMockFactory
+    {
+        T create<T>() where T : class;
+        object create(Type type);
+    }
+}
\ No newline at end of file
product/tests/unit/RhinoMockFactory.cs
@@ -0,0 +1,18 @@
+using System;
+using Rhino.Mocks;
+
+namespace tests.unit
+{
+    public class RhinoMockFactory : IMockFactory
+    {
+        public T create<T>() where T : class
+        {
+            return MockRepository.GenerateMock<T>();
+        }
+
+        public object create(Type type)
+        {
+            return MockRepository.GenerateStub(type);
+        }
+    }
+}
\ No newline at end of file
product/tests/assertions.cs โ†’ product/tests/AssertionExtensions.cs
@@ -2,118 +2,124 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using JetBrains.Annotations;
-using MbUnit.Framework;
-
-namespace tests
-{
-    public static class Assertions
-    {
-        [AssertionMethod]
-        public static void should_be_equal_to<T>(this T item_to_validate, T expected_value)
-        {
-            Assert.AreEqual(expected_value, item_to_validate);
-        }
-
-        [AssertionMethod]
-        public static void should_be_the_same_instance_as<T>(this T left, T right)
-        {
-            Assert.IsTrue(ReferenceEquals(left, right));
-        }
-
-        [AssertionMethod]
-        public static void should_be_null<T>(this T item)
-        {
-            Assert.IsNull(item);
-        }
-
-        [AssertionMethod]
-        public static void should_not_be_null<T>(this T item) where T : class
-        {
-            Assert.IsNotNull(item);
-        }
-
-        [AssertionMethod]
-        public static void should_be_greater_than<T>(this T actual, T expected) where T : IComparable
-        {
-            Assert.GreaterThan(actual, expected);
-        }
-
-        [AssertionMethod]
-        public static void should_be_less_than(this int actual, int expected)
-        {
-            Assert.Less(actual, expected);
-        }
-
-        [AssertionMethod]
-        public static void should_contain<T>(this IEnumerable<T> items_to_peek_in_to, T items_to_look_for)
-        {
-            items_to_peek_in_to.Contains(items_to_look_for).should_be_true();
-        }
-
-        [AssertionMethod]
-        public static void should_not_contain<T>(this IEnumerable<T> items_to_peek_into, T item_to_look_for)
-        {
-            items_to_peek_into.Contains(item_to_look_for).should_be_false();
-        }
-
-        [AssertionMethod]
-        public static void should_be_an_instance_of<T>(this object item)
-        {
-            item.should_be_an_instance_of(typeof (T));
-        }
-
-        [AssertionMethod]
-        public static void should_be_an_instance_of(this object item, Type type)
-        {
-            Assert.IsInstanceOfType(type, item);
-        }
-
-        [AssertionMethod]
-        public static void should_have_thrown<TheException>(this Action action) where TheException : Exception
-        {
-            try
-            {
-                action();
-                Assert.Fail("the_exception_was_not_thrown");
-            }
-            catch (Exception e)
-            {
-                should_be_an_instance_of<TheException>(e);
-            }
-        }
-
-        [AssertionMethod]
-        public static void should_be_true(this bool item)
-        {
-            Assert.IsTrue(item);
-        }
-
-        [AssertionMethod]
-        public static void should_be_false(this bool item)
-        {
-            Assert.IsFalse(item);
-        }
-
-        [AssertionMethod]
-        public static void should_contain<T>(this IEnumerable<T> items, params T[] items_to_find)
-        {
-            foreach (var item_to_find in items_to_find)
-            {
-                items.should_contain(item_to_find);
-            }
-        }
-
-        [AssertionMethod]
-        public static void should_only_contain<T>(this IEnumerable<T> items, params T[] itemsToFind)
-        {
-            items.Count().should_be_equal_to(itemsToFind.Length);
-            items.should_contain(itemsToFind);
-        }
-
-        [AssertionMethod]
-        public static void should_be_equal_ignoring_case(this string item, string other)
-        {
-            StringAssert.AreEqualIgnoreCase(item, other);
-        }
-    }
+using NUnit.Framework;
+
+namespace tests
+{
+    static public class AssertionExtensions
+    {
+        [AssertionMethod]
+        static public void should_be_equal_to<T>(this T item_to_validate, T expected_value)
+        {
+            Assert.AreEqual(expected_value, item_to_validate);
+        }
+
+        [AssertionMethod]
+        static public void should_not_be_equal_to<T>(this T item_to_validate, T expected_value)
+        {
+            Assert.AreNotEqual(expected_value, item_to_validate);
+        }
+
+        [AssertionMethod]
+        static public void should_be_the_same_instance_as<T>(this T left, T right)
+        {
+            Assert.IsTrue(ReferenceEquals(left, right));
+        }
+
+        [AssertionMethod]
+        static public void should_be_null<T>(this T item)
+        {
+            Assert.IsNull(item);
+        }
+
+        [AssertionMethod]
+        static public void should_not_be_null<T>(this T item) where T : class
+        {
+            Assert.IsNotNull(item);
+        }
+
+        [AssertionMethod]
+        static public void should_be_greater_than<T>(this T actual, T expected) where T : IComparable
+        {
+            Assert.Greater(actual, expected);
+        }
+
+        [AssertionMethod]
+        static public void should_be_less_than(this int actual, int expected)
+        {
+            Assert.Less(actual, expected);
+        }
+
+        [AssertionMethod]
+        static public void should_contain<T>(this IEnumerable<T> items_to_peek_in_to, T items_to_look_for)
+        {
+            items_to_peek_in_to.Contains(items_to_look_for).should_be_true();
+        }
+
+        [AssertionMethod]
+        static public void should_not_contain<T>(this IEnumerable<T> items_to_peek_into, T item_to_look_for)
+        {
+            items_to_peek_into.Contains(item_to_look_for).should_be_false();
+        }
+
+        [AssertionMethod]
+        static public void should_be_an_instance_of<T>(this object item)
+        {
+            item.should_be_an_instance_of(typeof (T));
+        }
+
+        [AssertionMethod]
+        static public void should_be_an_instance_of(this object item, Type type)
+        {
+            Assert.IsInstanceOfType(type, item);
+        }
+
+        [AssertionMethod]
+        static public void should_have_thrown<TheException>(this Action action) where TheException : Exception
+        {
+            try
+            {
+                action();
+                Assert.Fail("the_exception_was_not_thrown");
+            }
+            catch (Exception e)
+            {
+                should_be_an_instance_of<TheException>(e);
+            }
+        }
+
+        [AssertionMethod]
+        static public void should_be_true(this bool item)
+        {
+            Assert.IsTrue(item);
+        }
+
+        [AssertionMethod]
+        static public void should_be_false(this bool item)
+        {
+            Assert.IsFalse(item);
+        }
+
+        [AssertionMethod]
+        static public void should_contain<T>(this IEnumerable<T> items, params T[] items_to_find)
+        {
+            foreach (var item_to_find in items_to_find)
+            {
+                items.should_contain(item_to_find);
+            }
+        }
+
+        [AssertionMethod]
+        static public void should_only_contain<T>(this IEnumerable<T> items, params T[] itemsToFind)
+        {
+            items.Count().should_be_equal_to(itemsToFind.Length);
+            items.should_contain(itemsToFind);
+        }
+
+        [AssertionMethod]
+        static public void should_be_equal_ignoring_case(this string item, string other)
+        {
+            StringAssert.AreEqualIgnoringCase(item, other);
+        }
+    }
 }
\ No newline at end of file
product/tests/Call.cs
@@ -4,7 +4,7 @@ namespace tests
 {
     public class call
     {
-        public static Action to(Action action)
+        static public Action to(Action action)
         {
             return action;
         }
product/tests/Casting.cs
@@ -0,0 +1,10 @@
+namespace tests
+{
+    static class Casting
+    {
+        static public T downcast_to<T>(this object item)
+        {
+            return (T) item;
+        }
+    }
+}
\ No newline at end of file
product/tests/ConcernAttribute.cs
@@ -1,11 +1,15 @@
 using System;
+using NUnit.Framework;
 
 namespace tests
 {
-    public class ConcernAttribute : bdddoc.core.ConcernAttribute
+    public class ConcernAttribute : TestFixtureAttribute
     {
-        public ConcernAttribute(Type concern) : base(concern)
+        public Type SUT { get; set; }
+
+        public ConcernAttribute(Type sut)
         {
+            SUT = sut;
         }
     }
 }
\ No newline at end of file
product/tests/concerns.cs
@@ -1,42 +0,0 @@
-using developwithpassion.bdd.mbunit.standard.observations;
-using Rhino.Mocks;
-
-namespace tests
-{
-    public abstract class concerns_for<Contract> : observations_for_a_sut_without_a_contract<Contract>,
-                                                   IHideObjectMembers
-    {
-        protected static T when_the<T>(T item)
-        {
-            return item;
-        }
-    }
-
-    public abstract class concerns_for<Contract, Implementation> :
-        observations_for_a_sut_with_a_contract<Contract, Implementation>, IHideObjectMembers
-        where Implementation : Contract
-    {
-        protected static T when_the<T>(T item)
-        {
-            return item;
-        }
-
-        protected static T dependency<T>() where T : class
-        {
-            return MockRepository.GenerateMock<T>();
-        }
-    }
-
-    public abstract class concerns : observations_for_a_static_sut, IHideObjectMembers
-    {
-        protected static T dependency<T>() where T : class
-        {
-            return MockRepository.GenerateMock<T>();
-        }
-
-        static protected T when_the<T>(T item)
-        {
-            return item;
-        }
-    }
-}
\ No newline at end of file
product/tests/EmptyFixture.cs
@@ -1,9 +0,0 @@
-using MbUnit.Framework;
-
-namespace tests
-{
-    [TestFixture]
-    public class EmptyFixture
-    {
-    }
-}
\ No newline at end of file
product/tests/IHideObjectMembers.cs
@@ -1,21 +0,0 @@
-using System;
-using System.ComponentModel;
-
-namespace tests
-{
-    [EditorBrowsable(EditorBrowsableState.Never)]
-    public interface IHideObjectMembers
-    {
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        Type GetType();
-
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        int GetHashCode();
-
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        string ToString();
-
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        bool Equals(object obj);
-    }
-}
\ No newline at end of file
product/tests/IntegrationAttribute.cs
@@ -1,11 +0,0 @@
-using MbUnit.Framework;
-
-namespace tests
-{
-    public class IntegrationAttribute : FixtureCategoryAttribute
-    {
-        public IntegrationAttribute() : base("Integration")
-        {
-        }
-    }
-}
\ No newline at end of file
product/tests/Iterating.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+
+namespace tests
+{
+    static class Iterating
+    {
+        static public void each<T>(this IEnumerable<T> items, Action<T> action)
+        {
+            foreach (var item in items) action(item);
+        }
+    }
+}
\ No newline at end of file
product/tests/MethodCallOccurance.cs
@@ -1,33 +1,33 @@
 using System;
 using Rhino.Mocks;
 
-namespace tests
-{
-    public class MethodCallOccurance<T> : IHideObjectMembers
-    {
-        readonly Action<T> action;
-        readonly T mock;
-
-        public MethodCallOccurance(T mock, Action<T> action)
-        {
-            this.action = action;
-            this.mock = mock;
-            mock.AssertWasCalled(action);
-        }
-
-        public void times(int number_of_times_the_method_should_have_been_called)
-        {
-            mock.AssertWasCalled(action, y => y.Repeat.Times(number_of_times_the_method_should_have_been_called));
-        }
-
-        public void only_once()
-        {
-            times(1);
-        }
-
-        public void twice()
-        {
-            times(2);
-        }
-    }
+namespace tests
+{
+    public class MethodCallOccurance<T>
+    {
+        readonly Action<T> action;
+        readonly T mock;
+
+        public MethodCallOccurance(T mock, Action<T> action)
+        {
+            this.action = action;
+            this.mock = mock;
+            mock.AssertWasCalled(action);
+        }
+
+        public void times(int number_of_times_the_method_should_have_been_called)
+        {
+            mock.AssertWasCalled(action, y => y.Repeat.Times(number_of_times_the_method_should_have_been_called));
+        }
+
+        public void only_once()
+        {
+            times(1);
+        }
+
+        public void twice()
+        {
+            times(2);
+        }
+    }
 }
\ No newline at end of file
product/tests/MockingExtensions.cs
@@ -4,50 +4,50 @@ using System.Linq;
 using Rhino.Mocks;
 using Rhino.Mocks.Interfaces;
 
-namespace tests
-{
-    public static class MockingExtensions
-    {
-        public static MethodCallOccurance<T> was_told_to<T>(this T mocked_item, Action<T> action_to_perform)
-        {
-            return new MethodCallOccurance<T>(mocked_item, action_to_perform);
-        }
-
-        public static void was_not_told_to<T>(this T mocked_item, Action<T> action_to_perform)
-        {
-            mocked_item.AssertWasNotCalled(action_to_perform);
-        }
-
-        public static IMethodOptions<R> is_told_to<T, R>(this T mocked_item, Function<T, R> action_to_perform) where T : class
-        {
-            return mocked_item.Stub(action_to_perform);
-        }
-
-        public static IMethodOptions<R> is_asked_for<T, R>(this T mock, Function<T, R> func) where T : class
-        {
-            return mock.Stub(func);
-        }
-
-        public static IMethodOptions<R> it_will_return<R>(this IMethodOptions<R> options, R item)
-        {
-            return options.Return(item);
-        }
-
-        public static IMethodOptions<IEnumerable<R>> it_will_return<R>(this IMethodOptions<IEnumerable<R>> options,
-                                                                       params R[] items)
-        {
-            return options.Return(items.AsEnumerable());
-        }
-
-        public static IMethodOptions<IEnumerable<R>> it_will_return_nothing<R>(
-            this IMethodOptions<IEnumerable<R>> options)
-        {
-            return options.it_will_return();
-        }
-
-        public static void it_will_throw<R>(this IMethodOptions<R> options, Exception item)
-        {
-            options.Throw(item);
-        }
-    }
+namespace tests
+{
+    static public class MockingExtensions
+    {
+        static public MethodCallOccurance<T> was_told_to<T>(this T mocked_item, Action<T> action_to_perform)
+        {
+            return new MethodCallOccurance<T>(mocked_item, action_to_perform);
+        }
+
+        static public void was_not_told_to<T>(this T mocked_item, Action<T> action_to_perform)
+        {
+            mocked_item.AssertWasNotCalled(action_to_perform);
+        }
+
+        static public IMethodOptions<R> is_told_to<T, R>(this T mocked_item, Function<T, R> action_to_perform) where T : class
+        {
+            return mocked_item.Stub(action_to_perform);
+        }
+
+        static public IMethodOptions<R> is_asked_for<T, R>(this T mock, Function<T, R> func) where T : class
+        {
+            return mock.Stub(func);
+        }
+
+        static public IMethodOptions<R> it_will_return<R>(this IMethodOptions<R> options, R item)
+        {
+            return options.Return(item);
+        }
+
+        static public IMethodOptions<IEnumerable<R>> it_will_return<R>(this IMethodOptions<IEnumerable<R>> options,
+                                                                       params R[] items)
+        {
+            return options.Return(items.AsEnumerable());
+        }
+
+        static public IMethodOptions<IEnumerable<R>> it_will_return_nothing<R>(
+            this IMethodOptions<IEnumerable<R>> options)
+        {
+            return options.it_will_return();
+        }
+
+        static public void it_will_throw<R>(this IMethodOptions<R> options, Exception item)
+        {
+            options.Throw(item);
+        }
+    }
 }
\ No newline at end of file
product/tests/ObservationAttribute.cs
@@ -0,0 +1,6 @@
+using NUnit.Framework;
+
+namespace tests
+{
+    public class ObservationAttribute : TestAttribute {}
+}
\ No newline at end of file
product/tests/Reflecting.cs
@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+
+namespace tests
+{
+    static class Reflecting
+    {
+        static public void class_hierarchy(this Type target, Action<Type> action)
+        {
+            action(target);
+            var base_class = target.BaseType;
+            if (null != base_class) base_class.class_hierarchy(action);
+        }
+
+        static public IEnumerable<FieldInfo> collect_fields_of_type<T>(this IReflect target)
+        {
+            return target
+                .GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
+                .Where(x => x.FieldType.Equals(typeof (T)));
+        }
+
+        static public void invoke_delegate_on(this FieldInfo field, object target)
+        {
+            field.GetValue(target).downcast_to<Delegate>().DynamicInvoke();
+        }
+
+        static public ConstructorInfo find_the_greediest_constructor(this Type type)
+        {
+            var all = type.GetConstructors();
+            ConstructorInfo greediest = null;
+            foreach (var constructor in all)
+            {
+                if (null == greediest)
+                {
+                    greediest = constructor;
+                    continue;
+                }
+                if (constructor.GetParameters().Length > greediest.GetParameters().Length)
+                {
+                    greediest = constructor;
+                }
+            }
+            return greediest;
+        }
+    }
+}
\ No newline at end of file
product/tests/runner.cs
@@ -0,0 +1,70 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+
+namespace tests
+{
+    public delegate void after_the_sut_has_been_created();
+
+    public abstract class runner<SUT> : test
+    {
+        static IDictionary<Type, object> dependencies = new Dictionary<Type, object>();
+        ConstructorInfo greediest_constructor;
+
+        static protected SUT sut { get; private set; }
+
+        public override void initialize()
+        {
+            auto_register_dependencies();
+
+            context();
+            sut = create_sut();
+            after_create_sut();
+            because();
+        }
+
+        protected virtual void after_create_sut()
+        {
+            GetType().run_stacked<after_the_sut_has_been_created>(this);
+        }
+
+        public virtual SUT create_sut()
+        {
+            return (SUT) greediest_constructor.Invoke(dependencies.Values.ToArray());
+        }
+
+        protected void it(string should, Action<SUT> test)
+        {
+            it(should, () =>
+            {
+                test(sut);
+            });
+        }
+
+        static protected T dependency<T>() where T : class
+        {
+            if (dependencies.ContainsKey(typeof (T)))
+            {
+                return (T) dependencies[typeof (T)];
+            }
+            return mock_factory.create<T>();
+        }
+
+        void auto_register_dependencies()
+        {
+            dependencies.Clear();
+            greediest_constructor = typeof (SUT).find_the_greediest_constructor();
+            if (null == greediest_constructor) return;
+            greediest_constructor.GetParameters().each(x => register_dependency(x.ParameterType));
+        }
+
+        void register_dependency(Type dependency)
+        {
+            if (dependency.IsValueType)
+                dependencies[dependency] = Activator.CreateInstance(dependency);
+            else
+                dependencies[dependency] = mock_factory.create(dependency);
+        }
+    }
+}
\ No newline at end of file
product/tests/test.cs
@@ -0,0 +1,60 @@
+using System.Collections.Generic;
+using NUnit.Framework;
+using tests.unit;
+
+namespace tests
+{
+    public delegate void it();
+
+    public delegate void because();
+
+    public delegate void context();
+
+    public delegate void after_all();
+
+    public abstract class test
+    {
+        IDictionary<string, it> tests = new Dictionary<string, it>();
+        static public IMockFactory mock_factory = new RhinoMockFactory();
+
+        [TestFixtureSetUp]
+        public virtual void initialize()
+        {
+            context();
+            because();
+        }
+
+        [Test]
+        public void output()
+        {
+            GetType().run_all<it>(this);
+            tests.each(test => test.run());
+            GetType().run_all<after_all>(this);
+        }
+
+        protected void it(string should, it test)
+        {
+            tests[should] = test;
+        }
+
+        protected virtual void context()
+        {
+            GetType().run_stacked<context>(this);
+        }
+
+        protected virtual void because()
+        {
+            GetType().run_stacked<because>(this);
+        }
+
+        static protected T an<T>() where T : class
+        {
+            return mock_factory.create<T>();
+        }
+
+        static protected T dependency<T>() where T : class
+        {
+            return mock_factory.create<T>();
+        }
+    }
+}
\ No newline at end of file
product/tests/TestRunner.cs
@@ -0,0 +1,64 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+
+namespace tests
+{
+    static class TestRunner
+    {
+        static public void run_stacked<Delegate>(this Type target, object instance)
+        {
+            var stack = new Stack<Type>();
+            target.class_hierarchy(x => stack.Push(x));
+            stack.each(x => x.run_single<Delegate>(instance));
+        }
+
+        static public void run_single<Delegate>(this IReflect target, object instance)
+        {
+            var fields = target.collect_fields_of_type<Delegate>();
+            if (fields.Count() > 0)
+            {
+                fields
+                    .First()
+                    .GetValue(instance)
+                    .downcast_to<System.Delegate>()
+                    .DynamicInvoke();
+            }
+        }
+
+        static public void run_all<Delegate>(this IReflect target, object target_instance)
+        {
+            target
+                .collect_fields_of_type<Delegate>()
+                .each(x =>
+                {
+                    try
+                    {
+                        Console.Out.Write("{0}", x);
+                        x.invoke_delegate_on(target_instance);
+                        Console.Out.WriteLine(" :PASSED");
+                    }
+                    catch (Exception e)
+                    {
+                        throw e.InnerException;
+                    }
+                });
+        }
+
+        static public void run(this KeyValuePair<string, it> specification)
+        {
+            try
+            {
+                Console.Out.Write("it {0}", specification.Key);
+                specification.Value();
+                Console.Out.WriteLine(" :PASSED");
+            }
+            catch
+            {
+                Console.Out.WriteLine(" :FAILED");
+                throw;
+            }
+        }
+    }
+}
\ No newline at end of file
product/tests/tests.csproj
@@ -51,21 +51,13 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\build\lib\app\db40\Db4objects.Db4o.dll</HintPath>
     </Reference>
-    <Reference Include="developwithpassion.bdd, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\test\developwithpassion\developwithpassion.bdd.dll</HintPath>
-    </Reference>
-    <Reference Include="developwithpassion.commons.core.infrastructure, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\test\developwithpassion\developwithpassion.commons.core.infrastructure.dll</HintPath>
-    </Reference>
     <Reference Include="JetBrains.Annotations, Version=4.5.1181.216, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\build\lib\app\jetbrains\JetBrains.Annotations.dll</HintPath>
     </Reference>
-    <Reference Include="MbUnit.Framework, Version=2.4.2.175, Culture=neutral, PublicKeyToken=5e72ecd30bc408d5">
+    <Reference Include="nunit.framework, Version=2.5.0.9122, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\test\mbunit\MbUnit.Framework.dll</HintPath>
+      <HintPath>..\..\build\tools\nunit\nunit.framework.dll</HintPath>
     </Reference>
     <Reference Include="Rhino.Mocks, Version=3.5.0.1337, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
@@ -90,15 +82,18 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="assertions.cs" />
     <Compile Include="Call.cs" />
-    <Compile Include="ConcernAttribute.cs" />
-    <Compile Include="concerns.cs" />
-    <Compile Include="EmptyFixture.cs" />
-    <Compile Include="IHideObjectMembers.cs" />
-    <Compile Include="IntegrationAttribute.cs" />
     <Compile Include="MethodCallOccurance.cs" />
     <Compile Include="MockingExtensions.cs" />
+    <Compile Include="AssertionExtensions.cs" />
+    <Compile Include="Casting.cs" />
+    <Compile Include="ConcernAttribute.cs" />
+    <Compile Include="Iterating.cs" />
+    <Compile Include="ObservationAttribute.cs" />
+    <Compile Include="Reflecting.cs" />
+    <Compile Include="runner.cs" />
+    <Compile Include="test.cs" />
+    <Compile Include="TestRunner.cs" />
     <Compile Include="unit\client\boot\container\ComponentExclusionSpecificationSpecs.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -193,6 +188,9 @@
     <Compile Include="unit\commons\utility\PredicateSpecificationSpecs.cs" />
     <Compile Include="unit\commons\utility\SpecificationExtensionsSpecs.cs" />
     <Compile Include="unit\commons\utility\TypeExtensionsSpecs.cs" />
+    <Compile Include="unit\ConcernsFor.cs" />
+    <Compile Include="unit\IMockFactory.cs" />
+    <Compile Include="unit\RhinoMockFactory.cs" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\client\boot\boot.csproj">