Click or drag to resize

SmartTestErrorCaseTParam, T Method (ExpressionFuncTParam, EnumTypeHelperPlaceHolderT, T)

Creates an instance of Case class for a specific parameter path to manage errors.

Namespace:  SmartTests
Assembly:  SmartTests (in SmartTests.dll) Version: 1.12.0
public static Case ErrorCase<TParam, T>(
	Expression<Func<TParam, EnumTypeHelperPlaceHolder<T>>> path,
	out T value
where T : struct, new(), IComparable


Type: System.Linq.ExpressionsExpressionFuncTParam, EnumTypeHelperPlaceHolderT
An Expression of the path and the criteria for the parameter of the method to test.
Type: T
One random value from the provided values in the equivalence class.

Type Parameters

The type of the parameter of the method to test.
The type of the parameter

Return Value

Type: Case
The newly created Case.

Warning: Not all lambda can be used.

It has to have 2 constraints:

  1. Valid Parameter Name -
  2. Valid Parameter Type -
  3. Valid Path -
static class DateTimeHelper
    public static bool IsWeekEnd(DateTime date)
        return date.DayOfWeek == DayOfWeek.Saturday ||
               date.DayOfWeek == DayOfWeek.Sunday;


private static DateTime GenerateDateOnWeekDay( DayOfWeek day )
    var result = DateTime.Now;
    return result.AddDays( day - result.DayOfWeek );

public void WeekEndTest()
    // You will have a warning because you do not test other days of the week
    var result = RunTest( ErrorCase( (DateTime date) => date.DayOfWeek.Values( DayOfWeek.Saturday, DayOfWeek.Sunday ), out var value ),
                          () => DateTimeHelper.IsWeekEnd( GenerateDateOnWeekDay( value ) ) );

    Assert.IsTrue( result );
See Also