public void AnalyzeTestSimpleList()
        {
            string[] syntax = new string[]
            {
                "[", "li1", ",", "li2", "]"
            };

            JsonObject obj = JsonSyntaxAnalyzer.Parse(syntax);

            obj.AssertRootIsList();
            obj.AssertListWithSimpleValues(null, "li1", "li2");
        }
        public void AnalyzeTestListOfObjects()
        {
            string[] syntax = new string[]
            {
                "[", "{", "key0", ":", "val0", "}", ",", "{", "key1", ":", "val1", "}", "]"
            };

            JsonObject obj = JsonSyntaxAnalyzer.Parse(syntax);

            obj.AssertRootIsList();
            obj.NestedValues.AssertIsValidJsonObjectArray(2);

            for (int i = 0; i <= 1; i++)
            {
                // Test the object
                JsonObject listElement = obj.NestedValues[i];
                listElement.AssertListElementIsObject();
                listElement.NestedValues.AssertIsValidJsonObjectArray(1);

                // Test the objects inner key value pair
                JsonObject objectKeyValue = listElement.NestedValues[0];
                objectKeyValue.AssertValue($"key{i}", $"val{i}");
            }
        }