| ChangeAssertionsChangeT Method |
Creates an
Assertion that ensure relative changes to a property/indexer of an object.
Namespace:
SmartTests.Assertions
Assembly:
SmartTests (in SmartTests.dll) Version: 1.12.0
Syntax public static Assertion Change<T>(
this SmartAssertPlaceHolder _,
Expression<Func<T>> after
)
<ExtensionAttribute>
Public Shared Function Change(Of T) (
_ As SmartAssertPlaceHolder,
after As Expression(Of Func(Of T))
) As Assertion
public:
[ExtensionAttribute]
generic<typename T>
static Assertion^ Change(
SmartAssertPlaceHolder^ _,
Expression<Func<T>^>^ after
)
[<ExtensionAttribute>]
static member Change :
_ : SmartAssertPlaceHolder *
after : Expression<Func<'T>> -> Assertion
Parameters
- _
- Type: SmartTestsSmartAssertPlaceHolder
The dummy place holder for all Smart Assertions. - after
- Type: System.Linq.ExpressionsExpressionFuncT
The expression involving a property/indexer whose value should be equal to the value of the member
only after the Act.
Type Parameters
- T
- The Type of the property/indexer.
Return Value
Type:
AssertionThe newly created
Assertion.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type
SmartAssertPlaceHolder. When you use instance method syntax to call this method, omit the first parameter. For more information, see
Extension Methods (Visual Basic) or
Extension Methods (C# Programming Guide).
Exceptions Exception | Condition |
---|
SmartTestException |
if the property/indexer value AFTER the Act is not the value of the expression
after.
|
Remarks
This
Assertion ensures that:
- Before the Act -
Evaluates the after expression.
- After the Act -
Evaluates the after expression stripped of any computation so that there is
only a property/indexer call.
This value should be equal to the previously computed value (after before the
Act); otherwise a SmartTestException is thrown.
Examples
In the following example, we expect that the
mc.MyList.Count value after the Act is the value of the same
property before the Act plus 1.
[Test]
public void AddItemTest()
{
var mc = new MyClass();
RunTest( AnyValue.Valid,
() => mc.AddItem(),
SmartAssert.Change( () => mc.MyList.Count + 1 ) );
}
See Also