public static void Validate_throws_InvalidOperationException_if_ErrorMessageResourceType_set_but_ErrorMessageResourceName_not_set() { var attribute = new CreditCardAttribute(); attribute.ErrorMessageResourceName = null; attribute.ErrorMessageResourceType = typeof(ErrorMessageResources); Assert.Throws<InvalidOperationException>(() => attribute.Validate("0000000000000001", s_testValidationContext)); }
public static void Validate_throws_InvalidOperationException_if_ErrorMessage_and_ErrorMessageResourceName_are_set() { var attribute = new CreditCardAttribute(); attribute.ErrorMessage = "SomeErrorMessage"; attribute.ErrorMessageResourceName = "SomeErrorMessageResourceName"; Assert.Throws<InvalidOperationException>(() => attribute.Validate("0000000000000001", s_testValidationContext)); }
public void IsValidTests() { var attribute = new CreditCardAttribute(); Assert.IsTrue(attribute.IsValid(null)); // Don't check for required Assert.IsTrue(attribute.IsValid("0000000000000000")); // Simplest valid value Assert.IsTrue(attribute.IsValid("1234567890123452")); // Good checksum Assert.IsTrue(attribute.IsValid("1234-5678-9012-3452")); // Good checksum, with dashes Assert.IsTrue(attribute.IsValid("1234 5678 9012 3452")); // Good checksum, with spaces Assert.IsTrue(attribute.IsValid("541234567890125")); Assert.IsTrue(attribute.IsValid("4408041234567893")); Assert.IsTrue(attribute.IsValid("4417123456789113")); Assert.IsFalse(attribute.IsValid("0000000000000001")); // Bad checksum Assert.IsFalse(attribute.IsValid("0000-0000-0000-0001")); Assert.IsFalse(attribute.IsValid("1234567890123456")); Assert.IsFalse(attribute.IsValid("558987100150")); //too short Assert.IsFalse(attribute.IsValid("---")); Assert.IsFalse(attribute.IsValid("AA17123456789112")); Assert.IsFalse(attribute.IsValid("4417123456789112")); Assert.IsFalse(attribute.IsValid("4408041234567890")); Assert.IsFalse(attribute.IsValid("4408041234567890ab")); Assert.IsFalse(attribute.IsValid("4408 0412 3456 7890")); Assert.IsFalse(attribute.IsValid(0)); // Non-string }
public static void Validate_throws_for_invalid_values() { var attribute = new CreditCardAttribute(); Assert.Throws<ValidationException>(() => attribute.Validate("0000000000000001", s_testValidationContext)); // Bad checksum Assert.Throws<ValidationException>(() => attribute.Validate(0, s_testValidationContext)); // Non-string Assert.Throws<ValidationException>(() => attribute.Validate("000%000000000001", s_testValidationContext)); // Non-digit }
public static void GetValidationResult_returns_ErrorMessage_if_ErrorMessage_overrides_default() { var attribute = new CreditCardAttribute(); attribute.ErrorMessage = "SomeErrorMessage"; var toBeTested = new CreditCardClassToBeTested(); var validationContext = new ValidationContext(toBeTested); validationContext.MemberName = "CreditCardPropertyToBeTested"; var validationResult = attribute.GetValidationResult(toBeTested, validationContext); Assert.Equal("SomeErrorMessage", validationResult.ErrorMessage); }
public static void Validate_successful_for_valid_values() { var attribute = new CreditCardAttribute(); AssertEx.DoesNotThrow(() => attribute.Validate(null, s_testValidationContext)); // Null is valid AssertEx.DoesNotThrow(() => attribute.Validate("0000000000000000", s_testValidationContext)); // Simplest valid value AssertEx.DoesNotThrow(() => attribute.Validate("1234567890123452", s_testValidationContext)); // Good checksum AssertEx.DoesNotThrow(() => attribute.Validate("1234-5678-9012-3452", s_testValidationContext)); // Good checksum, with dashes AssertEx.DoesNotThrow(() => attribute.Validate("1234 5678 9012 3452", s_testValidationContext)); // Good checksum, with spaces }
public static void GetValidationResult_ErrorMessageSet_ReturnsOverridenValue() { var attribute = new CreditCardAttribute(); attribute.ErrorMessage = "SomeErrorMessage"; var toBeTested = new CreditCardClassToBeTested(); var validationContext = new ValidationContext(toBeTested); validationContext.MemberName = nameof(CreditCardClassToBeTested.CreditCardPropertyToBeTested); var validationResult = attribute.GetValidationResult(toBeTested, validationContext); Assert.Equal("SomeErrorMessage", validationResult.ErrorMessage); }
public void ErrorMessageTest() { var attribute = new CreditCardAttribute(); attribute.ErrorMessage = "SampleErrorMessage"; const int invalidValue = 0; var result = attribute.GetValidationResult(invalidValue, new ValidationContext(0, null, null)); Assert.AreEqual("SampleErrorMessage", result.ErrorMessage); }
public void ErrorResourcesTest() { var attribute = new CreditCardAttribute(); attribute.ErrorMessageResourceName = "ErrorMessage"; attribute.ErrorMessageResourceType = typeof (ErrorResources); const int invalidValue = 0; var result = attribute.GetValidationResult(invalidValue, new ValidationContext(0, null, null)); Assert.AreEqual("error message", result.ErrorMessage); }
public void IsValid () { var sla = new CreditCardAttribute (); Assert.IsTrue (sla.IsValid (null), "#A1-1"); Assert.IsTrue (sla.IsValid (String.Empty), "#A1-2"); Assert.IsFalse (sla.IsValid ("string"), "#A1-3"); Assert.IsTrue (sla.IsValid ("378282246310005"), "#A1-4"); Assert.IsTrue (sla.IsValid ("3782-8224-6310-005"), "#A1-5"); Assert.IsTrue (sla.IsValid ("371449635398431"), "#A-6"); Assert.IsFalse (sla.IsValid ("371449635498431"), "#A-6b"); Assert.IsFalse (sla.IsValid (true), "#A1-7"); Assert.IsFalse (sla.IsValid (DateTime.Now), "#A1-8"); }
public void GlobalizedErrorResourcesTest() { System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-MX"); var attribute = new CreditCardAttribute(); attribute.ErrorMessageResourceName = "ErrorMessage"; attribute.ErrorMessageResourceType = typeof(ErrorResources); const int invalidValue = 0; var result = attribute.GetValidationResult(invalidValue, new ValidationContext(0, null, null)); Assert.AreEqual("mensaje de error", result.ErrorMessage); }
public static void Validate_ValidValue_DoesNotThrow(string value) { var attribute = new CreditCardAttribute(); attribute.Validate(value, s_testValidationContext); }
public static void Validate_ErrorMessageNotSet_ThrowsInvalidOperationException() { var attribute = new CreditCardAttribute() { ErrorMessage = null }; Assert.Throws<InvalidOperationException>(() => attribute.Validate("0000000000000001", s_testValidationContext)); }
public static void Validate_ErrorMessageResourceNameNotSet_ErrorMessageResourceTypeSet_ThrowsInvalidOperationException() { var attribute = new CreditCardAttribute() { ErrorMessageResourceName = null, ErrorMessageResourceType = typeof(ErrorMessageResources) }; Assert.Throws<InvalidOperationException>(() => attribute.Validate("0000000000000001", s_testValidationContext)); }
public static void Validate_ErrorMessageSet_ErrorMessageResourceNameSet_ThrowsInvalidOperationException() { var attribute = new CreditCardAttribute() { ErrorMessage = "Some", ErrorMessageResourceName = "Some" }; Assert.Throws<InvalidOperationException>(() => attribute.Validate("0000000000000001", s_testValidationContext)); }
public static void GetValidationResult_ErrorMessageNotSet_ReturnsDefaultValue() { var attribute = new CreditCardAttribute(); var toBeTested = new CreditCardClassToBeTested(); var validationContext = new ValidationContext(toBeTested); validationContext.MemberName = nameof(CreditCardClassToBeTested.CreditCardPropertyToBeTested); attribute.GetValidationResult(toBeTested, validationContext); }
public static void GetValidationResult_returns_DefaultErrorMessage_if_ErrorMessage_is_not_set() { var attribute = new CreditCardAttribute(); var toBeTested = new CreditCardClassToBeTested(); var validationContext = new ValidationContext(toBeTested); validationContext.MemberName = "CreditCardPropertyToBeTested"; AssertEx.DoesNotThrow(() => attribute.GetValidationResult(toBeTested, validationContext)); }
public static void GetValidationResult_ErrorMessageSetFromResource_ReturnsExpectedValue() { var attribute = new CreditCardAttribute(); attribute.ErrorMessageResourceName = "InternalErrorMessageTestProperty"; attribute.ErrorMessageResourceType = typeof(ErrorMessageResources); var toBeTested = new CreditCardClassToBeTested(); var validationContext = new ValidationContext(toBeTested); validationContext.MemberName = nameof(CreditCardClassToBeTested.CreditCardPropertyToBeTested); var validationResult = attribute.GetValidationResult(toBeTested, validationContext); Assert.Equal("Error Message from ErrorMessageResources.InternalErrorMessageTestProperty", validationResult.ErrorMessage); }
public static void GetValidationResult_returns_ErrorMessage_from_resource_if_ErrorMessageResourceName_and_ErrorMessageResourceType_both_set() { var attribute = new CreditCardAttribute(); attribute.ErrorMessageResourceName = "InternalErrorMessageTestProperty"; attribute.ErrorMessageResourceType = typeof(ErrorMessageResources); var toBeTested = new CreditCardClassToBeTested(); var validationContext = new ValidationContext(toBeTested); validationContext.MemberName = "CreditCardPropertyToBeTested"; var validationResult = attribute.GetValidationResult(toBeTested, validationContext); Assert.Equal( "Error Message from ErrorMessageResources.InternalErrorMessageTestProperty", validationResult.ErrorMessage); }
public static void Validate_throws_InvalidOperationException_if_ErrorMessage_is_null() { var attribute = new CreditCardAttribute(); attribute.ErrorMessage = null; // note: this overrides the default value Assert.Throws<InvalidOperationException>(() => attribute.Validate("0000000000000001", s_testValidationContext)); }
public static void Validate_InvalidValue_ThrowsValidationException(object value) { var attribute = new CreditCardAttribute(); Assert.Throws<ValidationException>(() => attribute.Validate(value, s_testValidationContext)); }
public static void CreditCardAttribute_creation_DataType_and_CustomDataType() { var attribute = new CreditCardAttribute(); Assert.Equal(DataType.CreditCard, attribute.DataType); Assert.Null(attribute.CustomDataType); }