¿Cómo realizarías las pruebas de unidad de anotaciones?

Dos de las propiedades de la clase tienen las siguientes anotaciones:

    [Key]
    [Column]
    [Required]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }


    [MaxLength(25)]
    public string Name { get; set; }

Entiendo que probar los atributos clave, de columna y requeridos ya no es una prueba unitaria, es una prueba de integración, ya que dependería de la base de datos subyacente, pero ¿cómo hace para probar el atributo MaxLength (25)?

Una de las alternativas en las que puedo pensar es agregar un contrato de código en la propiedad.

Actualizar

Como sugerí, escribí el siguiente ayudante:

    public class AttributeHelper <T> where T : class
    {
        private Type GivenClass 
        { 
            get { return typeof (T); }
        }

        public bool HasAnnotation(Type annotation)
        {
            return GivenClass.GetCustomAttributes(annotation, true).Single() != null;
        }

        public bool MethodHasAttribute(Type attribute, string target)
        {
           return GivenClass.GetMethod(target).GetCustomAttributes(attribute, true).Count() == 1;
        }

        public bool PropertyHasAttribute(Type attribute, string target)
        {
            return GivenClass.GetProperty(target).GetCustomAttributes(attribute, true).Count() == 1;
        }

    }

Entonces he probado mi ayudante:

    [TestMethod]
    public void ThisMethod_Has_TestMethod_Attribute()
    {
        // Arrange
        var helper = new AttributeHelper<AttributeHelperTests>();

        // Act
        var result = helper.MethodHasAttribute(typeof (TestMethodAttribute), "ThisMethod_Has_TestMethod_Attribute");

        // Assert
        Assert.IsTrue(result);
    }

Todo funciona bien, aparte del hecho de que los métodos y las propiedades deben ser públicos para que yo pueda utilizar la reflexión. No puedo pensar en ningún caso en el que tuviera que agregar atributos a las propiedades / métodos privados.

Y luego probando las anotaciones de EF:

        public void IdProperty_Has_KeyAttribute()
        {
            // Arrange
            var helper = new AttributeHelper<Player>();

            // Act
            var result = helper.PropertyHasAttribute(typeof (KeyAttribute), "Id");

            // Assert
            Assert.IsTrue(result);
        }

Respuestas a la pregunta(1)

Su respuesta a la pregunta