use of org.molgenis.api.model.Query in project molgenis by molgenis.
the class QueryConverterTest method testCreateQuery.
@Test
void testCreateQuery() {
String rsqlQuery = "item==value";
ComparisonNode node = new ComparisonNode(new ComparisonOperator("=="), "item", singletonList("value"));
Query query = Query.builder().setItem("item").setOperator(Operator.EQUALS).build();
when(node.accept(rsqlVisitor)).thenReturn(query);
assertEquals(query, queryConverter.convert(rsqlQuery));
verify(rsqlVisitor).visit(node, null);
}
use of org.molgenis.api.model.Query in project molgenis by molgenis.
the class QueryRsqlVisitorTest method testVisitComparisonNodeSearchQueryAllSelector.
@Test
void testVisitComparisonNodeSearchQueryAllSelector() {
String selector = "*";
String argument = "piet";
ComparisonOperator operator = new ComparisonOperator("=sq=");
ComparisonNode node = new ComparisonNode(operator, selector, singletonList(argument));
Query query = Query.builder().setItem(null).setOperator(SEARCH_QUERY).setValue(argument).build();
assertEquals(query, queryRsqlVisitor.visit(node));
}
use of org.molgenis.api.model.Query in project molgenis by molgenis.
the class QueryRsqlVisitorTest method testVisitOrNode.
@Test
void testVisitOrNode() {
String argument0 = "piet";
ComparisonOperator operator0 = new ComparisonOperator("=q=");
ComparisonNode node0 = new ComparisonNode(operator0, "*", singletonList(argument0));
String argument1 = "jan";
ComparisonOperator operator1 = new ComparisonOperator("=q=");
ComparisonNode node1 = new ComparisonNode(operator1, "*", singletonList(argument1));
OrNode orNode = new OrNode(asList(node0, node1));
Query query = Query.builder().setOperator(OR).setValue(asList(Query.builder().setOperator(MATCHES).setValue(argument0).build(), Query.builder().setOperator(MATCHES).setValue(argument1).build())).build();
assertEquals(query, queryRsqlVisitor.visit(orNode));
}
use of org.molgenis.api.model.Query in project molgenis by molgenis.
the class QueryRsqlVisitorTest method testVisitComparisonNodeGreaterThanOrEqual.
@ParameterizedTest
@MethodSource("testVisitComparisonNodeGreaterThanOrEqualProvider")
void testVisitComparisonNodeGreaterThanOrEqual(String symbol) {
String selector = "age";
String argument = "87";
ComparisonOperator operator = new ComparisonOperator(symbol);
ComparisonNode node = new ComparisonNode(operator, selector, singletonList(argument));
Query query = Query.builder().setItem(selector).setOperator(GREATER_THAN_OR_EQUAL_TO).setValue(argument).build();
assertEquals(query, queryRsqlVisitor.visit(node));
}
use of org.molgenis.api.model.Query in project molgenis by molgenis.
the class QueryRsqlVisitorTest method testVisitComparisonNodeEquals.
@Test
void testVisitComparisonNodeEquals() {
String selector = "name";
String argument = "piet";
ComparisonOperator operator = new ComparisonOperator("==");
ComparisonNode node = new ComparisonNode(operator, selector, singletonList(argument));
Query query = Query.builder().setItem(selector).setOperator(EQUALS).setValue(argument).build();
assertEquals(query, queryRsqlVisitor.visit(node));
}
Aggregations