예제 #1
0
        public void GetEdmType_HasSameDefinition_AsInitializedEdmType()
        {
            var complexType = new EdmComplexType("NS", "Complex");
            var edmObject   = new TestEdmStructuredObject(complexType);

            Assert.Equal(complexType, edmObject.GetEdmType().Definition);
        }
예제 #2
0
        public void Property_ExpectedEdmType()
        {
            EdmEntityType           edmBaseType    = new EdmEntityType("NS", "Base");
            EdmEntityType           edmDerivedType = new EdmEntityType("NS", "Derived", edmBaseType);
            TestEdmStructuredObject edmObject      = new TestEdmStructuredObject(edmDerivedType);

            ReflectionAssert.Property(edmObject, o => o.ExpectedEdmType, edmDerivedType, allowNull: false, roundTripTestValue: edmBaseType);
        }
        public void Property_ExpectedEdmType()
        {
            EdmEntityType edmBaseType = new EdmEntityType("NS", "Base");
            EdmEntityType edmDerivedType = new EdmEntityType("NS", "Derived", edmBaseType);
            TestEdmStructuredObject edmObject = new TestEdmStructuredObject(edmDerivedType);

            Assert.Reflection.Property(edmObject, o => o.ExpectedEdmType, edmDerivedType, allowNull: false, roundTripTestValue: edmBaseType);
        }
예제 #4
0
        public void Property_ExpectedEdmType_CanBeSameAs_ActualEdmType()
        {
            EdmEntityType           edmType   = new EdmEntityType("NS", "Entity");
            TestEdmStructuredObject edmObject = new TestEdmStructuredObject(edmType);

            edmObject.ExpectedEdmType = edmType;

            Assert.Same(edmType, edmObject.ExpectedEdmType);
        }
예제 #5
0
        public void GetEdmType_AgreesWithPropertyIsNullable()
        {
            var complexType = new EdmComplexType("NS", "Complex");
            var edmObject   = new TestEdmStructuredObject(complexType);

            edmObject.IsNullable = true;

            Assert.True(edmObject.GetEdmType().IsNullable);
        }
        public void Property_ExpectedEdmType_CanBeSameAs_ActualEdmType()
        {
            EdmEntityType edmType = new EdmEntityType("NS", "Entity");
            TestEdmStructuredObject edmObject = new TestEdmStructuredObject(edmType);

            edmObject.ExpectedEdmType = edmType;

            Assert.Same(edmType, edmObject.ExpectedEdmType);
        }
예제 #7
0
        public void TrySetPropertyValue_IfPropertyDoesNotExist_DoesNotUpdateGetChangedPropertyNames()
        {
            EdmComplexType edmType   = new EdmComplexType("NS", "Complex");
            var            edmObject = new TestEdmStructuredObject(edmType);

            edmObject.TrySetPropertyValue("NotPresentProperty", 42);

            Assert.DoesNotContain("Property", edmObject.GetChangedPropertyNames());
        }
예제 #8
0
        public void TrySetPropertyValue_ReturnsFalse_IfPropertyDoesNotExist()
        {
            EdmComplexType edmType   = new EdmComplexType("NS", "Complex");
            var            edmObject = new TestEdmStructuredObject(edmType);

            bool result = edmObject.TrySetPropertyValue("NotPresentProperty", 42);

            Assert.False(result);
        }
예제 #9
0
        public void TrySetPropertyValue_IfPropertyExists_UpdatesGetChangedPropertyNames()
        {
            EdmComplexType edmType = new EdmComplexType("NS", "Complex");

            edmType.AddStructuralProperty("Property", EdmPrimitiveTypeKind.Int32);
            var edmObject = new TestEdmStructuredObject(edmType);

            edmObject.TrySetPropertyValue("Property", 42);

            Assert.Contains("Property", edmObject.GetChangedPropertyNames());
        }
예제 #10
0
        public void TrySetPropertyValue_ReturnsTrue_IfPropertyExists()
        {
            EdmComplexType edmType = new EdmComplexType("NS", "Complex");

            edmType.AddStructuralProperty("Property", EdmPrimitiveTypeKind.Int32);
            var edmObject = new TestEdmStructuredObject(edmType);

            bool result = edmObject.TrySetPropertyValue("Property", 42);

            Assert.True(result);
        }
예제 #11
0
        public void Property_ExpectedEdmType_ThrowsDeltaEntityTypeNotAssignable()
        {
            EdmEntityType           edmType1  = new EdmEntityType("NS", "Entity1");
            EdmEntityType           edmType2  = new EdmEntityType("NS", "Entity2");
            TestEdmStructuredObject edmObject = new TestEdmStructuredObject(edmType1);

            ExceptionAssert.Throws <InvalidOperationException>(
                () =>
            {
                edmObject.ExpectedEdmType = edmType2;
            },
                "The actual entity type 'NS.Entity1' is not assignable to the expected type 'NS.Entity2'.");
        }
        public void Property_ActualEdmType_ThrowsDeltaEntityTypeNotAssignable()
        {
            EdmEntityType edmType1 = new EdmEntityType("NS", "Entity1");
            EdmEntityType edmType2 = new EdmEntityType("NS", "Entity2");
            TestEdmStructuredObject edmObject = new TestEdmStructuredObject(edmType1);

            Assert.Throws<InvalidOperationException>(
                () =>
                {
                    edmObject.ActualEdmType = edmType2;
                },
                "The actual entity type 'NS.Entity2' is not assignable to the expected type 'NS.Entity1'.");
        }
예제 #13
0
        public void TryGetPropertyValue_Without_TrySetPropertyValue_ReturnsDefault()
        {
            string         propertyName = "Property";
            EdmComplexType edmType      = new EdmComplexType("NS", "Complex");

            edmType.AddStructuralProperty(propertyName, EdmPrimitiveTypeKind.Int32, isNullable: false);
            var edmObject = new TestEdmStructuredObject(edmType);

            object result;

            edmObject.TryGetPropertyValue(propertyName, out result);

            Assert.Equal(0, result);
        }
예제 #14
0
        public void TryGetPropertyValue_After_TrySetPropertyValue()
        {
            string         propertyName = "Property";
            EdmComplexType edmType      = new EdmComplexType("NS", "Complex");

            edmType.AddStructuralProperty(propertyName, EdmPrimitiveTypeKind.Int32);
            var    edmObject     = new TestEdmStructuredObject(edmType);
            object propertyValue = new object();

            object result;

            edmObject.TrySetPropertyValue(propertyName, propertyValue);
            edmObject.TryGetPropertyValue(propertyName, out result);

            Assert.Same(propertyValue, result);
        }
        public void TrySetPropertyValue_IfPropertyExists_UpdatesGetChangedPropertyNames()
        {
            EdmComplexType edmType = new EdmComplexType("NS", "Complex");
            edmType.AddStructuralProperty("Property", EdmPrimitiveTypeKind.Int32);
            var edmObject = new TestEdmStructuredObject(edmType);
            edmObject.TrySetPropertyValue("Property", 42);

            Assert.Contains("Property", edmObject.GetChangedPropertyNames());
        }
        public void GetEdmType_HasSameDefinition_AsInitializedEdmType()
        {
            var complexType = new EdmComplexType("NS", "Complex");
            var edmObject = new TestEdmStructuredObject(complexType);

            Assert.Equal(complexType, edmObject.GetEdmType().Definition);
        }
        public void GetEdmType_AgreesWithPropertyIsNullable()
        {
            var complexType = new EdmComplexType("NS", "Complex");
            var edmObject = new TestEdmStructuredObject(complexType);
            edmObject.IsNullable = true;

            Assert.True(edmObject.GetEdmType().IsNullable);
        }
        public void TryGetPropertyType_ReturnsTrue_IfPropertyExists()
        {
            EdmComplexType edmType = new EdmComplexType("NS", "Complex");
            edmType.AddStructuralProperty("Property", EdmPrimitiveTypeKind.Int32);
            var edmObject = new TestEdmStructuredObject(edmType);

            Type propertyType;
            bool result = edmObject.TryGetPropertyType("Property", out propertyType);

            Assert.True(result);
        }
        public void TryGetPropertyType_ReturnsFalse_IfPropertyDoesNotExist()
        {
            EdmComplexType edmType = new EdmComplexType("NS", "Complex");
            var edmObject = new TestEdmStructuredObject(edmType);

            Type propertyType;
            bool result = edmObject.TryGetPropertyType("NotPresentProperty", out propertyType);

            Assert.False(result);
        }
        public void Property_IsNullable()
        {
            TestEdmStructuredObject edmObject = new TestEdmStructuredObject(new EdmComplexType("NS", "Complex"));

            Assert.Reflection.BooleanProperty(edmObject, e => e.IsNullable, expectedDefaultValue: false);
        }
        public void TryGetPropertyValue_Without_TrySetPropertyValue_ReturnsDefault()
        {
            string propertyName = "Property";
            EdmComplexType edmType = new EdmComplexType("NS", "Complex");
            edmType.AddStructuralProperty(propertyName, EdmPrimitiveTypeKind.Int32, isNullable: false);
            var edmObject = new TestEdmStructuredObject(edmType);

            object result;
            edmObject.TryGetPropertyValue(propertyName, out result);

            Assert.Equal(0, result);
        }
        public void TryGetPropertyValue_After_TrySetPropertyValue()
        {
            string propertyName = "Property";
            EdmComplexType edmType = new EdmComplexType("NS", "Complex");
            edmType.AddStructuralProperty(propertyName, EdmPrimitiveTypeKind.Int32);
            var edmObject = new TestEdmStructuredObject(edmType);
            object propertyValue = new object();

            object result;
            edmObject.TrySetPropertyValue(propertyName, propertyValue);
            edmObject.TryGetPropertyValue(propertyName, out result);

            Assert.Same(propertyValue, result);
        }
        public void TrySetPropertyValue_IfPropertyDoesNotExist_DoesNotUpdateGetChangedPropertyNames()
        {
            EdmComplexType edmType = new EdmComplexType("NS", "Complex");
            var edmObject = new TestEdmStructuredObject(edmType);

            edmObject.TrySetPropertyValue("NotPresentProperty", 42);

            Assert.DoesNotContain("Property", edmObject.GetChangedPropertyNames());
        }
예제 #24
0
        public void Property_IsNullable()
        {
            TestEdmStructuredObject edmObject = new TestEdmStructuredObject(new EdmComplexType("NS", "Complex"));

            ReflectionAssert.BooleanProperty(edmObject, e => e.IsNullable, expectedDefaultValue: false);
        }