/// <summary> /// Initializes a new instance of the <see cref="DefaultValidationRuleResolver" />. /// </summary> public DefaultValidationRuleResolver(IbanValidatorOptions options) { _options = options ?? throw new ArgumentNullException(nameof(options)); _structureValidationFactory = new CachedStructureValidationFactory( new CompositeStructureValidationFactory( (options.Registry ?? throw new ArgumentException(Resources.ArgumentException_Registry_is_required, nameof(options))).Providers ) ); }
public void When_creating_with_null_structure_validation_factory_it_should_throw() { IStructureValidationFactory value = null; // Act // ReSharper disable once AssignNullToNotNullAttribute Action act = () => _sut.ValidationFactory = value; // Assert act.Should() .Throw <ArgumentNullException>() .Which.ParamName.Should() .Be(nameof(value)); }
public void When_creating_with_null_structure_validation_factory_it_should_throw() { IStructureValidationFactory structureValidationFactory = null; // Act // ReSharper disable once ObjectCreationAsStatement // ReSharper disable once AssignNullToNotNullAttribute Action act = () => new IbanStructure(string.Empty, structureValidationFactory); // Assert act.Should() .Throw <ArgumentNullException>() .Which.ParamName.Should() .Be(nameof(structureValidationFactory)); }
/// <summary> /// Initializes a new instance of the <see cref="IbanValidator"/> class with specified registry. /// </summary> /// <param name="registry">The IBAN registry containing IBAN/BBAN/SEPA information per country.</param> // ReSharper disable once MemberCanBePrivate.Global public IbanValidator(Lazy <IReadOnlyCollection <CountryInfo> > registry) { _registry = registry ?? throw new ArgumentNullException(nameof(registry)); _structureValidationFactory = new CachedStructureValidationFactory(new SwiftStructureValidationFactory()); _rules = new Collection <IIbanValidationRule> { new NotNullRule(), new NoIllegalCharactersRule(), new HasCountryCodeRule(), new HasIbanChecksumRule(), new IsValidCountryCodeRule(), new IsValidLengthRule(), new IsMatchingStructureRule(_structureValidationFactory), new Mod97Rule() }; }
/// <summary> /// Initializes a new instance of the <see cref="StructureSection" /> class using specified parameters. /// </summary> /// <param name="structure">The structure.</param> /// <param name="structureValidationFactory">The structure validation factory.</param> // ReSharper disable once UnusedMember.Global public BbanStructure(string structure, IStructureValidationFactory structureValidationFactory) : base(structure, structureValidationFactory) { }
public IsMatchingStructureRule(IStructureValidationFactory structureValidationFactory) { _structureValidationFactory = structureValidationFactory ?? throw new ArgumentNullException(nameof(structureValidationFactory)); }
/// <summary> /// Initializes a new instance of the <see cref="StructureSection" /> class using specified parameters. /// </summary> /// <param name="structure">The structure.</param> /// <param name="structureValidationFactory">The validation factory.</param> // ReSharper disable once UnusedMember.Global protected StructureSection(string structure, IStructureValidationFactory structureValidationFactory) { _example = string.Empty; _structure = structure ?? throw new ArgumentNullException(nameof(structure)); _structureValidationFactory = structureValidationFactory ?? throw new ArgumentNullException(nameof(structureValidationFactory)); }
public CachedStructureValidationFactory(IStructureValidationFactory innerFactory) { _innerFactory = innerFactory ?? throw new ArgumentNullException(nameof(innerFactory)); _cache = new ConcurrentDictionary <string, IStructureValidator>(); }