示例#1
0
        public void SkipArrayElement()
        {
            MockedJsonReader reader = new MockedJsonReader();

            reader.Begin().Array().String("foo").String("bar").EndArray().End();
            reader.Read();
            reader.Read();
            reader.Skip();
            Assert.AreEqual("bar", reader.ReadString());
        }
 public void ReadAfterEOF()
 {
     MockedJsonReader reader = new MockedJsonReader();
     reader.Begin().End();
     
     Assert.AreEqual(JsonTokenClass.BOF, reader.TokenClass);
     Assert.IsFalse(reader.Read());
     Assert.IsTrue(reader.EOF);
     Assert.IsFalse(reader.Read());
 }
示例#3
0
        public void ReadAfterEOF()
        {
            MockedJsonReader reader = new MockedJsonReader();

            reader.Begin().End();

            Assert.AreEqual(JsonTokenClass.BOF, reader.TokenClass);
            Assert.IsFalse(reader.Read());
            Assert.IsTrue(reader.EOF);
            Assert.IsFalse(reader.Read());
        }
示例#4
0
        public void CannotExceedMaxDepth()
        {
            MockedJsonReader reader = new MockedJsonReader();
            reader.MaxDepth = 2;
            reader.Array().Array().Array();
            reader.Read();
            reader.Read();
            reader.Read();

            // Exception will be thrown here, when attempting to read
            // first value *after* the depth has been exceeded.

            reader.Read();
        }
示例#5
0
        public void CannotExceedMaxDepth()
        {
            MockedJsonReader reader = new MockedJsonReader();

            reader.MaxDepth = 2;
            reader.Array().Array().Array();
            reader.Read();
            reader.Read();
            reader.Read();

            // Exception will be thrown here, when attempting to read
            // first value *after* the depth has been exceeded.

            reader.Read();
        }
示例#6
0
        public void SkipObjectMember()
        {
            MockedJsonReader reader = new MockedJsonReader();

            reader.Begin().Object()
            .Member("m1", "v1")
            .Member("m2").Object()
            .Member("m3", "v3")
            .Member("m4", "v4")
            .EndObject()
            .Member("m5", "v5")
            .EndObject()
            .End();
            reader.Read();
            reader.Read();
            reader.Skip();
            Assert.AreEqual(JsonTokenClass.Member, reader.TokenClass);
            Assert.AreEqual("m2", reader.Text);
            reader.Skip();
            Assert.AreEqual("m5", reader.ReadMember());
        }
示例#7
0
        public void ReadMember()
        {
            MockedJsonReader reader = new MockedJsonReader();

            reader.Begin().Object().Member("mon", "Monday").EndObject().End();

            reader.ReadToken(JsonTokenClass.Object);
            Assert.AreEqual("mon", reader.ReadMember());
            Assert.AreEqual("Monday", reader.ReadString());
            Assert.AreEqual(JsonTokenClass.EndObject, reader.TokenClass);
            Assert.IsFalse(reader.Read());
        }
示例#8
0
        public void ReadTypedNumber()
        {
            MockedJsonReader reader = new MockedJsonReader();

            reader.Begin().Array().
            Number(123).
            Number(456).
            Number(2.5).
            Number(4.2).
            Number(9.99m).
            EndArray().End();

            reader.ReadToken(JsonTokenClass.Array);
            Assert.AreEqual(123, (int)reader.ReadNumber());
            Assert.AreEqual(456L, (long)reader.ReadNumber());
            Assert.AreEqual(2.5f, (float)reader.ReadNumber());
            Assert.AreEqual(4.2, (double)reader.ReadNumber());
            Assert.AreEqual(9.99m, (decimal)reader.ReadNumber());
            reader.ReadToken(JsonTokenClass.EndArray);
            Assert.IsFalse(reader.Read());
        }
 public void ReadMember()
 {
     MockedJsonReader reader = new MockedJsonReader();
     reader.Begin().Object().Member("mon", "Monday").EndObject().End();
    
     reader.ReadToken(JsonTokenClass.Object);
     Assert.AreEqual("mon", reader.ReadMember());
     Assert.AreEqual("Monday", reader.ReadString());
     Assert.AreEqual(JsonTokenClass.EndObject, reader.TokenClass);
     Assert.IsFalse(reader.Read());
 }
 public void ReadTypedNumber()
 {
     MockedJsonReader reader = new MockedJsonReader();
     reader.Begin().Array().
         Number(123).
         Number(456).
         Number(2.5).
         Number(4.2).
         Number(9.99m).
     EndArray().End();
    
     reader.ReadToken(JsonTokenClass.Array);
     Assert.AreEqual(123, reader.ReadInt32());
     Assert.AreEqual(456L, reader.ReadInt64());
     Assert.AreEqual(2.5f, reader.ReadSingle());
     Assert.AreEqual(4.2, reader.ReadDouble());
     Assert.AreEqual(9.99m, reader.ReadDecimal());
     Assert.AreEqual(JsonTokenClass.EndArray, reader.TokenClass);
     Assert.IsFalse(reader.Read());
 }
示例#11
0
 public void SkipObjectMember()
 {
     MockedJsonReader reader = new MockedJsonReader();
     reader.Begin().Object()
         .Member("m1", "v1")
         .Member("m2").Object()
             .Member("m3", "v3")
             .Member("m4", "v4")
             .EndObject()
         .Member("m5", "v5")
         .EndObject()
     .End();
     reader.Read();
     reader.Read();
     reader.Skip();
     Assert.AreEqual(JsonTokenClass.Member, reader.TokenClass);
     Assert.AreEqual("m2", reader.Text);
     reader.Skip();
     Assert.AreEqual("m5", reader.ReadMember());
 }
示例#12
0
 public void SkipArrayElement()
 {
     MockedJsonReader reader = new MockedJsonReader();
     reader.Begin().Array().String("foo").String("bar").EndArray().End();
     reader.Read();
     reader.Read();
     reader.Skip();
     Assert.AreEqual("bar", reader.ReadString());
 }
示例#13
0
        public void ReadTypedNumber()
        {
            MockedJsonReader reader = new MockedJsonReader();
            reader.Begin().Array().
                Number(123).
                Number(456).
                Number(2.5).
                Number(4.2).
                Number(9.99m).
            EndArray().End();

            reader.ReadToken(JsonTokenClass.Array);
            Assert.AreEqual(123, (int) reader.ReadNumber());
            Assert.AreEqual(456L, (long) reader.ReadNumber());
            Assert.AreEqual(2.5f, (float) reader.ReadNumber());
            Assert.AreEqual(4.2, (double) reader.ReadNumber());
            Assert.AreEqual(9.99m, (decimal) reader.ReadNumber());
            reader.ReadToken(JsonTokenClass.EndArray);
            Assert.IsFalse(reader.Read());
        }