public async Task ReadODataResourceAsync() { // Arrange var payload = "{\"Customer\":{\"Id\":1,\"Name\":\"Sue\"}}"; var stringReader = new StringReader(payload); using (var jsonReader = new JsonReader(stringReader, false)) { var bufferingReader = new BufferingJsonReader(jsonReader, "any", MaxInnerErrorDepth); // Act await bufferingReader.ReadAsync(); await bufferingReader.ReadStartObjectAsync(); await bufferingReader.ReadPropertyNameAsync(); var odataValue = await bufferingReader.ReadODataValueAsync(); // Assert var resourceValue = Assert.IsType <ODataResourceValue>(odataValue); Assert.Equal(2, resourceValue.Properties.Count()); var prop1 = resourceValue.Properties.First(); var prop2 = resourceValue.Properties.Last(); Assert.Equal("Id", prop1.Name); Assert.Equal(1, prop1.Value); Assert.Equal("Name", prop2.Name); Assert.Equal("Sue", prop2.Value); } }
public async Task CanStreamAsync_ForReaderNotInBufferingState(string payload, bool expected) { var stringReader = new StringReader(string.Format("{{\"Data\":{0}}}", payload)); using (var jsonReader = new JsonReader(stringReader, false)) { var bufferingReader = new BufferingJsonReader(jsonReader, "any", MaxInnerErrorDepth); await bufferingReader.ReadAsync(); await bufferingReader.ReadStartObjectAsync(); await bufferingReader.ReadPropertyNameAsync(); Assert.Equal(expected, await bufferingReader.CanStreamAsync()); } }