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

AllItemsConstraint

AllItemsConstraint applies another constraint to each item in a collection, succeeding if they all succeed.
using NUnit.Framework.Internal; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; namespace NUnit.Framework.Constraints { [NullableContext(1)] [Nullable(0)] public class AllItemsConstraint : PrefixConstraint, IEnumerableConstraint, IConstraint, IResolveConstraint { public override string DisplayName => "All"; public AllItemsConstraint(IConstraint itemConstraint) : base(itemConstraint, "all items") { } public override ConstraintResult ApplyTo<[Nullable(2)] TActual>(TActual actual) { IEnumerable source = ConstraintUtils.RequireActual<IEnumerable>(actual, "actual"); Type type = TypeHelper.FindPrimaryEnumerableInterfaceGenericTypeArgument(typeof(TActual)); if ((object)type != null && !(type == typeof(object))) return Reflect.InvokeApplyToEnumerable(this, actual, type); return ApplyToEnumerable(actual, source.Cast<object>()); } public ConstraintResult ApplyToEnumerable<[Nullable(2)] TActual, [Nullable(2)] TItem>(TActual actual, IEnumerable<TItem> enumerable) { int num = 0; foreach (TItem item in enumerable) { if (!base.BaseConstraint.ApplyTo(item).IsSuccess) return new EachItemConstraintResult(this, actual, item, num); num++; } return new ConstraintResult(this, actual, ConstraintStatus.Success); } } }