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); }
public void When_validating_null_value_should_not_validate() { // Act var actual = _validator.Validate(null); // Assert actual.Should().Be(IbanValidationResult.InvalidLength); }
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() }); }
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() ); } }
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 ); }