Click or drag to resize

SmartTestRunTestT Method (Case, ExpressionFuncActContext, T, Assertion)

Executes the Act part of the test, and its related Smart Assertions, that involves implicit declarations for Assertions.

Namespace:  SmartTests
Assembly:  SmartTests (in SmartTests.dll) Version: 1.9.0
Syntax
public static T RunTest<T>(
	Case cases,
	Expression<Func<ActContext, T>> act,
	params Assertion[] assertions
)

Parameters

cases
Type: SmartTestsCase
The Criteria expression for the tested expression.
act
Type: System.Linq.ExpressionsExpressionFuncActContext, T
A lambda expression representing the tested expression with an ActContext.
assertions
Type: SmartTestsAssertion
The Smart Assertions for this act.

Type Parameters

T
The Type of the expression in the Act part of the test.

Return Value

Type: T
The value of the expression of the act.
Exceptions
ExceptionCondition
SmartTestExceptionIn case a Smart Assertion fails after the act.
BadTestExceptionIn case a Smart Assertion fails before the act.
Remarks
If you need to specify Criteria expressions for multiple parameters, you have to use RunTestT(Case, ExpressionFuncActContext, T, Assertion) instead.
Examples

In this example, the WaitContextHandle(SmartAssertPlaceHolder, Double) wait for the implicit wait handle set by SetHandle(ActContext).

[Test]
public void MyMethodTest()
{
  var mc = new MyClass( 300 );

  var result = RunTest( AnyValue.IsValid,
                        ctx => mc.Method( ctx.SetHandle ),
                        SmartAssert.Within( 100 ),
                        SmartAssert.WaitContextHandle( 1000 ) );

  Assert.IsTrue( result );
  Assert.IsTrue( mc.Done ); // The method runs the parallel code (ctx.SetHandle) to its end.
  Assert.IsNull( mc.Exception ); // There was no exception in the parallel code thread.
}
See Also

Reference

SmartTestRunTestT(Case, ExpressionFuncActContext, T, Assertion)