AllItemsConstraint
AllItemsConstraint applies another constraint to each
item in a collection, succeeding if they all succeed.
using NUnit.Framework.Internal;
using System.Collections;
namespace NUnit.Framework.Constraints
{
public class AllItemsConstraint : PrefixConstraint
{
public override string DisplayName => "All";
public AllItemsConstraint(IConstraint itemConstraint)
: base(itemConstraint)
{
base.DescriptionPrefix = "all items";
}
public override ConstraintResult ApplyTo<TActual>(TActual actual)
{
foreach (object item in ConstraintUtils.RequireActual<IEnumerable>(actual, "actual", false)) {
if (!base.BaseConstraint.ApplyTo(item).IsSuccess)
return new ConstraintResult(this, actual, ConstraintStatus.Failure);
}
return new ConstraintResult(this, actual, ConstraintStatus.Success);
}
}
}