public void Constructor_ThrowsArgumentNull_edmModel() { Assert.ThrowsArgumentNull(() => { var serializerProvider = new DefaultODataSerializerProvider(edmModel: null); }, "edmModel"); }
public void Property_Instance_IsCached() { DefaultODataSerializerProvider instance1 = DefaultODataSerializerProvider.Instance; DefaultODataSerializerProvider instance2 = DefaultODataSerializerProvider.Instance; Assert.Same(instance1, instance2); }
public void Constructor_ThrowsArgumentNull_edmModel() { Assert.ThrowsArgumentNull(() => { var serializerProvider = new DefaultODataSerializerProvider(edmModel: null); }, "edmModel"); }
public void CreateEdmTypeSerializer_ThrowsArgumentNull_EdmType() { DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); Assert.ThrowsArgumentNull( () => serializerProvider.CreateEdmTypeSerializer(edmType: null), "edmType"); }
public void Ctor_SetsProperty_SerializerProvider() { IEdmTypeReference edmType = new Mock <IEdmTypeReference>().Object; ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); var serializer = new Mock <ODataEdmTypeSerializer>(edmType, ODataPayloadKind.Unsupported, serializerProvider).Object; Assert.Same(serializerProvider, serializer.SerializerProvider); }
public void GetODataPayloadSerializer_ThrowsArgumentNull_Model() { DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); Assert.ThrowsArgumentNull( () => serializerProvider.GetODataPayloadSerializer(model: null, type: null), "model"); }
public void GetODataPayloadSerializer_ThrowsArgumentNull_Type() { DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); Assert.ThrowsArgumentNull( () => serializerProvider.GetODataPayloadSerializer(model: EdmCoreModel.Instance, type: null), "type"); }
public void GetODataPayloadSerializer_ThrowsArgumentNull_Model() { DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); Assert.ThrowsArgumentNull( () => serializerProvider.GetODataPayloadSerializer(model: null, type: null), "model"); }
public void GetODataPayloadSerializer_ThrowsArgumentNull_Type() { DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); Assert.ThrowsArgumentNull( () => serializerProvider.GetODataPayloadSerializer(model: EdmCoreModel.Instance, type: null), "type"); }
public void GetEdmTypeSerializer_ThrowsArgumentNull_EdmType() { DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); Assert.ThrowsArgumentNull( () => serializerProvider.GetEdmTypeSerializer(edmType: null), "edmType"); }
public void Ctor_SetsProperty_SerializerProvider() { IEdmTypeReference edmType = new Mock<IEdmTypeReference>().Object; ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); var serializer = new Mock<ODataEdmTypeSerializer>(edmType, ODataPayloadKind.Unsupported, serializerProvider).Object; Assert.Same(serializerProvider, serializer.SerializerProvider); }
public void GetODataSerializer_Returns_ExpectedSerializerType(Type payloadType, Type expectedSerializerType) { ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); ODataSerializer serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, payloadType); Assert.NotNull(serializer); Assert.IsType(expectedSerializerType, serializer); }
public void GetODataPayloadSerializer_ThrowsArgumentNull_Model() { DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); Assert.ThrowsArgumentNull( () => serializerProvider.GetODataPayloadSerializer(model: null, type: typeof(int), request: request), "model"); }
public void GetODataPayloadSerializer_ThrowsArgumentNull_Request() { DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); Assert.ThrowsArgumentNull( () => serializerProvider.GetODataPayloadSerializer(EdmCoreModel.Instance, typeof(int), request: null), "request"); }
public void GetODataSerializer_ReturnsSameSerializer_ForSameType() { ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(_edmModel); ODataSerializer firstCallSerializer = serializerProvider.GetODataPayloadSerializer(typeof(ODataEntityDeserializerTests.Supplier)); ODataSerializer secondCallSerializer = serializerProvider.GetODataPayloadSerializer(typeof(ODataEntityDeserializerTests.Supplier)); Assert.Same(firstCallSerializer, secondCallSerializer); }
public void GetODataPayloadSerializer_ThrowsArgumentNull_Model() { DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); Assert.ThrowsArgumentNull( () => serializerProvider.GetODataPayloadSerializer(model: null, type: typeof(int), request: request), "model"); }
public void GetODataPayloadSerializer_ThrowsArgumentNull_Request() { DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); Assert.ThrowsArgumentNull( () => serializerProvider.GetODataPayloadSerializer(EdmCoreModel.Instance, typeof(int), request: null), "request"); }
public void GetODataSerializer_Primitive(Type type, EdmPrimitiveTypeKind edmPrimitiveTypeKind) { var serializerProvider = new DefaultODataSerializerProvider(_edmModel); var serializer = serializerProvider.GetODataPayloadSerializer(type); Assert.NotNull(serializer); var primitiveSerializer = Assert.IsType<ODataPrimitiveSerializer>(serializer); Assert.Equal(primitiveSerializer.EdmType.AsPrimitive().PrimitiveKind(), edmPrimitiveTypeKind); Assert.Equal(primitiveSerializer.ODataPayloadKind, ODataPayloadKind.Property); }
public void GetODataSerializer_ThrowsArgumentNull_EdmType() { // Arrange DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); // Act & Assert Assert.ThrowsArgumentNull( () => serializerProvider.SetEdmTypeSerializer(edmType: null, serializer: null), "edmType"); }
public void GetODataSerializer_Primitive(Type type, EdmPrimitiveTypeKind edmPrimitiveTypeKind) { var serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, type, request); Assert.NotNull(serializer); var primitiveSerializer = Assert.IsType<ODataPrimitiveSerializer>(serializer); Assert.Equal(primitiveSerializer.ODataPayloadKind, ODataPayloadKind.Property); }
public void GetODataSerializer_ODataError() { ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(_edmModel); ODataSerializer serializer = serializerProvider.GetODataPayloadSerializer(typeof(ODataError)); Assert.NotNull(serializer); Assert.Equal(typeof(ODataErrorSerializer), serializer.GetType()); Assert.Equal(ODataPayloadKind.Error, serializer.ODataPayloadKind); }
public void GetODataSerializer_Primitive(Type type, EdmPrimitiveTypeKind edmPrimitiveTypeKind) { var serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, type, request); Assert.NotNull(serializer); var primitiveSerializer = Assert.IsType <ODataPrimitiveSerializer>(serializer); Assert.Equal(primitiveSerializer.ODataPayloadKind, ODataPayloadKind.Property); }
public void GetODataSerializer_Entity() { var serializerProvider = new DefaultODataSerializerProvider(_edmModel); var serializer = serializerProvider.GetODataPayloadSerializer(typeof(ODataEntityDeserializerTests.Product)); Assert.NotNull(serializer); var entitySerializer = Assert.IsType<ODataEntityTypeSerializer>(serializer); Assert.True(entitySerializer.EdmType.IsEquivalentTo(_edmModel.GetEdmTypeReference(typeof(ODataEntityDeserializerTests.Product)))); Assert.Equal(entitySerializer.SerializerProvider, serializerProvider); Assert.Equal(entitySerializer.ODataPayloadKind, ODataPayloadKind.Entry); }
public void GetODataSerializer_Feed(Type collectionType) { var serializerProvider = new DefaultODataSerializerProvider(_edmModel); var serializer = serializerProvider.GetODataPayloadSerializer(collectionType); Assert.NotNull(serializer); var feedSerializer = Assert.IsType <ODataFeedSerializer>(serializer); Assert.True(feedSerializer.EdmType.IsCollection()); Assert.True(feedSerializer.EdmType.AsCollection().ElementType().IsEquivalentTo(_edmModel.GetEdmTypeReference(typeof(ODataEntityDeserializerTests.Supplier)))); }
public void GetODataSerializer_Complex() { var serializerProvider = new DefaultODataSerializerProvider(_edmModel); var serializer = serializerProvider.GetODataPayloadSerializer(typeof(ODataEntityDeserializerTests.Address)); Assert.NotNull(serializer); var complexSerializer = Assert.IsType<ODataComplexTypeSerializer>(serializer); Assert.True(complexSerializer.EdmType.IsEquivalentTo(_edmModel.GetEdmTypeReference(typeof(ODataEntityDeserializerTests.Address)))); Assert.Equal(complexSerializer.SerializerProvider, serializerProvider); Assert.Equal(complexSerializer.ODataPayloadKind, ODataPayloadKind.Property); }
public void GetODataSerializer_Primitive(Type type, EdmPrimitiveTypeKind edmPrimitiveTypeKind) { var serializerProvider = new DefaultODataSerializerProvider(_edmModel); var serializer = serializerProvider.GetODataPayloadSerializer(type); Assert.NotNull(serializer); var primitiveSerializer = Assert.IsType <ODataPrimitiveSerializer>(serializer); Assert.Equal(primitiveSerializer.EdmType.AsPrimitive().PrimitiveKind(), edmPrimitiveTypeKind); Assert.Equal(primitiveSerializer.ODataPayloadKind, ODataPayloadKind.Property); }
public void GetODataPayloadSerializer_ReturnsRawValueSerializer_ForValueRequests(Type type, EdmPrimitiveTypeKind edmPrimitiveTypeKind) { ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); request.ODataProperties().Path = new ODataPath(new ValuePathSegment()); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, type, request); Assert.NotNull(serializer); Assert.Equal(ODataPayloadKind.Value, serializer.ODataPayloadKind); }
public void GetODataSerializer_Complex() { var serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, typeof(ODataEntityDeserializerTests.Address), request); Assert.NotNull(serializer); var complexSerializer = Assert.IsType <ODataComplexTypeSerializer>(serializer); Assert.Equal(complexSerializer.SerializerProvider, serializerProvider); Assert.Equal(complexSerializer.ODataPayloadKind, ODataPayloadKind.Property); }
public void GetODataSerializer_Feed(Type collectionType) { var serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, collectionType, request); Assert.NotNull(serializer); var feedSerializer = Assert.IsType <ODataFeedSerializer>(serializer); Assert.Equal(feedSerializer.ODataPayloadKind, ODataPayloadKind.Feed); }
public void GetEdmTypeSerializer_Returns_SetEdmTypeSerializerInput() { // Arrange DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); IEdmTypeReference edmType = EdmCoreModel.Instance.GetInt32(isNullable: true); ODataEdmTypeSerializer serializer = new Mock <ODataEdmTypeSerializer>(edmType, ODataPayloadKind.Property).Object; serializerProvider.SetEdmTypeSerializer(edmType, serializer); // Act & Assert Assert.Same(serializer, serializerProvider.GetEdmTypeSerializer(edmType)); }
public void GetODataSerializer_Entity() { var serializerProvider = new DefaultODataSerializerProvider(_edmModel); var serializer = serializerProvider.GetODataPayloadSerializer(typeof(ODataEntityDeserializerTests.Product)); Assert.NotNull(serializer); var entitySerializer = Assert.IsType <ODataEntityTypeSerializer>(serializer); Assert.True(entitySerializer.EdmType.IsEquivalentTo(_edmModel.GetEdmTypeReference(typeof(ODataEntityDeserializerTests.Product)))); Assert.Equal(entitySerializer.SerializerProvider, serializerProvider); Assert.Equal(entitySerializer.ODataPayloadKind, ODataPayloadKind.Entry); }
public void GetODataSerializer_Complex() { var serializerProvider = new DefaultODataSerializerProvider(_edmModel); var serializer = serializerProvider.GetODataPayloadSerializer(typeof(ODataEntityDeserializerTests.Address)); Assert.NotNull(serializer); var complexSerializer = Assert.IsType <ODataComplexTypeSerializer>(serializer); Assert.True(complexSerializer.EdmType.IsEquivalentTo(_edmModel.GetEdmTypeReference(typeof(ODataEntityDeserializerTests.Address)))); Assert.Equal(complexSerializer.SerializerProvider, serializerProvider); Assert.Equal(complexSerializer.ODataPayloadKind, ODataPayloadKind.Property); }
public void CreateEdmTypeSerializer_Returns_Null_ForUnsupportedType() { // Arrange Mock<IEdmType> unsupportedEdmType = new Mock<IEdmType>(); unsupportedEdmType.Setup(e => e.TypeKind).Returns(EdmTypeKind.None); Mock<IEdmTypeReference> unsupportedEdmTypeReference = new Mock<IEdmTypeReference>(); unsupportedEdmTypeReference.Setup(e => e.Definition).Returns(unsupportedEdmType.Object); DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); // Act & Assert Assert.Null(serializerProvider.CreateEdmTypeSerializer(unsupportedEdmTypeReference.Object)); }
public void GetEdmTypeSerializer_Caches_CreateEdmTypeSerializerOutput() { // Arrange DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); IEdmTypeReference edmType = new Mock <IEdmTypeReference>().Object; // Act var serializer1 = serializerProvider.GetEdmTypeSerializer(edmType); var serializer2 = serializerProvider.GetEdmTypeSerializer(edmType); // Assert Assert.Same(serializer2, serializer1); }
public void GetODataSerializer_Enum() { var serializerProvider = new DefaultODataSerializerProvider(_edmModel); IEdmTypeReference edmEnumType = new EdmEnumTypeReference(new EdmEnumType("ODataDemo", "SupplierRating"), isNullable: false); var serializer = serializerProvider.GetEdmTypeSerializer(edmEnumType); Assert.NotNull(serializer); var enumSerializer = Assert.IsType <ODataEnumSerializer>(serializer); Assert.Equal(enumSerializer.EdmType, edmEnumType); Assert.Equal(enumSerializer.ODataPayloadKind, ODataPayloadKind.Property); Assert.Equal(enumSerializer.SerializerProvider, serializerProvider); }
public void GetODataSerializer_Entity() { var serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, typeof(ODataEntityDeserializerTests.Product), request); Assert.NotNull(serializer); var entitySerializer = Assert.IsType <ODataEntityTypeSerializer>(serializer); Assert.Equal(entitySerializer.SerializerProvider, serializerProvider); Assert.Equal(entitySerializer.ODataPayloadKind, ODataPayloadKind.Entry); }
public void GetODataSerializer_ComplexCollection() { var serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, typeof(IEnumerable <ODataEntityDeserializerTests.Address>), request); Assert.NotNull(serializer); var collectionSerializer = Assert.IsType <ODataCollectionSerializer>(serializer); Assert.Equal(collectionSerializer.ODataPayloadKind, ODataPayloadKind.Collection); Assert.Equal(collectionSerializer.SerializerProvider, serializerProvider); }
public void CreateEdmTypeSerializer_Returns_Null_ForUnsupportedType() { // Arrange Mock <IEdmType> unsupportedEdmType = new Mock <IEdmType>(); unsupportedEdmType.Setup(e => e.TypeKind).Returns(EdmTypeKind.None); Mock <IEdmTypeReference> unsupportedEdmTypeReference = new Mock <IEdmTypeReference>(); unsupportedEdmTypeReference.Setup(e => e.Definition).Returns(unsupportedEdmType.Object); DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); // Act & Assert Assert.Null(serializerProvider.CreateEdmTypeSerializer(unsupportedEdmTypeReference.Object)); }
public ODataCollectionSerializerTests() { _model = SerializationTestsHelpers.SimpleCustomerOrderModel(); _customerSet = _model.FindDeclaredEntityContainer("Default.Container").FindEntitySet("Customers"); _edmIntType = EdmCoreModel.Instance.GetPrimitive(EdmPrimitiveTypeKind.Int32, isNullable: false); _customer = new Customer() { FirstName = "Foo", LastName = "Bar", ID = 10, }; ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); _collectionType = new EdmCollectionTypeReference(new EdmCollectionType(_edmIntType), isNullable: false); _serializer = new ODataCollectionSerializer(serializerProvider); }
public void GetODataSerializer_ComplexCollection() { var serializerProvider = new DefaultODataSerializerProvider(_edmModel); var serializer = serializerProvider.GetODataPayloadSerializer(typeof(IEnumerable <ODataEntityDeserializerTests.Address>)); Assert.NotNull(serializer); var collectionSerializer = Assert.IsType <ODataCollectionSerializer>(serializer); Assert.True(collectionSerializer.EdmType.IsCollection()); Assert.True(collectionSerializer .EdmType.AsCollection() .ElementType() .IsEquivalentTo(_edmModel.GetEdmTypeReference(typeof(ODataEntityDeserializerTests.Address)))); Assert.Equal(collectionSerializer.ODataPayloadKind, ODataPayloadKind.Collection); Assert.Equal(collectionSerializer.SerializerProvider, serializerProvider); }
public ODataEntityTypeSerializerTests() { _model = SerializationTestsHelpers.SimpleCustomerOrderModel(); _customerSet = _model.FindDeclaredEntityContainer("Default.Container").FindEntitySet("Customers"); _customer = new Customer() { FirstName = "Foo", LastName = "Bar", ID = 10, }; ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(_model); _serializer = new ODataEntityTypeSerializer(new EdmEntityTypeReference(_customerSet.ElementType, isNullable: false), serializerProvider); _urlHelper = new Mock<UrlHelper>(new HttpRequestMessage()).Object; _writeContext = new ODataSerializerWriteContext(new ODataResponseContext()) { EntitySet = _customerSet, UrlHelper = _urlHelper }; }
public ODataCollectionSerializerTests() { _model = SerializationTestsHelpers.SimpleCustomerOrderModel(); _customerSet = _model.FindDeclaredEntityContainer("Default.Container").FindEntitySet("Customers"); _edmIntType = EdmCoreModel.Instance.GetPrimitive(EdmPrimitiveTypeKind.Int32, isNullable: false); _customer = new Customer() { FirstName = "Foo", LastName = "Bar", ID = 10, }; ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); _collectionType = new EdmCollectionTypeReference(new EdmCollectionType(_edmIntType), isNullable: false); _serializer = new ODataCollectionSerializer(serializerProvider); }
public ODataComplexTypeSerializerTests() { _model = SerializationTestsHelpers.SimpleCustomerOrderModel(); _address = new Address() { Street = "One Microsoft Way", City = "Redmond", State = "Washington", Country = "United States", ZipCode = "98052" }; _addressType = _model.FindDeclaredType("Default.Address") as IEdmComplexType; ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); _serializer = new ODataComplexTypeSerializer(new EdmComplexTypeReference(_addressType, isNullable: false), serializerProvider); }
public ODataComplexTypeSerializerTests() { _model = SerializationTestsHelpers.SimpleCustomerOrderModel(); _address = new Address() { Street = "One Microsoft Way", City = "Redmond", State = "Washington", Country = "United States", ZipCode = "98052" }; _addressType = _model.FindDeclaredType("Default.Address") as IEdmComplexType; ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(_model); _serializer = new ODataComplexTypeSerializer(new EdmComplexTypeReference(_addressType, isNullable: false), serializerProvider); }
public ODataEntityTypeSerializerTests() { _model = SerializationTestsHelpers.SimpleCustomerOrderModel(); _customerSet = _model.FindDeclaredEntityContainer("Default.Container").FindEntitySet("Customers"); _customer = new Customer() { FirstName = "Foo", LastName = "Bar", ID = 10, }; ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(_model); _serializer = new ODataEntityTypeSerializer(new EdmEntityTypeReference(_customerSet.ElementType, isNullable: false), serializerProvider); _urlHelper = new Mock <UrlHelper>(new HttpRequestMessage()).Object; _writeContext = new ODataSerializerContext() { EntitySet = _customerSet, UrlHelper = _urlHelper }; }
public ODataEntityTypeSerializerTests() { _model = SerializationTestsHelpers.SimpleCustomerOrderModel(); _model.SetAnnotationValue<ClrTypeAnnotation>(_model.FindType("Default.Customer"), new ClrTypeAnnotation(typeof(Customer))); _model.SetAnnotationValue<ClrTypeAnnotation>(_model.FindType("Default.Order"), new ClrTypeAnnotation(typeof(Order))); _customerSet = _model.FindDeclaredEntityContainer("Default.Container").FindEntitySet("Customers"); _customer = new Customer() { FirstName = "Foo", LastName = "Bar", ID = 10, }; ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); _serializer = new ODataEntityTypeSerializer( new EdmEntityTypeReference(_customerSet.ElementType, isNullable: false), serializerProvider); _writeContext = new ODataSerializerContext() { EntitySet = _customerSet, Model = _model }; }
public void WriteObjectInline_Calls_CreateNavigationLinks() { // Arrange var entityInstance = new object(); ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); ODataWriter writer = new Mock<ODataWriter>().Object; Mock<ODataEntityTypeSerializer> serializer = new Mock<ODataEntityTypeSerializer>(_serializer.EdmType, serializerProvider); serializer.CallBase = true; _writeContext.Request = new HttpRequestMessage(); _writeContext.Url = new UrlHelper(_writeContext.Request); serializer.Setup(s => s.CreateEntry(It.IsAny<EntityInstanceContext>(), _writeContext)).Returns(new ODataEntry()); serializer .Setup(s => s.CreateNavigationLinks(It.IsAny<EntityInstanceContext>(), _writeContext)) .Callback((EntityInstanceContext instanceContext, ODataSerializerContext writeContext) => { VerifyEntityInstanceContext(instanceContext, writeContext); Assert.Equal(entityInstance, instanceContext.EntityInstance); Assert.Equal(serializer.Object.EdmType.Definition, instanceContext.EntityType); }); // Act serializer.Object.WriteObjectInline(entityInstance, writer, _writeContext); // Assert serializer.VerifyAll(); }
public void GetEdmTypeSerializer_Caches_CreateEdmTypeSerializerOutput() { // Arrange DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); IEdmTypeReference edmType = new Mock<IEdmTypeReference>().Object; // Act var serializer1 = serializerProvider.GetEdmTypeSerializer(edmType); var serializer2 = serializerProvider.GetEdmTypeSerializer(edmType); // Assert Assert.Same(serializer2, serializer1); }
public void GetODataSerializer_ReturnsSameSerializer_ForSameType() { ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); ODataSerializer firstCallSerializer = serializerProvider.GetODataPayloadSerializer(_edmModel, typeof(ODataEntityDeserializerTests.Supplier), request); ODataSerializer secondCallSerializer = serializerProvider.GetODataPayloadSerializer(_edmModel, typeof(ODataEntityDeserializerTests.Supplier), request); Assert.Same(firstCallSerializer, secondCallSerializer); }
public void GetODataSerializer_Returns_ExpectedSerializerType(Type payloadType, Type expectedSerializerType) { ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); ODataSerializer serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, payloadType, request); Assert.NotNull(serializer); Assert.IsType(expectedSerializerType, serializer); }
public void GetODataSerializer_ComplexCollection() { var serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, typeof(IEnumerable<ODataEntityDeserializerTests.Address>), request); Assert.NotNull(serializer); var collectionSerializer = Assert.IsType<ODataCollectionSerializer>(serializer); Assert.Equal(collectionSerializer.ODataPayloadKind, ODataPayloadKind.Collection); Assert.Equal(collectionSerializer.SerializerProvider, serializerProvider); }
public void GetODataSerializer_Feed(Type collectionType) { var serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, collectionType, request); Assert.NotNull(serializer); var feedSerializer = Assert.IsType<ODataFeedSerializer>(serializer); Assert.Equal(feedSerializer.ODataPayloadKind, ODataPayloadKind.Feed); }
public void GetODataSerializer_Complex() { var serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, typeof(ODataEntityDeserializerTests.Address), request); Assert.NotNull(serializer); var complexSerializer = Assert.IsType<ODataComplexTypeSerializer>(serializer); Assert.Equal(complexSerializer.SerializerProvider, serializerProvider); Assert.Equal(complexSerializer.ODataPayloadKind, ODataPayloadKind.Property); }
public void GetODataSerializer_Entity() { var serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, typeof(ODataEntityDeserializerTests.Product), request); Assert.NotNull(serializer); var entitySerializer = Assert.IsType<ODataEntityTypeSerializer>(serializer); Assert.Equal(entitySerializer.SerializerProvider, serializerProvider); Assert.Equal(entitySerializer.ODataPayloadKind, ODataPayloadKind.Entry); }
public void GetODataSerializer_ThrowsArgumentNull_EdmType() { // Arrange DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); // Act & Assert Assert.ThrowsArgumentNull( () => serializerProvider.SetEdmTypeSerializer(edmType: null, serializer: null), "edmType"); }
public void GetODataSerializer_Feed(Type collectionType) { var serializerProvider = new DefaultODataSerializerProvider(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, collectionType); Assert.NotNull(serializer); var feedSerializer = Assert.IsType<ODataFeedSerializer>(serializer); Assert.True(feedSerializer.EdmType.IsCollection()); Assert.True(feedSerializer.EdmType.AsCollection().ElementType().IsEquivalentTo(_edmModel.GetEdmTypeReference(typeof(ODataEntityDeserializerTests.Supplier)))); }
public void GetODataSerializer_ComplexCollection() { var serializerProvider = new DefaultODataSerializerProvider(); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, typeof(IEnumerable<ODataEntityDeserializerTests.Address>)); Assert.NotNull(serializer); var collectionSerializer = Assert.IsType<ODataCollectionSerializer>(serializer); Assert.True(collectionSerializer.EdmType.IsCollection()); Assert.True(collectionSerializer .EdmType.AsCollection() .ElementType() .IsEquivalentTo(_edmModel.GetEdmTypeReference(typeof(ODataEntityDeserializerTests.Address)))); Assert.Equal(collectionSerializer.ODataPayloadKind, ODataPayloadKind.Collection); Assert.Equal(collectionSerializer.SerializerProvider, serializerProvider); }
public void GetODataSerializer_ODataError() { ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); ODataSerializer serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, typeof(ODataError)); Assert.NotNull(serializer); Assert.Equal(typeof(ODataErrorSerializer), serializer.GetType()); Assert.Equal(ODataPayloadKind.Error, serializer.ODataPayloadKind); }
public void GetODataPayloadSerializer_ReturnsRawValueSerializer_ForValueRequests(Type type, EdmPrimitiveTypeKind edmPrimitiveTypeKind) { ODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); HttpRequestMessage request = new HttpRequestMessage(); request.ODataProperties().Path = new ODataPath(new ValuePathSegment()); var serializer = serializerProvider.GetODataPayloadSerializer(_edmModel, type, request); Assert.NotNull(serializer); Assert.Equal(ODataPayloadKind.Value, serializer.ODataPayloadKind); }
public void GetEdmTypeSerializer_Returns_SetEdmTypeSerializerInput() { // Arrange DefaultODataSerializerProvider serializerProvider = new DefaultODataSerializerProvider(); IEdmTypeReference edmType = EdmCoreModel.Instance.GetInt32(isNullable: true); ODataEntrySerializer serializer = new Mock<ODataEntrySerializer>(edmType, ODataPayloadKind.Property).Object; serializerProvider.SetEdmTypeSerializer(edmType, serializer); // Act & Assert Assert.Same(serializer, serializerProvider.GetEdmTypeSerializer(edmType)); }