public void IsValid()
        {
            var attribute = new MustBeUpperCaseAttribute();

            Assert.AreEqual(true, attribute.IsValid(null));
            Assert.AreEqual(true, attribute.IsValid(DBNull.Value));
            Assert.AreEqual(true, attribute.IsValid(string.Empty));
            Assert.AreEqual(true, attribute.IsValid(" "));
            Assert.AreEqual(false, attribute.IsValid("abc"));
            Assert.AreEqual(true, attribute.IsValid("ABC"));
            Assert.AreEqual(false, attribute.IsValid("ab1c"));
            Assert.AreEqual(true, attribute.IsValid(" AB 1 C "));
            Assert.AreEqual(false, attribute.IsValid(" ab 1 c "));
        }
        public void IsValidFail(object value)
        {
            var attribute = new MustBeUpperCaseAttribute();

            try
            {
                attribute.IsValid(value);

                Assert.Fail();
            }
            catch (ArgumentException ex)
            {
                Assert.AreEqual("Value must be of type String.", ex.Message);
            }
        }