public void Abn_FormatErrorMessage_ReturnsFormattedErrorMessage()
        {
            var sut = new AbnAttribute();

            var error = sut.FormatErrorMessage("property");

            Assert.IsTrue(!string.IsNullOrEmpty(error));
        }
        public void Abn_FormatErrorMessageWithErrorMessage_ReturnsFormattedErrorMessage()
        {
            var sut = new AbnAttribute();

            sut.ErrorMessage = "My error.";

            var error = sut.FormatErrorMessage("property");

            Assert.IsTrue(error == "My error.");
        }
        public void Abn_FormatErrorMessageWithErrorResource_ReturnsFormattedErrorMessage()
        {
            var sut = new AbnAttribute();

            sut.ErrorMessageResourceName = "AbnAttribute_Invalid";
            sut.ErrorMessageResourceType = typeof(DataAnnotationsResources);

            var error = sut.FormatErrorMessage("property");

            Assert.IsTrue(error == string.Format(DataAnnotationsResources.AbnAttribute_Invalid, "property"));
        }
        public void Abn_ValidValue_Validates()
        {
            var sut = new AbnAttribute();

            Assert.IsTrue(sut.IsValid("53004085616"));
        }
        public void Abn_InvalidCharacters_Fails()
        {
            var sut = new AbnAttribute();

            Assert.IsFalse(sut.IsValid("ABCDEFGHIJK"));
        }
        public void Abn_InvalidLength_Fails()
        {
            var sut = new AbnAttribute();

            Assert.IsFalse(sut.IsValid("123"));
        }
        public void Abn_InvalidAbn_Fails()
        {
            var sut = new AbnAttribute();

            Assert.IsFalse(sut.IsValid("12345678910"));
        }
        public void Abn_EmptyValue_Validates()
        {
            var sut = new AbnAttribute();

            Assert.IsTrue(sut.IsValid(string.Empty));
        }
        public void Abn_NullValue_Validates()
        {
            var sut = new AbnAttribute();

            Assert.IsTrue(sut.IsValid(null));
        }