public void IsValid_Should_Return_False_When_Value_Is_Null_And_CanBeNull_Is_False() { // Arrange var attr = new StringValidateAttribute("Test message") { CanBeNull = false }; // Act bool result = attr.IsValid(null); // Assert Assert.IsFalse(result); }
public void IsValid_Should_Return_False_When_Value_Is_Not_Match_Regex() { // Arrange var attr = new StringValidateAttribute("Test message") { RegEx = @"^[0-1]$" }; // Act bool result = attr.IsValid("2"); // Assert Assert.IsFalse(result); }
public void IsValid_Should_Return_False_When_Value_Is_Less_Than_MinLength() { // Arrange var attr = new StringValidateAttribute("Test message") { MinLength = 3 }; // Act bool result = attr.IsValid("12"); // Assert Assert.IsFalse(result); }
public void Constructor_Should_Set_Default_Values() { // Act var attr = new StringValidateAttribute("Test message"); // Assert Assert.AreEqual(-1, attr.MinLength); Assert.AreEqual(-1, attr.MaxLength); Assert.IsTrue(attr.CanBeEmpty); Assert.IsTrue(attr.CanBeNull); Assert.IsNull(attr.RegEx); }
public void IsValid_Should_Return_True_When_Parameters_Not_Specified() { var values = new[] { "", null, "1234567890", "abcdefghjk", "~!@#$%^&*()_+" }; foreach (var value in values) { // Arrange var attr = new StringValidateAttribute("Test message"); // Act bool result = attr.IsValid(value); // Assert Assert.IsTrue(result); } }
public void IsValid_Should_Throw_Exception_When_Value_Is_Not_String() { // Arrange var attr = new StringValidateAttribute("Test message"); // Act // Assert attr.IsValid(5); }
public void IsValid_Should_Return_True_When_Value_Meet_All_Requirements() { // Arrange var attr = new StringValidateAttribute("Test message") { MinLength = 1, MaxLength = 3, CanBeNull = false, CanBeEmpty = false, RegEx = @"^[0]$" }; // Act bool result = attr.IsValid("0"); // Assert Assert.IsTrue(result); }