public void GetValidatorTest() { var factory = new ValidatorFactory(); var validator = factory.GetValidator(typeof(Customer)); typeof(CustomerValidator).IsInstanceOfType(validator).Should().Be.True(); }
public void ValidCustomerTest() { var customer = new Customer() { Name = "배성혁", Company = "리얼웹", Discount = 12.5m, ZipCode = "135-010" }; var factory = new ValidatorFactory(); var customerValidator = factory.GetValidator(typeof(Customer)); var result = customerValidator.Validate(customer); result.IsValid.Should().Be.True(); result.Errors.Count.Should().Be(0); }
public void InValidCustomerTest() { var customer = new Customer() { Name = "", Company = "", HasDiscount = true, }; var factory = new ValidatorFactory(); var customerValidator = factory.GetValidator(typeof(Customer)); var result = customerValidator.Validate(customer); result.IsValid.Should().Be.False(); result.Errors.Count.Should().Be.GreaterThan(0); result.Errors.RunEach(err => Console.WriteLine(err.ErrorMessage)); }
/// <summary> /// <paramref name="targetType"/>에 해당하는 <see cref="IValidator"/>를 반환합니다. /// </summary> /// <param name="targetType"></param> /// <returns></returns> public static IValidator GetValidator(this Type targetType) { targetType.ShouldNotBeNull("targetType"); return(_validators.GetOrAdd(targetType, type => _validatorFactory.GetValidator(type))); }