Exemple #1
0
        public void JsonBool_False()
        {
            var parser = Parser.JsonBoolean;
            var result = parser.Parse("false");

            ParseAssert.ValueEquals(false, result, r => ((JsonBool)r).Value);
        }
Exemple #2
0
        public void CsvLine_MixedQuotedUnquotedValues()
        {
            var parser = Parser.Line;
            var result = parser.Parse(@"""test"",42,""x""");

            ParseAssert.ValueEquals(new string[] { "test", "42", "x" }, result);
        }
Exemple #3
0
        public void JsonObject_SingleProperty()
        {
            var parser = Parser.Object;
            var result = parser.Parse(@"{ ""test"": ""42"" }");

            ParseAssert.ValueEquals("42", result, v => ((JsonString)v["test"]).Value);
        }
Exemple #4
0
        public void JsonNull()
        {
            var parser = Parser.JsonNull;
            var result = parser.Parse("null");

            ParseAssert.ValueEquals(typeof(JsonNull), result, v => v.GetType());
        }
Exemple #5
0
        public void JsonObject_EmptyObject()
        {
            var parser = Parser.Object;
            var result = parser.Parse("{}");

            ParseAssert.ValueEquals(0, result, v => v.Count);
        }
Exemple #6
0
        public void JsonString()
        {
            var parser = Parser.StringLiteral;
            var result = parser.Parse("\"test\"");

            ParseAssert.ValueEquals("test", result);
        }
Exemple #7
0
        public void JsonArray_SingleValue()
        {
            var parser = Parser.Array;
            var result = parser.Parse("[true]");

            ParseAssert.ValueEquals(true, result, v => ((JsonBool)v.First()).Value);
        }
Exemple #8
0
        public void CsvLine()
        {
            var parser = Parser.Line;
            var result = parser.Parse("test,42,x");

            ParseAssert.ValueEquals(new string[] { "test", "42", "x" }, result);
        }
Exemple #9
0
        public void CsvLine_SeparatorsOnly()
        {
            var parser = Parser.Line;
            var result = parser.Parse(",,");

            ParseAssert.ValueEquals(new string[] { "", "", "" }, result);
        }
Exemple #10
0
        public void CsvQuotedValue_EscapedQuote()
        {
            var parser = Parser.QuotedValue;
            var result = parser.Parse(@"""te""""st""");

            ParseAssert.ValueEquals(@"te""st", result);
        }
Exemple #11
0
        public void CsvQuotedValue_SeparatorValue()
        {
            var parser = Parser.QuotedValue;
            var result = parser.Parse(@"""t,e,s,t""");

            ParseAssert.ValueEquals("t,e,s,t", result);
        }
Exemple #12
0
        public void CsvUnquotedValue_EmptyString()
        {
            var parser = Parser.UnquotedValue;
            var result = parser.Parse("");

            ParseAssert.ValueEquals("", result);
        }
Exemple #13
0
        public void CsvUnquotedValue()
        {
            var parser = Parser.UnquotedValue;
            var result = parser.Parse("test");

            ParseAssert.ValueEquals("test", result);
        }
Exemple #14
0
        public void JsonString_EscapedSlash()
        {
            var parser = Parser.StringLiteral;
            var result = parser.Parse(@"""\\""");

            ParseAssert.ValueEquals("\\", result);
        }
Exemple #15
0
        public void JsonArray_EmptyArray()
        {
            var parser = Parser.Array;
            var result = parser.Parse("[]");

            ParseAssert.ValueEquals(new JsonValue[0], result);
        }
Exemple #16
0
        public void FalseLiteral()
        {
            var parser = Parser.FalseLiteral;
            var result = parser.Parse("false");

            ParseAssert.ValueEquals(false, result);
        }
Exemple #17
0
        public void JsonString_EscapedQuote()
        {
            var parser = Parser.StringLiteral;
            var result = parser.Parse("\"\\\"escaped quotes\\\"\"");

            ParseAssert.ValueEquals("\"escaped quotes\"", result);
        }
Exemple #18
0
        public void TrueLiteral()
        {
            var parser = Parser.TrueLiteral;
            var result = parser.Parse("true");

            ParseAssert.ValueEquals(true, result);
        }
Exemple #19
0
        public void JsonObject_NestedObjects()
        {
            var parser = Parser.Object;
            var result = parser.Parse(@"{ ""x"" : { ""y"": true } }");

            ParseAssert.ValueEquals(true, result, v => ((JsonBool)((JsonObject)v["x"]).Values["y"]).Value);
        }
Exemple #20
0
        public void JsonArray_NestedArray()
        {
            var parser = Parser.Array;
            var result = parser.Parse(@"[ true, [ false, false ] ]");

            ParseAssert.ValueEquals(true, result, v => ((JsonBool)v.First()).Value);
            ParseAssert.ValueEquals(2, result, v => ((JsonArray)v.Skip(1).First()).Values.Count());
        }
Exemple #21
0
        public void JsonObject_MultipleProperties()
        {
            var parser = Parser.Object;
            var result = parser.Parse(@"{ ""test"": ""42"", ""x"": true }");

            ParseAssert.ValueEquals("42", result, v => ((JsonString)v["test"]).Value);
            ParseAssert.ValueEquals(true, result, v => ((JsonBool)v["x"]).Value);
        }
Exemple #22
0
        public void JsonArray_WithWhitespace()
        {
            var parser = Parser.Array;
            var result = parser.Parse(@"[ true
                                     , false ]");

            ParseAssert.ValueEquals(true, result, v => ((JsonBool)v.First()).Value);
            ParseAssert.ValueEquals(false, result, v => ((JsonBool)v.Skip(1).First()).Value);
        }
Exemple #23
0
        public void JsonArray_MultipleValues()
        {
            var parser = Parser.Array;
            var result = parser.Parse("[true,false,true]");

            ParseAssert.ValueEquals(true, result, v => ((JsonBool)v.First()).Value);
            ParseAssert.ValueEquals(false, result, v => ((JsonBool)v.Skip(1).First()).Value);
            ParseAssert.ValueEquals(true, result, v => ((JsonBool)v.Skip(2).First()).Value);
        }