public void CreateValidators_DoesNotGetsNumericValidator_ForUnsupportedTypes(Type modelType) { // Arrange var provider = new NumericClientModelValidatorProvider(); var metadata = _metadataProvider.GetMetadataForType(modelType); var providerContext = new ClientValidatorProviderContext(metadata, GetValidatorItems(metadata)); // Act provider.CreateValidators(providerContext); // Assert Assert.Empty(providerContext.Results); }
public void CreateValidators_GetsNumericValidator_ForNumericType(Type modelType) { // Arrange var provider = new NumericClientModelValidatorProvider(); var metadata = _metadataProvider.GetMetadataForType(modelType); var providerContext = new ClientValidatorProviderContext(metadata, GetValidatorItems(metadata)); // Act provider.CreateValidators(providerContext); // Assert var validatorItem = Assert.Single(providerContext.Results); Assert.IsType <NumericClientModelValidator>(validatorItem.Validator); }
public void CreateValidators_DoesNotAddDuplicateValidators() { // Arrange var provider = new NumericClientModelValidatorProvider(); var metadata = _metadataProvider.GetMetadataForType(typeof(float)); var items = GetValidatorItems(metadata); var expectedValidatorItem = new ClientValidatorItem { Validator = new NumericClientModelValidator(), IsReusable = true }; items.Add(expectedValidatorItem); var providerContext = new ClientValidatorProviderContext(metadata, items); // Act provider.CreateValidators(providerContext); // Assert var validatorItem = Assert.Single(providerContext.Results); Assert.Same(expectedValidatorItem.Validator, validatorItem.Validator); }