Constraint Class

Summary

The Constraint class is the base of all built-in constraints within TCLite. The class models a constraint, which puts no limitations on the type of actual value it is able to handle.
graph BT Type-->Base0["object"] Type-.->Interface0["IConstraint"] click Interface0 "/tc-lite/api/TCLite.Constraints/IConstraint" Type-.->Interface1["IResolveConstraint"] click Interface1 "/tc-lite/api/TCLite.Constraints/IResolveConstraint" Type["Constraint"] class Type type-node Derived0["ExactCountConstraint"]-->Type click Derived0 "/tc-lite/api/TCLite.Constraints/ExactCountConstraint" Derived1["ThrowsNothingConstraint"]-->Type click Derived1 "/tc-lite/api/TCLite.Constraints/ThrowsNothingConstraint" Derived2["NullConstraint"]-->Type click Derived2 "/tc-lite/api/TCLite.Constraints/NullConstraint" Derived3["PrefixConstraint"]-->Type click Derived3 "/tc-lite/api/TCLite.Constraints/PrefixConstraint" Derived4["ExpectedValueConstraint<TExpected>"]-->Type click Derived4 "/tc-lite/api/TCLite.Constraints/ExpectedValueConstraint_1" Derived5["PropertyExistsConstraint"]-->Type click Derived5 "/tc-lite/api/TCLite.Constraints/PropertyExistsConstraint" Derived6["ThrowsExceptionConstraint"]-->Type click Derived6 "/tc-lite/api/TCLite.Constraints/ThrowsExceptionConstraint" Derived7["EmptyConstraint"]-->Type click Derived7 "/tc-lite/api/TCLite.Constraints/EmptyConstraint" Derived8["BinaryConstraint"]-->Type click Derived8 "/tc-lite/api/TCLite.Constraints/BinaryConstraint" Derived9["RangeConstraint<TExpected>"]-->Type click Derived9 "/tc-lite/api/TCLite.Constraints/RangeConstraint_1" Derived10["ConditionConstraint<TActual>"]-->Type click Derived10 "/tc-lite/api/TCLite.Constraints/ConditionConstraint_1" Derived11["RegexConstraint"]-->Type click Derived11 "/tc-lite/api/TCLite.Constraints/RegexConstraint"

Syntax

public abstract class Constraint : IConstraint, IResolveConstraint

Remarks

This file contains Modifers that apply to all constraints as well as the two Binary Operators.

Constructors

Name Summary
Constraint(object[]) Construct a constraint with optional arguments

Properties

Name Value Summary
And ConstraintExpression
Returns a ConstraintExpression by appending And to the current constraint.
Arguments object[]
Arguments provided to this Constraint, for use in formatting the description.
Builder ConstraintBuilder
A ConstraintBuilder holding this constraint. If not null the constraint is under construction.
Description string
The Description of what this constraint tests, for use in messages and in the ConstraintResult.
DisplayName string
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.
Or ConstraintExpression
Returns a ConstraintExpression by appending Or to the current constraint.
With ConstraintExpression
Returns a ConstraintExpression by appending And to the current constraint.

Methods

Name Value Summary
ApplyConstraint<T>(ActualValueDelegate<T>) ConstraintResult
Applies the constraint to 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.
ApplyConstraint<T>(T) ConstraintResult
Applies the constraint to the value to be tested and returns a ConstraintResult.
ApplyConstraint<T>(T) ConstraintResult
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.
ApplyTo<T>(ActualValueDelegate<T>) ConstraintResult
Validates the ActualValueDelegate and applies the constraint to the value it returns.
ApplyTo<T>(T) ConstraintResult
Validates the actual value argument and applies the constraint to it, returning a ConstraintResult.
ApplyTo<T>(T) ConstraintResult
Validates the actual value argument and applies the constraint to it, returning a ConstraintResult.
GetStringRepresentation() string
Returns the string representation of this constraint
ToString() string
Default override of ToString returns the constraint DisplayName followed by any arguments within angle brackets.
ValidateActualValue(object) void
Validate the actual value argument based on what the particular constraint allows. The default implementation does nothing, implying that the constraint can handle any Type as well as null values.