* </pre>
*/
@Test
public void shouldMarkAsHavingNoResultsWhenComparisonsSpecifyRangeWithNonOverlappingBoundary() {
// Each of the PROJECT, SELECT, and SELECT nodes must have the names of the selectors that they apply to ...
PlanNode access = new PlanNode(Type.ACCESS, selector("t1"));
PlanNode project = new PlanNode(Type.PROJECT, access, selector("t1"));
PlanNode select1 = new PlanNode(Type.SELECT, project, selector("t1"));
PlanNode select2 = new PlanNode(Type.SELECT, select1, selector("t1"));
PlanNode select3 = new PlanNode(Type.SELECT, select2, selector("t1"));
PlanNode source = new PlanNode(Type.SOURCE, select3, selector("t1"));
source.setProperty(Property.SOURCE_NAME, selector("t1"));
select1.setProperty(Property.SELECT_CRITERIA, new Comparison(new PropertyValue(selector("t1"), "c2"), Operator.EQUAL_TO,
new Literal(100L)));
select2.setProperty(Property.SELECT_CRITERIA, new Comparison(new PropertyValue(selector("t1"), "c1"), Operator.LESS_THAN,
new Literal(3L)));
select3.setProperty(Property.SELECT_CRITERIA, new Comparison(new PropertyValue(selector("t1"), "c1"),
Operator.GREATER_THAN, new Literal(3L)));
// Execute the rule ...
print(access);
PlanNode result = executeRules(access);
print(result);
// Compare results ...
assertThat(result, is(sameInstance(access)));
assertChildren(access, project);