Пример #1
0
        public void VerifyPublicPropertiesAssignableFromConstructorAreCorrectlyInitialized(Type type)
        {
            if (type.IsAssignableTo <NancyModule>())
            {
                Assert.Ignore();
            }
            if (type == typeof(UserIdentity))
            {
                Assert.Ignore();
            }

            var fixture = new Fixture();

            var customMatcher = new VisitorEqualityComparer <NameAndType>(
                new NameAndTypeCollectingVisitor(), new NameAndTypeAssignableComparer());

            var assertion = new ConstructorInitializedMemberAssertion(
                fixture, EqualityComparer <object> .Default, customMatcher);

            var excludeTypeProperties = new Dictionary <Type, string[]>
            {
            };

            string[] excludeProperties;
            if (excludeTypeProperties.TryGetValue(type, out excludeProperties) == false)
            {
                excludeProperties = Enumerable.Empty <string>().ToArray();
            }

            PropertyInfo[] properties = type.GetProperties().Where(p => !excludeProperties.Contains(p.Name)).ToArray();
            assertion.Verify(properties);
        }
Пример #2
0
        public void VerifyPublicPropertiesAssignableFromConstructorAreCorrectlyInitialized()
        {
            var fixture = new Fixture();

            var customMatcher = new VisitorEqualityComparer <NameAndType>(
                new NameAndTypeCollectingVisitor(), new NameAndTypeAssignableComparer());

            var assertion = new ConstructorInitializedMemberAssertion(
                fixture, EqualityComparer <object> .Default, customMatcher);

            var properties = typeof(PublicPropertiesAreAssignableFromConstructorParameterTypes)
                             .GetProperties();

            assertion.Verify(properties);
        }
Пример #3
0
        public void VerifyCopyAndUpdateWhenThePropertyTypeIsAssignableFromTheParameterType()
        {
            var fixture = new Fixture();

            var customMatcher = new VisitorEqualityComparer <NameAndType>(
                new NameAndTypeCollectingVisitor(), new NameAndTypeAssignableComparer());

            var assertion = new CopyAndUpdateAssertion(
                fixture, EqualityComparer <object> .Default, customMatcher);

            var copyAndUpdateMethod =
                new Methods <PublicPropertiesAreAssignableFromConstructorParameterTypes>()
                .Select(o => o.WithNumbers(default(int[])));

            assertion.Verify(copyAndUpdateMethod);
        }