public void GetEdmTypeDeserializer_Caches_CreateDeserializerOutput()
        {
            // Arrange
            DefaultODataDeserializerProvider deserializerProvider = new DefaultODataDeserializerProvider();
            IEdmTypeReference edmType = new Mock <IEdmTypeReference>().Object;

            // Act
            var deserializer1 = deserializerProvider.GetEdmTypeDeserializer(edmType);
            var deserializer2 = deserializerProvider.GetEdmTypeDeserializer(edmType);

            // Assert
            Assert.Same(deserializer1, deserializer2);
        }
        public void GetEdmTypeDeserializer_ThrowsArgument_EdmType()
        {
            DefaultODataDeserializerProvider deserializerProvider = new DefaultODataDeserializerProvider();

            Assert.ThrowsArgumentNull(
                () => deserializerProvider.GetEdmTypeDeserializer(edmType: null),
                "edmType");
        }
        public void GetEdmTypeDeserializer_Returns_SetEdmTypeDeserializerInput()
        {
            // Arrange
            DefaultODataDeserializerProvider deserializerProvider = new DefaultODataDeserializerProvider();
            IEdmTypeReference        edmType      = EdmCoreModel.Instance.GetInt32(isNullable: true);
            ODataEdmTypeDeserializer deserializer = new Mock <ODataEdmTypeDeserializer>(edmType, ODataPayloadKind.Property).Object;

            deserializerProvider.SetEdmTypeDeserializer(edmType, deserializer);

            // Act & Assert
            Assert.Same(deserializer, deserializerProvider.GetEdmTypeDeserializer(edmType));
        }
        public void GetEdmTypeDeserializer_Caches_CreateDeserializerOutput()
        {
            // Arrange
            DefaultODataDeserializerProvider deserializerProvider = new DefaultODataDeserializerProvider();
            IEdmTypeReference edmType = new Mock<IEdmTypeReference>().Object;

            // Act
            var deserializer1 = deserializerProvider.GetEdmTypeDeserializer(edmType);
            var deserializer2 = deserializerProvider.GetEdmTypeDeserializer(edmType);

            // Assert
            Assert.Same(deserializer1, deserializer2);
        }
        public void GetEdmTypeDeserializer_ThrowsArgument_EdmType()
        {
            DefaultODataDeserializerProvider deserializerProvider = new DefaultODataDeserializerProvider();

            Assert.ThrowsArgumentNull(
                () => deserializerProvider.GetEdmTypeDeserializer(edmType: null),
                "edmType");
        }
        public void GetEdmTypeDeserializer_Returns_SetEdmTypeDeserializerInput()
        {
            // Arrange
            DefaultODataDeserializerProvider deserializerProvider = new DefaultODataDeserializerProvider();
            IEdmTypeReference edmType = EdmCoreModel.Instance.GetInt32(isNullable: true);
            ODataEdmTypeDeserializer deserializer = new Mock<ODataEdmTypeDeserializer>(edmType, ODataPayloadKind.Property).Object;
            deserializerProvider.SetEdmTypeDeserializer(edmType, deserializer);

            // Act & Assert
            Assert.Same(deserializer, deserializerProvider.GetEdmTypeDeserializer(edmType));
        }