Constraint-Based Assert Model (NUnit 2.4)

The constraint-based Assert model uses a single method of the Assert class
for all assertions. The logic necessary to carry out each assertion is
embedded in the constraint object passed as the second parameter to that
method.

Here's a very simple assert using the constraint model:

Assert.That( myString, Is.EqualTo("Hello") );

The second argument in this assertion uses one of NUnit's syntax helpers
to create an EqualConstraint. The same assertion could also be made in this form:

Assert.That( myString, new EqualConstraint("Hello") );

Using this model, all assertions are made using one of the forms of the
Assert.That() method, which has a number of overloads...

For overloads taking a constraint, the argument must be a object implementing
the IConstraint interface, which supports performing a test
on an actual value and generating appropriate messages. This interface
is described in more detail under
Custom Constraints.

NUnit provides a number of constraint classes similar to the EqualConstraint
used in the example above. Generally, these classes may be used directly or
through a syntax helper. Test fixture classes inheriting from AssertionHelper
are able to use shorter forms. The valid forms are described on the pages related to
each constraint. Note that the menu items listed to the right generally reflect the
names of the syntax helpers.