Esempio n. 1
0
        public void When_validating_null_value_should_not_validate()
        {
            // Act
            ValidationResult actual = _validator.Validate(null);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                Result = IbanValidationResult.InvalidLength
            });
        }
Esempio n. 2
0
        public void When_validating_iban_with_unknown_country_code_should_not_validate(string ibanWithUnknownCountryCode)
        {
            // Act
            ValidationResult actual = _validator.Validate(ibanWithUnknownCountryCode);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                Value  = ibanWithUnknownCountryCode,
                Result = IbanValidationResult.UnknownCountryCode
            });
        }
Esempio 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_iban_with_illegal_country_code_should_not_validate(string ibanWithIllegalCountryCode)
        {
            // Act
            ValidationResult actual = Validator.Validate(ibanWithIllegalCountryCode);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                AttemptedValue = ibanWithIllegalCountryCode,
                Error          = new IllegalCountryCodeCharactersResult()
            });
        }
        public void When_validating_iban_with_invalid_checksum_should_not_validate(string ibanWithInvalidChecksum)
        {
            // Act
            ValidationResult actual = Validator.Validate(ibanWithInvalidChecksum);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                AttemptedValue = ibanWithInvalidChecksum,
                Error          = new IllegalCharactersResult()
            });
        }
        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()
            });
        }
Esempio n. 7
0
        public void When_validating_iban_with_illegal_country_code_should_not_validate(string ibanWithIllegalCountryCode)
        {
            // Act
            ValidationResult actual = _validator.Validate(ibanWithIllegalCountryCode);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                Value  = ibanWithIllegalCountryCode,
                Result = IbanValidationResult.IllegalCharacters
            });
        }
        public void When_iban_contains_whitespace_should_validate(string ibanWithWhitespace)
        {
            // Act
            ValidationResult actual = Validator.Validate(ibanWithWhitespace);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                AttemptedValue = ibanWithWhitespace.StripWhitespaceOrNull(),
                Country        = Validator.SupportedCountries["NL"]
            });
        }
        public void When_validating_iban_with_unknown_country_code_should_not_validate(string ibanWithUnknownCountryCode)
        {
            // Act
            ValidationResult actual = Validator.Validate(ibanWithUnknownCountryCode);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                AttemptedValue = ibanWithUnknownCountryCode,
                Error          = new UnknownCountryCodeResult()
            });
        }
Esempio n. 10
0
        public void When_validating_tampered_iban_should_not_validate(string tamperedIban)
        {
            // Act
            ValidationResult actual = _validator.Validate(tamperedIban);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                Value   = tamperedIban,
                Result  = IbanValidationResult.InvalidCheckDigits,
                Country = _countryValidationSupport.SupportedCountries[tamperedIban.Substring(0, 2)]
            });
        }
        public void When_validating_tampered_iban_should_not_validate(string tamperedIban)
        {
            // Act
            ValidationResult actual = Validator.Validate(tamperedIban);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                AttemptedValue = tamperedIban,
                Error          = new InvalidCheckDigitsResult(),
                Country        = Validator.SupportedCountries[tamperedIban.Substring(0, 2)]
            });
        }
        public void When_validating_iban_with_incorrect_length_should_not_validate(string ibanWithIncorrectLength)
        {
            // Act
            ValidationResult actual = Validator.Validate(ibanWithIncorrectLength);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                AttemptedValue = ibanWithIncorrectLength,
                Error          = new InvalidLengthResult(),
                Country        = Validator.SupportedCountries[ibanWithIncorrectLength.Substring(0, 2)]
            });
        }
Esempio n. 13
0
        public void When_iban_contains_whitespace_should_validate(string ibanWithWhitespace)
        {
            // Act
            ValidationResult actual = _validator.Validate(ibanWithWhitespace);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                Value   = Iban.Normalize(ibanWithWhitespace),
                Result  = IbanValidationResult.Valid,
                Country = _countryValidationSupport.SupportedCountries["NL"]
            });
        }
Esempio n. 14
0
        public void When_validating_iban_with_invalid_structure_should_not_validate(string ibanWithInvalidStructure)
        {
            // Act
            ValidationResult actual = _validator.Validate(ibanWithInvalidStructure);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                Value   = ibanWithInvalidStructure,
                Result  = IbanValidationResult.InvalidStructure,
                Country = _countryValidationSupport.SupportedCountries[ibanWithInvalidStructure.Substring(0, 2)]
            });
        }
Esempio n. 15
0
        public void When_validating_iban_with_incorrect_length_should_not_validate(string ibanWithIncorrectLength)
        {
            // Act
            ValidationResult actual = _validator.Validate(ibanWithIncorrectLength);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                Value   = ibanWithIncorrectLength,
                Result  = IbanValidationResult.InvalidLength,
                Country = _countryValidationSupport.SupportedCountries[ibanWithIncorrectLength.Substring(0, 2)]
            });
        }
Esempio n. 16
0
        public void When_validating_iban_with_invalid_checksum_should_not_validate(string ibanWithInvalidChecksum)
        {
            // Act
            ValidationResult actual = _validator.Validate(ibanWithInvalidChecksum);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                Value   = ibanWithInvalidChecksum,
                Result  = IbanValidationResult.IllegalCharacters,
                Country = _countryValidationSupport.SupportedCountries[ibanWithInvalidChecksum.Substring(0, 2)]
            });
        }
Esempio n. 17
0
        public void When_validating_iban_that_allows_lowercase_it_should_validate()
        {
            const string ibanWithLowercase = "MT84MALT011000012345mtlcast001S";

            // Act
            ValidationResult actual = Validator.Validate(ibanWithLowercase);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                AttemptedValue = ibanWithLowercase.ToUpperInvariant(),
                Country        = Validator.SupportedCountries[ibanWithLowercase.Substring(0, 2)]
            });
        }
Esempio n. 18
0
        public void When_validating_iban_with_invalid_structure_should_not_validate()
        {
            const string ibanWithInvalidStructure = "NL91ABNA041716430A"; // Last character should be digit.

            // Act
            ValidationResult actual = Validator.Validate(ibanWithInvalidStructure);

            // Assert
            actual.Should().BeEquivalentTo(new ValidationResult
            {
                AttemptedValue = ibanWithInvalidStructure,
                Error          = new InvalidStructureResult(),
                Country        = Validator.SupportedCountries[ibanWithInvalidStructure.Substring(0, 2)]
            });
        }
Esempio n. 19
0
        public void When_validating_good_iban_should_validate(string countryCode, string iban)
        {
            var expectedResult = new ValidationResult
            {
                Value   = iban,
                Result  = IbanValidationResult.Valid,
                Country = _countryValidationSupport.SupportedCountries[iban.Substring(0, 2)]
            };

            // Act
            ValidationResult actual = _validator.Validate(iban);

            // Assert
            actual.Should().BeEquivalentTo(expectedResult);
        }
#pragma warning disable xUnit1026 // Theory methods should use all of their parameters
#pragma warning disable IDE0060   // Remove unused parameter
        public void When_validating_good_iban_should_validate(string countryCode, string iban)
#pragma warning restore IDE0060   // Remove unused parameter
#pragma warning restore xUnit1026 // Theory methods should use all of their parameters
        {
            var expectedResult = new ValidationResult
            {
                AttemptedValue = iban,
                Country        = Validator.SupportedCountries[iban.Substring(0, 2)]
            };

            // Act
            ValidationResult actual = Validator.Validate(iban);

            // Assert
            actual.Should().BeEquivalentTo(expectedResult);
        }
Esempio n. 21
0
        [InlineData("AD12000120359100100")]      // Invalid
        public void Given_iban_when_parsing_should_give_same_result_as_validator(string attemptedIbanValue)
        {
            // Act
            ValidationResult validatorResult = _ibanValidator.Validate(attemptedIbanValue);
            bool             tryParseResult  = _sut.TryParse(attemptedIbanValue, out Iban iban, out ValidationResult tryParseValidationResult, out Exception _);

            // Assert
            validatorResult.IsValid.Should().Be(tryParseResult);
            validatorResult.Should().BeEquivalentTo(tryParseValidationResult);
            if (tryParseResult)
            {
                iban.Should().NotBeNull();
            }
            else
            {
                iban.Should().BeNull();
            }
        }
Esempio n. 22
0
            public void Given_custom_rule_fails_when_validating_should_not_validate()
            {
                const string iban         = "NL91ABNA0417164300";
                const string errorMessage = "My custom error";

                _customValidationRuleMock
                .Setup(m => m.Validate(It.IsAny <ValidationRuleContext>()))
                .Returns(new ErrorResult(errorMessage));

                // Act
                ValidationResult actual = _sut.Validate(iban);

                // Assert
                actual.Should()
                .BeEquivalentTo(new ValidationResult
                {
                    AttemptedValue = iban,
                    Error          = new ErrorResult(errorMessage),
                    Country        = _sut.SupportedCountries["NL"]
                });
            }