Exemplo n.º 1
0
        public void AndOrTests()
        {
            TagExpression onlyAnd = Parser.ParseExpression(NewState("1==2 and 2==2 AND 3==2 and 4==2 and 5==2"));

            Assert.That(onlyAnd.ToString(), Is.EqualTo("(((((1 == 2) AND (2 == 2)) AND (3 == 2)) AND (4 == 2)) AND (5 == 2))"));

            TagExpression onlyOr = Parser.ParseExpression(NewState("1==2 or 2==2 OR 3==2 or 4==2 or 5==2"));

            Assert.That(onlyOr.ToString(), Is.EqualTo("(((((1 == 2) OR (2 == 2)) OR (3 == 2)) OR (4 == 2)) OR (5 == 2))"));

            Exception e = null;

            try
            {
                TagExpression errorAndException = Parser.ParseExpression(NewState("1==2 and 2==2 OR 3==2"));
            }
            catch (ExpressionException ee)
            { e = ee; }
            Assert.That(e, Is.TypeOf(typeof(PriorityException)));

            TagExpression andException = Parser.ParseExpression(NewState("1==2 and 2==2 OR 3==2", true));

            Assert.That(andException.ToString(), Is.EqualTo("(((1 == 2) AND (2 == 2)) OR (3 == 2))"));

            andException = Parser.ParseExpression(NewState("1==2 or 2==2 and 3==2", true));
            Assert.That(andException.ToString(), Is.EqualTo("((1 == 2) OR ((2 == 2) AND (3 == 2)))"));
        }
Exemplo n.º 2
0
        public void ParseSome()
        {
            TagExpression expr = Parser.ParseExpression(NewState(" '$(Configuration)' == '' "));

            Assert.That(expr, Is.Not.Null);
            Assert.That(expr.ToString(), Is.EqualTo("('$(Configuration)' == '')"));

            expr = Parser.ParseExpression(NewState("( '$(ProjectOutput)' <= '@(Configuration)' AnD 12 < 24.0 ) Or 12==24"));
            Assert.That(expr, Is.Not.Null);
            Assert.That(expr.ToString(), Is.EqualTo("((('$(ProjectOutput)' <= '@(Configuration)') AND (12 < 24.0)) OR (12 == 24))"));
        }