public void GivenInvalidChild_WhenValidateRecursively_ThenCorrectValidationResults() { RecursiveValidator validator = new RecursiveValidator(null); List <ValidationResult> results = validator.ValidateObjectRecursively(NestedObject.WithInvalidChild()); Assert.Equal(3, results.Count); ValidationResultUtility.AssertValidationResultEquals(results[0], "The RequiredString field is required.", "Child.RequiredString"); ValidationResultUtility.AssertValidationResultEquals(results[1], "The RequiredLong field is required.", "Child.RequiredLong"); ValidationResultUtility.AssertValidationResultEquals(results[2], "The RequiredUnsignedLong field is required.", "Child.RequiredUnsignedLong"); }
public void WhenValidateRecursively_ThenNamingPolicyIsReflectedInPath() { IServiceProvider services = new ServiceCollection().AddRecursiveValidator(options => { options.ValidationNamingPolicy = new NaiveCamelCasingPolicy(); }).BuildServiceProvider(); IRecursiveValidator validator = services.GetRequiredService <IRecursiveValidator>(); List <ValidationResult> results = validator.ValidateObjectRecursively(NestedObject.WithInvalidChild()); Assert.Equal(3, results.Count); ValidationResultUtility.AssertValidationResultEquals(results[0], "The RequiredString field is required.", "child.requiredString"); ValidationResultUtility.AssertValidationResultEquals(results[1], "The RequiredLong field is required.", "child.requiredLong"); ValidationResultUtility.AssertValidationResultEquals(results[2], "The RequiredUnsignedLong field is required.", "child.requiredUnsignedLong"); }