<PackageReference Include="NUnit" Version="3.0.0-rc" />

ConstraintBuilder

ConstraintBuilder maintains the stacks that are used in processing a ConstraintExpression. An OperatorStack is used to hold operators that are waiting for their operands to be reorganized. a ConstraintStack holds input constraints as well as the results of each operator applied.
public class ConstraintStack

ConstraintStack is a type-safe stack for holding Constraints

public class OperatorStack

OperatorStack is a type-safe stack for holding ConstraintOperators

Initializes a new instance of the ConstraintBuilder class.

public void Append(ConstraintOperator op)

Appends the specified operator to the expression by first reducing the operator stack and then pushing the new operator on the stack.

public void Append(Constraint constraint)

Appends the specified constraint to the expression by pushing it on the constraint stack.

Resolves this instance, returning a Constraint. If the Builder is not currently in a resolvable state, an exception is thrown.