コード例 #1
0
        public void GetPropertyGetter_CreatesGetterPerType()
        {
            // Arrange
            IEdmModel model;
            IEdmEntityTypeReference reference;

            GetModel(out model, out reference);
            string propertyName = "Alias";

            // Act
            Func <object, object> testEntityGetter = TypedEdmStructuredObject.GetOrCreatePropertyGetter(
                typeof(TestEntity),
                propertyName,
                reference,
                model);

            Func <object, object> proxyEntityGetter = TypedEdmStructuredObject.GetOrCreatePropertyGetter(
                typeof(TestEntityGeneratedProxy),
                propertyName,
                reference,
                model);

            // Assert
            Assert.NotSame(testEntityGetter, proxyEntityGetter);
        }
コード例 #2
0
        public void GetPropertyGetter_Caches_PropertyGetter()
        {
            // Arrange
            Mock <IEdmStructuredTypeReference> mockEdmTypeReference1 = new Mock <IEdmStructuredTypeReference>();
            Mock <IEdmStructuredTypeReference> mockEdmTypeReference2 = new Mock <IEdmStructuredTypeReference>();
            Mock <IEdmStructuredType>          mockEdmType           = new Mock <IEdmStructuredType>();
            Mock <IEdmProperty> mockProperty = new Mock <IEdmProperty>();

            mockEdmType.Setup(t => t.FindProperty("Property")).Returns(mockProperty.Object);
            mockEdmTypeReference1.Setup(t => t.Definition).Returns(mockEdmType.Object);
            mockEdmTypeReference2.Setup(t => t.Definition).Returns(mockEdmType.Object);
            IEdmModel             model   = new Mock <EdmModel>().Object;
            Func <object, object> getter1 = TypedEdmStructuredObject.GetOrCreatePropertyGetter(
                typeof(TestEntity),
                "Property",
                mockEdmTypeReference1.Object,
                model);
            Func <object, object> getter2 = TypedEdmStructuredObject.GetOrCreatePropertyGetter(
                typeof(TestEntity),
                "Property",
                mockEdmTypeReference2.Object,
                model);

            // Act & Assert
            Assert.Same(getter1, getter2);
        }
コード例 #3
0
        public void GetPropertyGetter_WorksWithAliasedPropertiesAndDynamicProxies()
        {
            // Arrange
            IEdmModel model;
            IEdmEntityTypeReference reference;

            GetModel(out model, out reference);
            string propertyName = "Alias";

            // Act
            Func <object, object> testEntityGetter = TypedEdmStructuredObject.GetOrCreatePropertyGetter(
                typeof(TestEntityGeneratedProxy),
                propertyName,
                reference,
                model);

            // Assert
            Assert.NotNull(testEntityGetter);
        }