private void test(Table left, Table right, boolean normalJoin, ExprList exprs, Table expected) {
ExecutionContext execCxt = new ExecutionContext(ARQ.getContext(), null, null, null) ;
QueryIterator leftIter = left.iterator(execCxt) ;
QueryIterator qIter = normalJoin
? TableJoin.join(leftIter, right, exprs, execCxt)
: TableJoin.leftJoin(leftIter, right, exprs, execCxt) ;
Set<String> vars1 = new HashSet<>() ;
vars1.addAll(left.getVarNames()) ;
vars1.addAll(right.getVarNames()) ;
TableN results = new TableN(qIter) ;
boolean b = TableCompare.equalsByTerm(expected, results) ;
if ( !b ) {
System.out.println("** Expected") ;
System.out.println(expected) ;
System.out.println("** Actual") ;
System.out.println(results) ;
}
assertTrue(b) ;
}