public void IsValidStructuralProperty_should_return_false_for_indexed_property()
            {
                var mockProperty = new MockPropertyInfo();
                mockProperty.Setup(p => p.GetIndexParameters()).Returns(new ParameterInfo[1]);

                Assert.False(mockProperty.Object.IsValidStructuralProperty());
            }
        public void IsValidStructuralProperty_should_return_false_for_indexed_property()
        {
            var mockProperty = new MockPropertyInfo();

            mockProperty.Setup(p => p.GetIndexParameters()).Returns(new ParameterInfo[1]);

            Assert.False(mockProperty.Object.IsValidStructuralProperty());
        }
            public void CreatePropertySetter_throws_for_pointer_types()
            {
                var pointerType = new MockType();

                pointerType.Protected().Setup <bool>("IsPointerImpl").Returns(true);
                var property = new MockPropertyInfo(pointerType.Object, "PointerProp");
                var setter   = new Mock <MethodInfo>();

                setter.Setup(m => m.ReturnType).Returns(pointerType.Object);
                setter.Setup(m => m.DeclaringType).Returns(new MockType().Object);

#if NET40
                property.Setup(m => m.GetSetMethod(true)).Returns(setter.Object);
#else
                property.Setup(m => m.SetMethod).Returns(setter.Object);
#endif

                Assert.Equal(
                    Strings.CodeGen_PropertyUnsupportedType,
                    Assert.Throws <InvalidOperationException>(
                        () => DelegateFactory.CreatePropertySetter(new MockType(), property.Object, true)).Message);
            }
示例#4
0
        public void ODataConventionModelBuilder_IgnoresIndexerProperties()
        {
            MockType type =
                new MockType("ComplexType")
                .Property <int>("Item");

            MockPropertyInfo pi = type.GetProperty("Item");

            pi.Setup(p => p.GetIndexParameters()).Returns(new[] { new Mock <ParameterInfo>().Object }); // make it indexer

            ODataConventionModelBuilder builder = new ODataConventionModelBuilder();

            builder.AddComplexType(type);

            IEdmModel       model       = builder.GetEdmModel();
            IEdmComplexType complexType = model.AssertHasComplexType(type);

            Assert.Empty(complexType.Properties());
        }
            public void CreatePropertySetter_throws_for_pointer_types()
            {
                var pointerType = new MockType();
                pointerType.Protected().Setup<bool>("IsPointerImpl").Returns(true);
                var property = new MockPropertyInfo(pointerType.Object, "PointerProp");
                var setter = new Mock<MethodInfo>();
                setter.Setup(m => m.ReturnType).Returns(pointerType.Object);
                setter.Setup(m => m.DeclaringType).Returns(new MockType().Object);
                property.Setup(m => m.GetSetMethod(true)).Returns(setter.Object);

                Assert.Equal(
                    Strings.CodeGen_PropertyUnsupportedType,
                    Assert.Throws<InvalidOperationException>(
                        () => DelegateFactory.CreatePropertySetter(new MockType(), property.Object, true)).Message);
            }