Search in sources :

Example 21 with ExpressionSymbol

use of com.cinchapi.ccl.grammar.ExpressionSymbol in project concourse by cinchapi.

the class ConcourseCompilerTest method testGroupAnd.

@Test
public void testGroupAnd() {
    String key0 = TestData.getString();
    Operator operator0 = Operator.EQUALS;
    Object value0 = TestData.getObject();
    String key1 = TestData.getString();
    Operator operator1 = Operator.GREATER_THAN;
    Object value1 = TestData.getObject();
    Criteria criteria = Criteria.where().key(key0).operator(operator0).value(value0).and().key(key1).operator(operator1).value(value1).build();
    List<Symbol> symbols = Parsing.groupExpressions(criteria.symbols());
    ExpressionSymbol exp0 = (ExpressionSymbol) symbols.get(0);
    ConjunctionSymbol sym = (ConjunctionSymbol) symbols.get(1);
    ExpressionSymbol exp1 = (ExpressionSymbol) symbols.get(2);
    Assert.assertEquals(3, symbols.size());
    Assert.assertEquals(exp0.raw().key(), key0);
    Assert.assertEquals(exp0.raw().operator(), operator0);
    Assert.assertEquals(exp0.values().get(0).value(), value0);
    Assert.assertEquals(sym, ConjunctionSymbol.AND);
    Assert.assertEquals(exp1.raw().key(), key1);
    Assert.assertEquals(exp1.raw().operator(), operator1);
    Assert.assertEquals(exp1.values().get(0).value(), value1);
}
Also used : Operator(com.cinchapi.concourse.thrift.Operator) KeySymbol(com.cinchapi.ccl.grammar.KeySymbol) PostfixNotationSymbol(com.cinchapi.ccl.grammar.PostfixNotationSymbol) Symbol(com.cinchapi.ccl.grammar.Symbol) OperatorSymbol(com.cinchapi.ccl.grammar.OperatorSymbol) ValueSymbol(com.cinchapi.ccl.grammar.ValueSymbol) ExpressionSymbol(com.cinchapi.ccl.grammar.ExpressionSymbol) ConjunctionSymbol(com.cinchapi.ccl.grammar.ConjunctionSymbol) ParenthesisSymbol(com.cinchapi.ccl.grammar.ParenthesisSymbol) ExpressionSymbol(com.cinchapi.ccl.grammar.ExpressionSymbol) ConjunctionSymbol(com.cinchapi.ccl.grammar.ConjunctionSymbol) Test(org.junit.Test)

Aggregations

ExpressionSymbol (com.cinchapi.ccl.grammar.ExpressionSymbol)21 Test (org.junit.Test)19 PostfixNotationSymbol (com.cinchapi.ccl.grammar.PostfixNotationSymbol)17 KeySymbol (com.cinchapi.ccl.grammar.KeySymbol)9 Symbol (com.cinchapi.ccl.grammar.Symbol)8 OperatorSymbol (com.cinchapi.ccl.grammar.OperatorSymbol)7 ValueSymbol (com.cinchapi.ccl.grammar.ValueSymbol)7 ParenthesisSymbol (com.cinchapi.ccl.grammar.ParenthesisSymbol)6 Operator (com.cinchapi.concourse.thrift.Operator)6 ConjunctionSymbol (com.cinchapi.ccl.grammar.ConjunctionSymbol)5 NavigationKeySymbol (com.cinchapi.ccl.grammar.NavigationKeySymbol)2 Timestamp (com.cinchapi.concourse.Timestamp)2 TimestampSymbol (com.cinchapi.ccl.grammar.TimestampSymbol)1 AbstractSyntaxTree (com.cinchapi.ccl.syntax.AbstractSyntaxTree)1 Store (com.cinchapi.concourse.server.storage.Store)1 TObject (com.cinchapi.concourse.thrift.TObject)1 HashSet (java.util.HashSet)1 Set (java.util.Set)1