Table of Contents

Class ConstraintExpression

Namespace
NUnit.Framework.Constraints
Assembly
nunit.framework.dll

ConstraintExpression represents a compound constraint in the process of being constructed from a series of syntactic elements.

Individual elements are appended to the expression as they are reognized. When a constraint is appended, it is returned as the value of the operation so that modifiers may be applied. However, any partially built expression is attached to the constraint for later resolution. When an operator is appended, the partial expression is returned. If it's a self-resolving operator, then a ResolvableConstraintExpression is returned.

public class ConstraintExpression
Inheritance
ConstraintExpression
Derived
Inherited Members

Constructors

ConstraintExpression()

Initializes a new instance of the ConstraintExpression class.

public ConstraintExpression()

ConstraintExpression(ConstraintBuilder)

Initializes a new instance of the ConstraintExpression class passing in a ConstraintBuilder, which may be pre-populated.

public ConstraintExpression(ConstraintBuilder builder)

Parameters

builder ConstraintBuilder

The builder.

Fields

builder

The ConstraintBuilder holding the elements recognized so far

protected ConstraintBuilder builder

Field Value

ConstraintBuilder

Properties

All

Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if all of them succeed.

public ConstraintExpression All { get; }

Property Value

ConstraintExpression

BinarySerializable

Returns a constraint that tests whether an object graph is serializable in binary format.

public BinarySerializableConstraint BinarySerializable { get; }

Property Value

BinarySerializableConstraint

Count

Returns a new ConstraintExpression, which will apply the following constraint to the Count property of the object being tested.

public ResolvableConstraintExpression Count { get; }

Property Value

ResolvableConstraintExpression

Empty

Returns a constraint that tests for empty

public EmptyConstraint Empty { get; }

Property Value

EmptyConstraint

Exist

Returns a constraint that succeeds if the value is a file or directory and it exists.

public Constraint Exist { get; }

Property Value

Constraint

False

Returns a constraint that tests for False

public FalseConstraint False { get; }

Property Value

FalseConstraint

InnerException

Returns a new ConstraintExpression, which will apply the following constraint to the InnerException property of the object being tested.

public ResolvableConstraintExpression InnerException { get; }

Property Value

ResolvableConstraintExpression

Length

Returns a new ConstraintExpression, which will apply the following constraint to the Length property of the object being tested.

public ResolvableConstraintExpression Length { get; }

Property Value

ResolvableConstraintExpression

Message

Returns a new ConstraintExpression, which will apply the following constraint to the Message property of the object being tested.

public ResolvableConstraintExpression Message { get; }

Property Value

ResolvableConstraintExpression

NaN

Returns a constraint that tests for NaN

public NaNConstraint NaN { get; }

Property Value

NaNConstraint

Negative

Returns a constraint that tests for a negative value

public LessThanConstraint Negative { get; }

Property Value

LessThanConstraint

No

Returns a ConstraintExpression that negates any following constraint.

public ConstraintExpression No { get; }

Property Value

ConstraintExpression

None

Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if all of them fail.

public ConstraintExpression None { get; }

Property Value

ConstraintExpression

Not

Returns a ConstraintExpression that negates any following constraint.

public ConstraintExpression Not { get; }

Property Value

ConstraintExpression

Null

Returns a constraint that tests for null

public NullConstraint Null { get; }

Property Value

NullConstraint

Ordered

Returns a constraint that tests whether a collection is ordered

public CollectionOrderedConstraint Ordered { get; }

Property Value

CollectionOrderedConstraint

Positive

Returns a constraint that tests for a positive value

public GreaterThanConstraint Positive { get; }

Property Value

GreaterThanConstraint

Some

Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if at least one of them succeeds.

public ConstraintExpression Some { get; }

Property Value

ConstraintExpression

True

Returns a constraint that tests for True

public TrueConstraint True { get; }

Property Value

TrueConstraint

Unique

Returns a constraint that tests whether a collection contains all unique items.

public UniqueItemsConstraint Unique { get; }

Property Value

UniqueItemsConstraint

With

With is currently a NOP - reserved for future use.

public ConstraintExpression With { get; }

Property Value

ConstraintExpression

XmlSerializable

Returns a constraint that tests whether an object graph is serializable in xml format.

public XmlSerializableConstraint XmlSerializable { get; }

Property Value

XmlSerializableConstraint

Methods

Append(Constraint)

Appends a constraint to the expression and returns that constraint, which is associated with the current state of the expression being built. Note that the constraint is not reduced at this time. For example, if there is a NotOperator on the stack we don't reduce and return a NotConstraint. The original constraint must be returned because it may support modifiers that are yet to be applied.

public Constraint Append(Constraint constraint)

Parameters

constraint Constraint

Returns

Constraint

Append(ConstraintOperator)

Appends an operator to the expression and returns the resulting expression itself.

public ConstraintExpression Append(ConstraintOperator op)

Parameters

op ConstraintOperator

Returns

ConstraintExpression

Append(SelfResolvingOperator)

Appends a self-resolving operator to the expression and returns a new ResolvableConstraintExpression.

public ResolvableConstraintExpression Append(SelfResolvingOperator op)

Parameters

op SelfResolvingOperator

Returns

ResolvableConstraintExpression

AssignableFrom(Type)

Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument.

public AssignableFromConstraint AssignableFrom(Type expectedType)

Parameters

expectedType Type

Returns

AssignableFromConstraint

AssignableFrom<TExpected>()

Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument.

public AssignableFromConstraint AssignableFrom<TExpected>()

Returns

AssignableFromConstraint

Type Parameters

TExpected

AssignableTo(Type)

Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument.

public AssignableToConstraint AssignableTo(Type expectedType)

Parameters

expectedType Type

Returns

AssignableToConstraint

AssignableTo<TExpected>()

Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument.

public AssignableToConstraint AssignableTo<TExpected>()

Returns

AssignableToConstraint

Type Parameters

TExpected

AtLeast(object)

Returns a constraint that tests whether the actual value is greater than or equal to the suppled argument

public GreaterThanOrEqualConstraint AtLeast(object expected)

Parameters

expected object

Returns

GreaterThanOrEqualConstraint

AtMost(object)

Returns a constraint that tests whether the actual value is less than or equal to the suppled argument

public LessThanOrEqualConstraint AtMost(object expected)

Parameters

expected object

Returns

LessThanOrEqualConstraint

Attribute(Type)

Returns a new AttributeConstraint checking for the presence of a particular attribute on an object.

public ResolvableConstraintExpression Attribute(Type expectedType)

Parameters

expectedType Type

Returns

ResolvableConstraintExpression

Attribute<TExpected>()

Returns a new AttributeConstraint checking for the presence of a particular attribute on an object.

public ResolvableConstraintExpression Attribute<TExpected>()

Returns

ResolvableConstraintExpression

Type Parameters

TExpected

Contain(string)

Returns a new ContainsConstraint. This constraint will, in turn, make use of the appropriate second-level constraint, depending on the type of the actual argument. This overload is only used if the item sought is a string, since any other type implies that we are looking for a collection member.

public ContainsConstraint Contain(string expected)

Parameters

expected string

Returns

ContainsConstraint

Contains(object)

Returns a new CollectionContainsConstraint checking for the presence of a particular object in the collection.

public CollectionContainsConstraint Contains(object expected)

Parameters

expected object

Returns

CollectionContainsConstraint

Contains(string)

Returns a new ContainsConstraint. This constraint will, in turn, make use of the appropriate second-level constraint, depending on the type of the actual argument. This overload is only used if the item sought is a string, since any other type implies that we are looking for a collection member.

public ContainsConstraint Contains(string expected)

Parameters

expected string

Returns

ContainsConstraint

ContainsSubstring(string)

Returns a constraint that succeeds if the actual value contains the substring supplied as an argument.

[Obsolete("Deprecated, use Contains")]
public SubstringConstraint ContainsSubstring(string expected)

Parameters

expected string

Returns

SubstringConstraint

EndWith(string)

Returns a constraint that succeeds if the actual value ends with the substring supplied as an argument.

public EndsWithConstraint EndWith(string expected)

Parameters

expected string

Returns

EndsWithConstraint

EndsWith(string)

Returns a constraint that succeeds if the actual value ends with the substring supplied as an argument.

public EndsWithConstraint EndsWith(string expected)

Parameters

expected string

Returns

EndsWithConstraint

EqualTo(object)

Returns a constraint that tests two items for equality

public EqualConstraint EqualTo(object expected)

Parameters

expected object

Returns

EqualConstraint

EquivalentTo(IEnumerable)

Returns a constraint that tests whether the actual value is a collection containing the same elements as the collection supplied as an argument.

public CollectionEquivalentConstraint EquivalentTo(IEnumerable expected)

Parameters

expected IEnumerable

Returns

CollectionEquivalentConstraint

Exactly(int)

Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding only if a specified number of them succeed.

public ConstraintExpression Exactly(int expectedCount)

Parameters

expectedCount int

Returns

ConstraintExpression

GreaterThan(object)

Returns a constraint that tests whether the actual value is greater than the suppled argument

public GreaterThanConstraint GreaterThan(object expected)

Parameters

expected object

Returns

GreaterThanConstraint

GreaterThanOrEqualTo(object)

Returns a constraint that tests whether the actual value is greater than or equal to the suppled argument

public GreaterThanOrEqualConstraint GreaterThanOrEqualTo(object expected)

Parameters

expected object

Returns

GreaterThanOrEqualConstraint

InRange(IComparable, IComparable)

Returns a constraint that tests whether the actual value falls within a specified range.

public RangeConstraint InRange(IComparable from, IComparable to)

Parameters

from IComparable
to IComparable

Returns

RangeConstraint

InstanceOf(Type)

Returns a constraint that tests whether the actual value is of the type supplied as an argument or a derived type.

public InstanceOfTypeConstraint InstanceOf(Type expectedType)

Parameters

expectedType Type

Returns

InstanceOfTypeConstraint

InstanceOf<TExpected>()

Returns a constraint that tests whether the actual value is of the type supplied as an argument or a derived type.

public InstanceOfTypeConstraint InstanceOf<TExpected>()

Returns

InstanceOfTypeConstraint

Type Parameters

TExpected

LessThan(object)

Returns a constraint that tests whether the actual value is less than the suppled argument

public LessThanConstraint LessThan(object expected)

Parameters

expected object

Returns

LessThanConstraint

LessThanOrEqualTo(object)

Returns a constraint that tests whether the actual value is less than or equal to the suppled argument

public LessThanOrEqualConstraint LessThanOrEqualTo(object expected)

Parameters

expected object

Returns

LessThanOrEqualConstraint

Match(string)

Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument.

public RegexConstraint Match(string pattern)

Parameters

pattern string

Returns

RegexConstraint

Matches(IResolveConstraint)

Returns the constraint provided as an argument - used to allow custom custom constraints to easily participate in the syntax.

public Constraint Matches(IResolveConstraint constraint)

Parameters

constraint IResolveConstraint

Returns

Constraint

Matches(string)

Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument.

public RegexConstraint Matches(string pattern)

Parameters

pattern string

Returns

RegexConstraint

Matches<TActual>(Predicate<TActual>)

Returns the constraint provided as an argument - used to allow custom custom constraints to easily participate in the syntax.

public Constraint Matches<TActual>(Predicate<TActual> predicate)

Parameters

predicate Predicate<TActual>

Returns

Constraint

Type Parameters

TActual

Member(object)

Returns a new CollectionContainsConstraint checking for the presence of a particular object in the collection.

public CollectionContainsConstraint Member(object expected)

Parameters

expected object

Returns

CollectionContainsConstraint

Property(string)

Returns a new PropertyConstraintExpression, which will either test for the existence of the named property on the object being tested or apply any following constraint to that property.

public ResolvableConstraintExpression Property(string name)

Parameters

name string

Returns

ResolvableConstraintExpression

SameAs(object)

Returns a constraint that tests that two references are the same object

public SameAsConstraint SameAs(object expected)

Parameters

expected object

Returns

SameAsConstraint

SamePath(string)

Returns a constraint that tests whether the path provided is the same as an expected path after canonicalization.

public SamePathConstraint SamePath(string expected)

Parameters

expected string

Returns

SamePathConstraint

SamePathOrUnder(string)

Returns a constraint that tests whether the path provided is the same path or under an expected path after canonicalization.

public SamePathOrUnderConstraint SamePathOrUnder(string expected)

Parameters

expected string

Returns

SamePathOrUnderConstraint

StartWith(string)

Returns a constraint that succeeds if the actual value starts with the substring supplied as an argument.

public StartsWithConstraint StartWith(string expected)

Parameters

expected string

Returns

StartsWithConstraint

StartsWith(string)

Returns a constraint that succeeds if the actual value starts with the substring supplied as an argument.

public StartsWithConstraint StartsWith(string expected)

Parameters

expected string

Returns

StartsWithConstraint

StringContaining(string)

Returns a constraint that succeeds if the actual value contains the substring supplied as an argument.

[Obsolete("Deprecated, use Contains")]
public SubstringConstraint StringContaining(string expected)

Parameters

expected string

Returns

SubstringConstraint

StringEnding(string)

Returns a constraint that succeeds if the actual value ends with the substring supplied as an argument.

[Obsolete("Deprecated, use Does.EndWith or EndsWith")]
public EndsWithConstraint StringEnding(string expected)

Parameters

expected string

Returns

EndsWithConstraint

StringMatching(string)

Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument.

[Obsolete("Deprecated, use Does.Match or Matches")]
public RegexConstraint StringMatching(string pattern)

Parameters

pattern string

Returns

RegexConstraint

StringStarting(string)

Returns a constraint that succeeds if the actual value starts with the substring supplied as an argument.

[Obsolete("Deprecated, use Does.StartWith or StartsWith")]
public StartsWithConstraint StringStarting(string expected)

Parameters

expected string

Returns

StartsWithConstraint

SubPathOf(string)

Returns a constraint that tests whether the path provided is the a subpath of the expected path after canonicalization.

public SubPathConstraint SubPathOf(string expected)

Parameters

expected string

Returns

SubPathConstraint

SubsetOf(IEnumerable)

Returns a constraint that tests whether the actual value is a subset of the collection supplied as an argument.

public CollectionSubsetConstraint SubsetOf(IEnumerable expected)

Parameters

expected IEnumerable

Returns

CollectionSubsetConstraint

ToString()

Returns a string representation of the expression as it currently stands. This should only be used for testing, since it has the side-effect of resolving the expression.

public override string ToString()

Returns

string

TypeOf(Type)

Returns a constraint that tests whether the actual value is of the exact type supplied as an argument.

public ExactTypeConstraint TypeOf(Type expectedType)

Parameters

expectedType Type

Returns

ExactTypeConstraint

TypeOf<TExpected>()

Returns a constraint that tests whether the actual value is of the exact type supplied as an argument.

public ExactTypeConstraint TypeOf<TExpected>()

Returns

ExactTypeConstraint

Type Parameters

TExpected