public void VerifyRequiredAttributeIsRetrievedFromProperty()
        {
            var propertyInfo =
                Mocking.Property <string>("Test", new RequiredAttribute());

            var primitivePropertyInfoMetadata = new PrimitiveMemberInfoMetadata(propertyInfo);

            primitivePropertyInfoMetadata
            .Required.Should().BeTrue();

            primitivePropertyInfoMetadata
            .Length.HasValue.Should().BeFalse();
        }
        public void VerifyStringLengthAttributeIsRetrievedFromProperty()
        {
            const int ExpectedLength = 50;

            var propertyInfo =
                Mocking.Property <string>("Test", new StringLengthAttribute(ExpectedLength));

            var primitivePropertyInfoMetadata = new PrimitiveMemberInfoMetadata(propertyInfo);

            primitivePropertyInfoMetadata
            .SupportLength.Should().BeTrue();

            primitivePropertyInfoMetadata
            .Length.Should().Be(ExpectedLength);
        }
        public IEnumerable <MockedPropertyInfo> Property <T>(string name)
        {
            yield return(this);

            yield return(Mocking.Property <T>(name));
        }