Search in sources :

Example 11 with PostfixNotationSymbol

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

the class ConcourseCompilerTest method testToPostfixNotationSimple.

@Test
public void testToPostfixNotationSimple() {
    Criteria criteria = Criteria.where().key("foo").operator(Operator.EQUALS).value("bar").build();
    Queue<PostfixNotationSymbol> pfn = Parsing.toPostfixNotation(criteria.symbols());
    Assert.assertEquals(pfn.size(), 1);
    Assert.assertEquals(((ExpressionSymbol) Iterables.getOnlyElement(pfn)).key(), new KeySymbol("foo"));
    Assert.assertEquals(((ExpressionSymbol) Iterables.getOnlyElement(pfn)).values().get(0), new ValueSymbol("bar"));
    Assert.assertEquals(((ExpressionSymbol) Iterables.getOnlyElement(pfn)).operator(), new OperatorSymbol(Operator.EQUALS));
}
Also used : OperatorSymbol(com.cinchapi.ccl.grammar.OperatorSymbol) KeySymbol(com.cinchapi.ccl.grammar.KeySymbol) PostfixNotationSymbol(com.cinchapi.ccl.grammar.PostfixNotationSymbol) ExpressionSymbol(com.cinchapi.ccl.grammar.ExpressionSymbol) ValueSymbol(com.cinchapi.ccl.grammar.ValueSymbol) Test(org.junit.Test)

Example 12 with PostfixNotationSymbol

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

the class ConcourseCompilerTest method testParseCclTimestampComplexPhrase.

@Test
public void testParseCclTimestampComplexPhrase() {
    String ccl = "name = jeff at \"last christmas\"";
    Queue<PostfixNotationSymbol> symbols = ConcourseCompiler.get().arrange((ConditionTree) ConcourseCompiler.get().parse(ccl));
    ExpressionSymbol expr = (ExpressionSymbol) symbols.poll();
    // this means a
    Assert.assertNotEquals(0, expr.raw().timestamp());
// timestamp was
// parsed
}
Also used : PostfixNotationSymbol(com.cinchapi.ccl.grammar.PostfixNotationSymbol) ExpressionSymbol(com.cinchapi.ccl.grammar.ExpressionSymbol) Test(org.junit.Test)

Aggregations

ExpressionSymbol (com.cinchapi.ccl.grammar.ExpressionSymbol)12 PostfixNotationSymbol (com.cinchapi.ccl.grammar.PostfixNotationSymbol)12 Test (org.junit.Test)12 KeySymbol (com.cinchapi.ccl.grammar.KeySymbol)2 OperatorSymbol (com.cinchapi.ccl.grammar.OperatorSymbol)2 ValueSymbol (com.cinchapi.ccl.grammar.ValueSymbol)2