public EquivalencyResult Handle(Comparands comparands, IEquivalencyValidationContext context, IEquivalencyValidator nestedValidator) { if (!IsCollection(comparands.GetExpectedType(context.Options))) { return(EquivalencyResult.ContinueWithNext); } if (AssertSubjectIsCollection(comparands.Subject)) { var validator = new EnumerableEquivalencyValidator(nestedValidator, context) { Recursive = context.CurrentNode.IsRoot || context.Options.IsRecursive, OrderingRules = context.Options.OrderingRules }; validator.Execute(ToArray(comparands.Subject), ToArray(comparands.Expectation)); } return(EquivalencyResult.AssertionCompleted); }
private static void HandleImpl <T>(EnumerableEquivalencyValidator validator, object[] subject, IEnumerable <T> expectation) => validator.Execute(subject, expectation?.ToArray());