Пример #1
0
        public void parsesEmptyDictLiteral()
        {
            String      statement = "<:>";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DictLiteral);
            Assert.AreEqual("<:>", literal.ToString());
        }
Пример #2
0
        public void parsesSimpleDictLiteral()
        {
            String      statement = "< \"john\" : 1234, eric : 5678 >";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DictLiteral);
            Assert.AreEqual("<\"john\":1234, eric:5678>", generate(literal)); // not very relevant since the literal is not evaluated yet
        }
Пример #3
0
        public void parsesPeriod()
        {
            String      statement = "'P3Y'";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is PeriodLiteral);
            Assert.AreEqual("'P3Y'", generate(literal));
            Assert.AreEqual(3, ((PeriodLiteral)literal).getValue().Years);
        }
Пример #4
0
        public void parsesDateTimeWithMillis()
        {
            String      statement = "'2012-10-09T15:18:17.487Z'";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DateTimeLiteral);
            Assert.AreEqual("'2012-10-09T15:18:17.487Z'", literal.ToString());
            Assert.AreEqual(new DateTimeValue(2012, 10, 9, 15, 18, 17, 487), ((DateTimeLiteral)literal).getValue());
        }
Пример #5
0
        public void parsesSimpleTime()
        {
            String      statement = "'15:03:10'";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is TimeLiteral);
            Assert.AreEqual("'15:03:10'", literal.ToString());
            Assert.AreEqual(new TimeValue(15, 03, 10, 0), ((TimeLiteral)literal).getValue());
        }
Пример #6
0
        public void parsesSimpleDate()
        {
            String      statement = "'2012-10-09'";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DateLiteral);
            Assert.AreEqual("'2012-10-09'", generate(literal));
            Assert.AreEqual(new DateValue(2012, 10, 9), ((DateLiteral)literal).getValue());
        }
Пример #7
0
        public void parsesEmptyListLiteral()
        {
            String      statement = "[]";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is ListLiteral);
            Assert.AreEqual("[]", literal.ToString());
            Assert.AreEqual(0, ((ListLiteral)literal).getValue().Count);
        }
Пример #8
0
        public void parsesDecimalLiteral()
        {
            String      statement = "1234.13";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DecimalLiteral);
            Assert.AreEqual("1234.13", generate(literal));
            Assert.AreEqual(1234.13, ((DecimalLiteral)literal).getValue().DoubleValue, 0.0000001);
        }
Пример #9
0
        public void parsesHexaLiteral()
        {
            String      statement = "0x0A11";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is HexaLiteral);
            Assert.AreEqual("0x0A11", generate(literal));
            Assert.AreEqual(0x0A11, ((HexaLiteral)literal).getValue().LongValue);
        }
Пример #10
0
        public void parsesIntegerLiteral()
        {
            String      statement = "1234";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is IntegerLiteral);
            Assert.AreEqual("1234", literal.ToString());
            Assert.AreEqual(1234, ((IntegerLiteral)literal).getValue().LongValue);
        }
Пример #11
0
        public void parsesStringLiteral()
        {
            String      statement = "\"hello\"";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is TextLiteral);
            Assert.AreEqual("\"hello\"", generate(literal));
            Assert.AreEqual("hello", ((TextLiteral)literal).getValue().Value);
        }
Пример #12
0
        public void parsesDateTimeWithTZ()
        {
            String      statement = "'2012-10-09T15:18:17+02:00'";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DateTimeLiteral);
            Assert.AreEqual("'2012-10-09T15:18:17+02:00'", literal.ToString());
            TimeSpan      offset   = new TimeSpan(2, 0, 0);
            DateTimeValue expected = new DateTimeValue(2012, 10, 9, 15, 18, 17, 0, offset);
            DateTimeValue actual   = ((DateTimeLiteral)literal).getValue();

            Assert.IsTrue(expected.Equals(actual));
        }
Пример #13
0
        public void parsesSimpleListLiteral()
        {
            String      statement = "[ john, 123 ]";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.AreEqual("[john, 123]", generate(literal));
            Assert.IsTrue(literal is ListLiteral);
            ExpressionList list = ((ListLiteral)literal).Expressions;

            Assert.AreEqual(2, list.Count);
            Assert.IsTrue(list[0] is InstanceExpression);
            Assert.IsTrue(list[1] is IntegerLiteral);
        }
Пример #14
0
        public void parsesBooleanLiteral()
        {
            String      statement = "true";
            OTestParser parser    = new OTestParser(statement);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is BooleanLiteral);
            Assert.AreEqual("true", literal.ToString());
            Assert.AreEqual(true, ((BooleanLiteral)literal).getValue().Value);
            statement = "false";
            parser    = new OTestParser(statement);
            literal   = parser.parse_literal_expression();
            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is BooleanLiteral);
            Assert.AreEqual("false", literal.ToString());
            Assert.AreEqual(false, ((BooleanLiteral)literal).getValue().Value);
        }