ReusableConstraint
ReusableConstraint wraps a constraint expression after
resolving it so that it can be reused consistently.
using System.Runtime.CompilerServices;
namespace NUnit.Framework.Constraints
{
[NullableContext(1)]
[Nullable(0)]
public class ReusableConstraint : IResolveConstraint
{
private readonly IConstraint _constraint;
public ReusableConstraint(IResolveConstraint c)
{
_constraint = c.Resolve();
}
public static implicit operator ReusableConstraint(Constraint c)
{
return new ReusableConstraint(c);
}
public override string ToString()
{
return _constraint.ToString();
}
public IConstraint Resolve()
{
return _constraint;
}
}
}