mirror of
https://github.com/ldqk/Masuit.Tools.git
synced 2026-10-28 20:33:04 +08:00
92 lines
2.4 KiB
C#
92 lines
2.4 KiB
C#
using Masuit.Tools.Core.Validator;
|
|
using Xunit;
|
|
|
|
namespace Masuit.Tools.Abstractions.Test.Validator;
|
|
|
|
public class IsPhoneAttributeTests
|
|
{
|
|
[Theory]
|
|
[InlineData(null, true, true, null)]
|
|
[InlineData("", true, true, null)]
|
|
[InlineData("13800138000", false, true, null)]
|
|
[InlineData("13800138000", true, true, null)]
|
|
[InlineData("invalid-phone", false, false, "手机号码格式不正确,请输入有效的大陆11位手机号码!")]
|
|
[InlineData(null, false, false, "手机号码不能为空")]
|
|
public void IsValid_ShouldValidatePhoneNumber(string phoneNumber, bool allowEmpty, bool expected, string expectedErrorMessage)
|
|
{
|
|
// Arrange
|
|
var attribute = new IsPhoneAttribute
|
|
{
|
|
AllowEmpty = allowEmpty
|
|
};
|
|
|
|
// Act
|
|
var result = attribute.IsValid(phoneNumber);
|
|
|
|
// Assert
|
|
Assert.Equal(expected, result);
|
|
Assert.Equal(expectedErrorMessage, attribute.ErrorMessage);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsValid_ShouldReturnFalse_WhenPhoneNumberIsInvalid()
|
|
{
|
|
// Arrange
|
|
var attribute = new IsPhoneAttribute();
|
|
var phoneNumber = "123456";
|
|
|
|
// Act
|
|
var result = attribute.IsValid(phoneNumber);
|
|
|
|
// Assert
|
|
Assert.False(result);
|
|
Assert.Equal("手机号码格式不正确,请输入有效的大陆11位手机号码!", attribute.ErrorMessage);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsValid_ShouldReturnTrue_WhenPhoneNumberIsValid()
|
|
{
|
|
// Arrange
|
|
var attribute = new IsPhoneAttribute();
|
|
var phoneNumber = "13800138000";
|
|
|
|
// Act
|
|
var result = attribute.IsValid(phoneNumber);
|
|
|
|
// Assert
|
|
Assert.True(result);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsValid_ShouldReturnTrue_WhenPhoneNumberIsNullAndAllowEmptyIsTrue()
|
|
{
|
|
// Arrange
|
|
var attribute = new IsPhoneAttribute
|
|
{
|
|
AllowEmpty = true
|
|
};
|
|
|
|
// Act
|
|
var result = attribute.IsValid(null);
|
|
|
|
// Assert
|
|
Assert.True(result);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsValid_ShouldReturnFalse_WhenPhoneNumberIsNullAndAllowEmptyIsFalse()
|
|
{
|
|
// Arrange
|
|
var attribute = new IsPhoneAttribute
|
|
{
|
|
AllowEmpty = false
|
|
};
|
|
|
|
// Act
|
|
var result = attribute.IsValid(null);
|
|
|
|
// Assert
|
|
Assert.False(result);
|
|
Assert.Equal("手机号码不能为空", attribute.ErrorMessage);
|
|
}
|
|
} |