Exemplo n.º 1
0
            public void When_validating_should_call_custom_rule()
            {
                const string iban = "NL91ABNA0417164300";

                // Act
                _sut.Validate(iban);

                // Assert
                _customValidationRuleMock.Verify(m => m.Validate(It.Is <ValidationRuleContext>(ctx => ctx.Value == iban)), Times.Once);
            }
Exemplo n.º 2
0
        public void When_validating_null_value_should_not_validate()
        {
            // Act
            var actual = _validator.Validate(null);

            // Assert
            actual.Should().Be(IbanValidationResult.InvalidLength);
        }
Exemplo n.º 3
0
            public void When_validating_multiple_times_it_should_succeed()
            {
                const string iban = "NL91ABNA0417164300";

                // Act
                ValidationResult result1 = _sut.Validate(iban);
                ValidationResult result2 = _sut.Validate(iban);

                // Assert
                result1.IsValid.Should().BeTrue();
                result1.Should().BeEquivalentTo(result2);
            }
        public void When_validating_null_or_empty_value_should_not_validate(string iban)
        {
            // Act
            ValidationResult actual = Validator.Validate(iban);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                AttemptedValue = iban,
                Error          = new InvalidLengthResult()
            });
        }
Exemplo n.º 5
0
            public void When_validating_it_should_use_structure_validator_of_first_provider_that_supports_the_country_code(string iban, string expectedStructure, int expectedMockCalled)
            {
                string expectedCountryCode = iban.Substring(0, 2);

                ValidationResult actual = _sut.Validate(iban);

                actual.IsValid.Should().BeTrue();
                for (int i = 0; i < _structureFactoryMocks.Length; i++)
                {
                    _structureFactoryMocks[i]
                    .Verify(m => m.CreateValidator(
                                expectedCountryCode,
                                expectedStructure),
                            i == expectedMockCalled ? Times.Once() : Times.Never()
                            );
                }
            }
Exemplo n.º 6
0
            public void It_should_call_factory_once()
            {
                const string iban = "NL91ABNA0417164300";
                string       expectedCountryCode = iban.Substring(0, 2);

                // Act
                for (int i = 0; i < 3; i++)
                {
                    ValidationResult actual = _sut.Validate(iban);
                    actual.IsValid.Should().BeTrue();
                }

                // Assert
                _structureFactoryMock.Verify(m => m.CreateValidator(
                                                 expectedCountryCode,
                                                 "structure1"),
                                             Times.Once
                                             );
            }