Beispiel #1
0
        public void Read_Primitive(object obj)
        {
            // Arrange
            IEdmModel model = EdmCoreModel.Instance;
            ODataPrimitiveSerializer   serializer   = new ODataPrimitiveSerializer();
            ODataPrimitiveDeserializer deserializer = new ODataPrimitiveDeserializer();

            MemoryStream           stream        = new MemoryStream();
            ODataMessageWrapper    message       = new ODataMessageWrapper(stream);
            ODataMessageWriter     messageWriter = new ODataMessageWriter(message as IODataResponseMessage, new ODataMessageWriterSettings(), model);
            ODataMessageReader     messageReader = new ODataMessageReader(message as IODataResponseMessage, new ODataMessageReaderSettings(), model);
            ODataSerializerContext writeContext  = new ODataSerializerContext {
                RootElementName = "Property", Model = model
            };
            ODataDeserializerContext readContext = new ODataDeserializerContext {
                Model = model
            };

            serializer.WriteObject(obj, typeof(int), messageWriter, writeContext);
            stream.Seek(0, SeekOrigin.Begin);

            // Act & Assert
            Assert.Equal(obj, deserializer.Read(messageReader, typeof(int), readContext));
        }
        public void Read_MappedPrimitive(object obj, object expected)
        {
            // Arrange
            IEdmModel model = CreateModel();
            ODataPrimitiveSerializer   serializer   = new ODataPrimitiveSerializer();
            ODataPrimitiveDeserializer deserializer = new ODataPrimitiveDeserializer();

            MemoryStream        stream  = new MemoryStream();
            ODataMessageWrapper message = new ODataMessageWrapper(stream);

            ODataMessageWriterSettings settings = new ODataMessageWriterSettings
            {
                ODataUri = new ODataUri {
                    ServiceRoot = new Uri("http://any/"),
                }
            };

            settings.SetContentType(ODataFormat.Json);

            ODataMessageWriter     messageWriter = new ODataMessageWriter(message as IODataResponseMessage, settings, model);
            ODataMessageReader     messageReader = new ODataMessageReader(message as IODataResponseMessage, new ODataMessageReaderSettings(), model);
            ODataSerializerContext writeContext  = new ODataSerializerContext {
                RootElementName = "Property", Model = model
            };
            ODataDeserializerContext readContext = new ODataDeserializerContext {
                Model = model
            };

            Type type = obj == null ? typeof(int) : expected.GetType();

            serializer.WriteObject(obj, type, messageWriter, writeContext);
            stream.Seek(0, SeekOrigin.Begin);

            // Act && Assert
            Assert.Equal(expected, deserializer.Read(messageReader, type, readContext));
        }
Beispiel #3
0
        public void Read_Primitive(object obj)
        {
            // Arrange
            IEdmPrimitiveTypeReference primitive = EdmLibHelpers.GetEdmPrimitiveTypeReferenceOrNull(typeof(int));

            ODataPrimitiveSerializer   serializer   = new ODataPrimitiveSerializer(primitive);
            ODataPrimitiveDeserializer deserializer = new ODataPrimitiveDeserializer(primitive);

            MemoryStream        stream  = new MemoryStream();
            ODataMessageWrapper message = new ODataMessageWrapper(stream);

            serializer.WriteObject(
                obj,
                new ODataMessageWriter(message as IODataResponseMessage, new ODataMessageWriterSettings(), EdmCoreModel.Instance),
                new ODataSerializerContext {
                RootElementName = "Property"
            });
            stream.Seek(0, SeekOrigin.Begin);
            Assert.Equal(
                obj,
                deserializer.Read(
                    new ODataMessageReader(message as IODataResponseMessage, new ODataMessageReaderSettings(), EdmCoreModel.Instance),
                    new ODataDeserializerContext()));
        }
 public void ConvertUnsupportedPrimitives_NonStandardEdmPrimitives(object graph, object result)
 {
     // Arrange & Act & Assert
     Assert.Equal(result, ODataPrimitiveSerializer.ConvertUnsupportedPrimitives(graph, timeZoneInfo: null));
 }
Beispiel #5
0
        public void Property_ODataPayloadKind()
        {
            var serializer = new ODataPrimitiveSerializer();

            Assert.Equal(ODataPayloadKind.Property, serializer.ODataPayloadKind);
        }
Beispiel #6
0
 public void ConvertUnsupportedPrimitives_NonStandardEdmPrimitives(object graph, object result)
 {
     Assert.Equal(
         result,
         ODataPrimitiveSerializer.ConvertUnsupportedPrimitives(graph));
 }
Beispiel #7
0
 public MockContainer()
 {
     serializerProvider   = new DefaultODataSerializerProvider(this);
     collectionSerializer = new ODataCollectionSerializer(serializerProvider);
     primitiveSerializer  = new ODataPrimitiveSerializer();
 }
Beispiel #8
0
        public static string GetUriRepresentationForDateTime(DateTime dateTime, TimeZoneInfo timeZoneInfo)
        {
            object value = ODataPrimitiveSerializer.ConvertUnsupportedDateTime(dateTime, timeZoneInfo);

            return(ODataUriUtils.ConvertToUriLiteral(value, ODataVersion.V4));
        }