Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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());
            }
        }