public void TryGetValue_ThrowsInvalidOperation_EdmComplexObjectNullRef()
        {
            IEdmComplexTypeReference edmType           = new EdmComplexTypeReference(new EdmComplexType("NS", "ComplexType"), isNullable: true);
            NullEdmComplexObject     nullComplexObject = new NullEdmComplexObject(edmType);
            object propertyValue;

            ExceptionAssert.Throws <InvalidOperationException>(() => nullComplexObject.TryGetPropertyValue("property", out propertyValue),
                                                               "Cannot get property 'property' of a null EDM object of type '[NS.ComplexType Nullable=True]'.");
        }
        public void GetEdmType_Returns_CtorInitializedValue()
        {
            IEdmComplexTypeReference edmType           = new EdmComplexTypeReference(new EdmComplexType("NS", "ComplexType"), isNullable: true);
            NullEdmComplexObject     nullComplexObject = new NullEdmComplexObject(edmType);

            IEdmTypeReference result = nullComplexObject.GetEdmType();

            Assert.Same(edmType, result);
        }
        public void TryGetPropertyValue_ThrowsInvalidOperation()
        {
            // Arrange & Act & Assert
            EdmComplexType           complex = new EdmComplexType("NS", "Complex");
            IEdmComplexTypeReference typeRef = new EdmComplexTypeReference(complex, false);
            NullEdmComplexObject     obj     = new NullEdmComplexObject(typeRef);

            ExceptionAssert.Throws <InvalidOperationException>(() => obj.TryGetPropertyValue("name", out object value),
                                                               "Cannot get property 'name' of a null EDM object of type '[NS.Complex Nullable=False]'.");
        }
        public void GetEdmType_ReturnsInputTypeReference()
        {
            // Arrange & Act
            IEdmComplexTypeReference typeRef = new Mock <IEdmComplexTypeReference>().Object;
            NullEdmComplexObject     obj     = new NullEdmComplexObject(typeRef);

            IEdmTypeReference actual = obj.GetEdmType();

            // Assert
            Assert.Same(typeRef, actual);
        }