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

CollectionConstraint

public abstract class CollectionConstraint : Constraint
CollectionConstraint is the abstract base class for constraints that operate on collections.
using NUnit.Framework.Internal; using System; using System.Collections; namespace NUnit.Framework.Constraints { public abstract class CollectionConstraint : Constraint { protected CollectionConstraint() : base(Array.Empty<object>()) { } protected CollectionConstraint(object arg) : base(arg) { } protected static bool IsEmpty(IEnumerable enumerable) { ICollection collection = enumerable as ICollection; if (collection != null) return collection.Count == 0; IEnumerator enumerator = enumerable.GetEnumerator(); try { if (enumerator.MoveNext()) { object current = enumerator.Current; return false; } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) disposable.Dispose(); } return true; } public override ConstraintResult ApplyTo<TActual>(TActual actual) { IEnumerable collection = ConstraintUtils.RequireActual<IEnumerable>(actual, "actual", false); return new ConstraintResult(this, actual, Matches(collection)); } protected abstract bool Matches(IEnumerable collection); } }