public async Task ReadObjectAsync_AfterObject_GetsNextProperty()
        {
            // Arrange

            using var stream = ResourceHelper.ReadResourceAsStream(@"Documents\Query\query-n1ql-error-response-400.json");

            using var reader = new DefaultJsonStreamReader(stream, CreateDefaultJsonSerializer());

            Assert.True(await reader.InitializeAsync());

            // Act

            await reader.ReadToNextAttributeAsync();

            await reader.ReadToNextAttributeAsync();

            await reader.ReadObjectsAsync <dynamic>().ToListAsync();

            await reader.ReadToNextAttributeAsync();

            await reader.ReadToNextAttributeAsync();

            await reader.ReadObjectAsync <MetricsData>();

            var result = await reader.ReadToNextAttributeAsync();

            // Assert

            Assert.Null(result);
        }
        public async Task ReadArrayAsync_NotOnArray_InvalidOperationException()
        {
            // Arrange

            using var stream = ResourceHelper.ReadResourceAsStream(@"Documents\Views\200-success.json");

            using var reader = new DefaultJsonStreamReader(stream, CreateDefaultJsonSerializer());

            Assert.True(await reader.InitializeAsync());

            // Act/Assert

            await reader.ReadToNextAttributeAsync();

            await Assert.ThrowsAsync <InvalidOperationException>(
                () => reader.ReadObjectsAsync <dynamic>().ToListAsync().AsTask());
        }
        public async Task ReadArrayAsync_ReturnsArray()
        {
            // Arrange

            using var stream = ResourceHelper.ReadResourceAsStream(@"Documents\Views\200-success.json");

            using var reader = new DefaultJsonStreamReader(stream, CreateDefaultJsonSerializer());

            Assert.True(await reader.InitializeAsync());

            // Act

            await reader.ReadToNextAttributeAsync();

            await reader.ReadToNextAttributeAsync();

            var result = await reader.ReadObjectsAsync <dynamic>().ToListAsync();

            // Assert

            Assert.Equal(4, result.Count);
            Assert.Equal("21st_amendment_brewery_cafe", (string)result[0]["id"]);
        }