Click or drag to resize

NotChangedAssertionsNotChangedExcept Method (SmartAssertPlaceHolder)

Creates an Assertion that ensure object public properties did not change, except the one involved in the Act part of your test.

Namespace:  SmartTests.Assertions
Assembly:  SmartTests (in SmartTests.dll) Version: 1.7.0
Syntax
public static Assertion NotChangedExcept(
	this SmartAssertPlaceHolder this
)

Parameters

this
Type: SmartTestsSmartAssertPlaceHolder
The dummy place holder for all Smart Assertions.

Return Value

Type: Assertion
The 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
ExceptionCondition
BadTestException If the Act does not involve a property nor field.
SmartTestException If any public property, of the instance involved in the Act, except the property implied in the Act, have changed.
Remarks
This Assertion ensures that:
  1. Before the Act -

    If there is no public property involved in the Act, a BadTestException is thrown.

  2. After the Act -

    If a public property changed during the Act (except the one involved in the Act itself), a SmartTestException is thrown.

Examples
In this example, the Smart Assertion verifies that no public property of mc, except MyProperty changed while assigning MyProperty.
[Test]
public void CopyFromTest()
{
    var mc = new MyClass();
    RunTest( ValidValue.IsValid,
             Assign( () => mc.MyProperty, 10 ),
             SmartAssert.NotChangedExcept() );
}
See Also