예제 #1
0
        public async Task Empty_Array_elements_are_not_allowed()
        {
            var json       = "{\"Array1\" : [1,,3,4]}";
            var intWriter  = new IntegerValueStreamWriter();
            var TestStream = new MemoryStream(Encoding.ASCII.GetBytes(json));

            elements.Add("$.Array1[3]", intWriter);
            testStreamer = new JsonElementStreamer(TestStream, outStream, elements);
            await testStreamer.Next();
        }
        public async Task ElementStreamer_locates_integer_last_array_element_Value()
        {
            var json       = "{\"Array1\" : [1,2,3,4]}";
            var intWriter  = new IntegerValueStreamWriter();
            var TestStream = new MemoryStream(Encoding.ASCII.GetBytes(json));

            elements.Add("$.Array1[3]", intWriter);
            testStreamer = new JsonElementStreamer(TestStream, outStream, elements);
            await testStreamer.Next();

            Assert.AreEqual(Enums.StreamerStatus.StartOfData, testStreamer.Status);
            await testStreamer.Next();

            Assert.AreEqual(4, intWriter.Value);
            Assert.AreEqual(Enums.StreamerStatus.EndOfData, testStreamer.Status);
            await testStreamer.Next();

            Assert.AreEqual(Enums.StreamerStatus.Complete, testStreamer.Status);
            outStream.Position = 0;
            var outstreamContent = new StreamReader(outStream).ReadToEnd();

            Assert.AreEqual(json, outstreamContent);
        }