public void GetModelValidators_ReturnsValidatorsFromAllProviders() { // Arrange var validator1 = Mock.Of<IModelValidator>(); var validator2 = Mock.Of<IModelValidator>(); var validator3 = Mock.Of<IModelValidator>(); var provider1 = new Mock<IModelValidatorProvider>(); provider1.Setup(p => p.GetValidators(It.IsAny<ModelValidatorProviderContext>())) .Callback<ModelValidatorProviderContext>(c => { c.Validators.Add(validator1); c.Validators.Add(validator2); }); var provider2 = new Mock<IModelValidatorProvider>(); provider2.Setup(p => p.GetValidators(It.IsAny<ModelValidatorProviderContext>())) .Callback<ModelValidatorProviderContext>(c => { c.Validators.Add(validator3); }); var compositeModelValidator = new CompositeModelValidatorProvider(new[] { provider1.Object, provider2.Object }); var modelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(typeof(string)); // Act var validatorProviderContext = new ModelValidatorProviderContext(modelMetadata); compositeModelValidator.GetValidators(validatorProviderContext); // Assert Assert.Equal( new[] { validator1, validator2, validator3 }, validatorProviderContext.Validators.ToArray()); }
public void GetModelValidators_ReturnsValidatorsFromAllProviders() { // Arrange var validator1 = Mock.Of <IModelValidator>(); var validator2 = Mock.Of <IModelValidator>(); var validator3 = Mock.Of <IModelValidator>(); var provider1 = new Mock <IModelValidatorProvider>(); provider1.Setup(p => p.GetValidators(It.IsAny <ModelValidatorProviderContext>())) .Callback <ModelValidatorProviderContext>(c => { c.Validators.Add(validator1); c.Validators.Add(validator2); }); var provider2 = new Mock <IModelValidatorProvider>(); provider2.Setup(p => p.GetValidators(It.IsAny <ModelValidatorProviderContext>())) .Callback <ModelValidatorProviderContext>(c => { c.Validators.Add(validator3); }); var compositeModelValidator = new CompositeModelValidatorProvider(new[] { provider1.Object, provider2.Object }); var modelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(typeof(string)); // Act var validatorProviderContext = new ModelValidatorProviderContext(modelMetadata); compositeModelValidator.GetValidators(validatorProviderContext); // Assert Assert.Equal( new[] { validator1, validator2, validator3 }, validatorProviderContext.Validators.ToArray()); }