public void Read_MappedPrimitive(object obj, object expected) { // Arrange IEdmPrimitiveTypeReference primitive = EdmLibHelpers.GetEdmPrimitiveTypeReferenceOrNull(typeof(int)); 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(expected, deserializer.Read(messageReader, typeof(int), readContext)); }
public void Read_MappedPrimitive(object obj, object expected) { // 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 { ServiceOperationName = "Property" }); stream.Seek(0, SeekOrigin.Begin); // Act && Assert Assert.Equal( expected, deserializer.Read( new ODataMessageReader(message as IODataResponseMessage, new ODataMessageReaderSettings(), EdmCoreModel.Instance), new ODataDeserializerContext())); }
public void Ctor_SetsProperty_PrimitiveType() { Mock<IEdmPrimitiveTypeReference> primitiveType = new Mock<IEdmPrimitiveTypeReference>(); var deserializer = new ODataPrimitiveDeserializer(primitiveType.Object); Assert.Equal(primitiveType.Object, deserializer.PrimitiveType); }
public void ReadInline_ReturnsNull_IfItemIsNull() { IEdmPrimitiveTypeReference primitiveType = EdmCoreModel.Instance.GetInt32(isNullable: true); var deserializer = new ODataPrimitiveDeserializer(); Assert.Null(deserializer.ReadInline(item: null, edmType: _edmIntType, readContext: new ODataDeserializerContext())); }
public void Ctor_SetsProperty_PrimitiveType() { Mock <IEdmPrimitiveTypeReference> primitiveType = new Mock <IEdmPrimitiveTypeReference>(); var deserializer = new ODataPrimitiveDeserializer(primitiveType.Object); Assert.Equal(primitiveType.Object, deserializer.PrimitiveType); }
public void Read_ThrowsArgumentNull_MessageReader() { var deserializer = new ODataPrimitiveDeserializer(); Assert.ThrowsArgumentNull( () => deserializer.Read(messageReader: null, type: typeof(int), readContext: new ODataDeserializerContext()), "messageReader"); }
public void ReadPrimitive_ThrowsArgumentNull_PrimitiveProperty() { var deserializer = new ODataPrimitiveDeserializer(); Assert.ThrowsArgumentNull( () => deserializer.ReadPrimitive(primitiveProperty: null, readContext: new ODataDeserializerContext()), "primitiveProperty"); }
public void Read_ThrowsArgumentNull_MessageReader() { IEdmPrimitiveTypeReference primitiveType = EdmCoreModel.Instance.GetInt32(isNullable: true); var deserializer = new ODataPrimitiveDeserializer(primitiveType); Assert.ThrowsArgumentNull( () => deserializer.Read(messageReader: null, readContext: new ODataDeserializerContext()), "messageReader"); }
public void ReadPrimitive_ThrowsArgumentNull_PrimitiveProperty() { IEdmPrimitiveTypeReference primitiveType = EdmCoreModel.Instance.GetInt32(isNullable: true); var deserializer = new ODataPrimitiveDeserializer(primitiveType); Assert.ThrowsArgumentNull( () => deserializer.ReadPrimitive(primitiveProperty: null, readContext: new ODataDeserializerContext()), "primitiveProperty"); }
public void ReadInline_Throws_ArgumentMustBeOfType() { IEdmPrimitiveTypeReference primitiveType = EdmCoreModel.Instance.GetInt32(isNullable: true); var deserializer = new ODataPrimitiveDeserializer(); Assert.ThrowsArgument( () => deserializer.ReadInline(42, _edmIntType, new ODataDeserializerContext()), "item", "The argument must be of type 'ODataProperty'"); }
public void GetODataDeserializer_Primitive(Type type, EdmPrimitiveTypeKind primitiveKind) { ODataDeserializerProvider deserializerProvider = new DefaultODataDeserializerProvider(_edmModel); ODataDeserializer deserializer = deserializerProvider.GetODataDeserializer(type); Assert.NotNull(deserializer); ODataPrimitiveDeserializer rawValueDeserializer = Assert.IsType <ODataPrimitiveDeserializer>(deserializer); Assert.Equal(ODataPayloadKind.Property, rawValueDeserializer.ODataPayloadKind); Assert.Equal(primitiveKind, rawValueDeserializer.EdmType.AsPrimitive().PrimitiveDefinition().PrimitiveKind); }
public void GetODataDeserializer_Primitive(Type type, EdmPrimitiveTypeKind primitiveKind) { ODataDeserializerProvider deserializerProvider = new DefaultODataDeserializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); ODataDeserializer deserializer = deserializerProvider.GetODataDeserializer(_edmModel, type, request); Assert.NotNull(deserializer); ODataPrimitiveDeserializer rawValueDeserializer = Assert.IsType <ODataPrimitiveDeserializer>(deserializer); Assert.Equal(ODataPayloadKind.Property, rawValueDeserializer.ODataPayloadKind); }
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())); }