1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- 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);
- }
- }
|