101 lines
2.8 KiB
C#
101 lines
2.8 KiB
C#
public class When_the_IbanValidator_is_told_to_Validate
|
|
{
|
|
[Fact]
|
|
public void It_should_return_an_error_when_there_is_no_value_provided()
|
|
{
|
|
// Assert
|
|
const string value = "";
|
|
var validator = new IbanValidator();
|
|
|
|
// Act
|
|
var result = validator.Validate(value);
|
|
|
|
// Assert
|
|
Assert.Equal(ValidationResult.ValueMissing, result);
|
|
}
|
|
|
|
[Fact]
|
|
public void It_should_return_an_error_when_the_value_length_is_to_short()
|
|
{
|
|
// Assert
|
|
const string value = "BE1800165492356";
|
|
var validator = new IbanValidator();
|
|
|
|
// Act
|
|
var result = validator.Validate(value);
|
|
|
|
// Assert
|
|
Assert.Equal(ValidationResult.ValueTooSmall, result);
|
|
}
|
|
|
|
[Fact]
|
|
public void It_should_return_an_error_when_the_value_length_is_to_big()
|
|
{
|
|
// Assert
|
|
const string value = "BE180016549235656";
|
|
var validator = new IbanValidator();
|
|
|
|
// Act
|
|
var result = validator.Validate(value);
|
|
|
|
// Assert
|
|
Assert.Equal(ValidationResult.ValueTooBig, result);
|
|
}
|
|
|
|
[Fact]
|
|
public void It_should_return_an_error_when_the_value_fails_the_module_check()
|
|
{
|
|
// Assert
|
|
const string value = "BE18001654923566";
|
|
var validator = new IbanValidator();
|
|
|
|
// Act
|
|
var result = validator.Validate(value);
|
|
|
|
// Assert
|
|
Assert.Equal(ValidationResult.ValueFailsModule97Check, result);
|
|
}
|
|
|
|
[Fact]
|
|
public void It_should_return_an_error_when_an_unkown_country_prefix_used()
|
|
{
|
|
// Assert
|
|
const string value = "XX82WEST12345698765432";
|
|
var validator = new IbanValidator();
|
|
|
|
// Act
|
|
var result = validator.Validate(value);
|
|
|
|
// Assert
|
|
Assert.Equal(ValidationResult.CountryCodeNotKnown, result);
|
|
}
|
|
|
|
[Fact]
|
|
public void It_should_return_valid_when_a_valid_value_is_provided()
|
|
{
|
|
// Assert
|
|
const string value = "BE18001654923565";
|
|
var validator = new IbanValidator();
|
|
|
|
// Act
|
|
var result = validator.Validate(value);
|
|
|
|
// Assert
|
|
Assert.Equal(ValidationResult.IsValid, result);
|
|
}
|
|
|
|
[Fact]
|
|
public void It_should_return_valid_when_a_valid_foreign_value_is_provided()
|
|
{
|
|
// Assert
|
|
const string value = "GB82WEST12345698765432";
|
|
var validator = new IbanValidator();
|
|
|
|
// Act
|
|
var result = validator.Validate(value);
|
|
|
|
// Assert
|
|
Assert.Equal(ValidationResult.IsValid, result);
|
|
}
|
|
}
|