Constraint Model

Constraint-based assertions all use the Assert.That method, which has the following overloads:

Assert.That(bool condition, string message=null, params object[] args);
Assert.That(Func<bool> condition, string message=null, params object[] params);
Assert.That<TActual>(TActual actual, IResolveConstraint constraint, string message=null,;
    params object[] params);
Assert.That<TActual>(ActualValueDelegate<TActual> del, IResolveConstraint constraint,
    string message=null, object[] params);
Assert.That(TestDelegate code, IResolveConstraint constraint, string message=null,
    params object[] args);