Esempio n. 1
0
 void TestObject2()
 {
     Assert.Equal(LeptParseResult.OK, parser.Parse(
                      " { " +
                      "\"n\" : null , " +
                      "\"f\" : false , " +
                      "\"t\" : true , " +
                      "\"i\" : 123 , " +
                      "\"s\" : \"abc\", " +
                      "\"a\" : [ 1, 2, 3 ]," +
                      "\"o\" : { \"1\" : 1, \"2\" : 2, \"3\" : 3 }" +
                      " } "
                      ));
     Assert.Equal(LeptType.Object, parser.Type);
     Assert.Equal(7, parser.Object.Length);
     Assert.Equal("n", parser.Object[0].Key);
     Assert.Equal(LeptType.Null, parser.Object[0].Value.Type);
     Assert.Equal("f", parser.Object[1].Key);
     Assert.Equal(LeptType.False, parser.Object[1].Value.Type);
     Assert.Equal("t", parser.Object[2].Key);
     Assert.Equal(LeptType.True, parser.Object[2].Value.Type);
     Assert.Equal("i", parser.Object[3].Key);
     Assert.Equal(LeptType.Number, parser.Object[3].Value.Type);
     Assert.Equal(123.0, parser.Object[3].Value.Number);
     Assert.Equal("s", parser.Object[4].Key);
     Assert.Equal(LeptType.String, parser.Object[4].Value.Type);
     Assert.Equal("abc", parser.Object[4].Value.String);
     Assert.Equal("a", parser.Object[5].Key);
     Assert.Equal(LeptType.Array, parser.Object[5].Value.Type);
     Assert.Equal(3, parser.Object[5].Value.Array.Length);
     for (int i = 0; i < 3; i++)
     {
         Lept element = parser.Object[5].Value.Array[i];
         Assert.Equal(LeptType.Number, element.Type);
         Assert.Equal(i + 1.0, element.Number);
     }
     Assert.Equal("o", parser.Object[6].Key);
     {
         Lept element1 = parser.Object[6].Value;
         Assert.Equal(LeptType.Object, element1.Type);
         for (int i = 0; i < 3; i++)
         {
             Lept element2 = element1.Object[i].Value;
             Assert.Equal('1' + i, element1.Object[i].Key[0]);
             Assert.Equal(1, element1.Object[i].Key.Length);
             Assert.Equal(LeptType.Number, element2.Type);
             Assert.Equal(i + 1.0, element2.Number);
         }
     }
 }
Esempio n. 2
0
 void TestArray2()
 {
     Assert.Equal(LeptParseResult.OK, parser.Parse("[ [ ] , [ 0 ] , [ 0 , 1 ] , [ 0 , 1 , 2 ] ]"));
     Assert.Equal(LeptType.Array, parser.Type);
     Assert.Equal(4, parser.Array.Length);
     for (int i = 0; i < 4; i++)
     {
         Lept element1 = parser.Array[i];
         Assert.Equal(LeptType.Array, element1.Type);
         Assert.Equal(i, element1.Array.Length);
         for (int j = 0; j < i; j++)
         {
             Lept element2 = element1.Array[j];
             Assert.Equal(LeptType.Number, element2.Type);
             Assert.Equal((double)j, element2.Number);
         }
     }
 }