<PackageReference Include="NUnit" Version="4.3.2" />

PredicateConstraint<T>

public class PredicateConstraint<T> : Constraint
Predicate constraint wraps a Predicate in a constraint, returning success if the predicate is true.
using NUnit.Framework.Internal; using System; using System.Reflection; using System.Runtime.CompilerServices; namespace NUnit.Framework.Constraints { [NullableContext(1)] [Nullable(0)] public class PredicateConstraint<[Nullable(2)] T> : Constraint { private readonly Predicate<T> _predicate; public override string Description { get { string name = _predicate.GetMethodInfo().Name; if (!name.StartsWith("<", StringComparison.Ordinal)) return "value matching " + name; return "value matching lambda expression"; } } public PredicateConstraint(Predicate<T> predicate) : base(Array.Empty<object>()) { _predicate = predicate; } public override ConstraintResult ApplyTo<[Nullable(2)] TActual>(TActual actual) { T obj = ConstraintUtils.RequireActual<T>((object)actual, "actual", true); return new ConstraintResult(this, actual, this._predicate(obj)); } } }