@Test
public void testCombinatorialBindingGeneration()
{
final BindingHelper genHelper1 = new ObjectVariableBindingHelper(_kb.getABox(), _x);
final BindingHelper genHelper2 = new ObjectVariableBindingHelper(_kb.getABox(), _y);
final Individual[] individualsUsed = { _kb.getABox().getIndividual(mary), _kb.getABox().getIndividual(robert), _kb.getABox().getIndividual(victor), };
final List<BindingHelper> genSet = new ArrayList<>();
final BindingGenerator emptyGen = new BindingGeneratorImpl(new VariableBinding(_kb.getABox()), genSet);
assertFalse(emptyGen.iterator().hasNext());
genSet.add(genHelper1);
genSet.add(genHelper2);
final BindingGenerator gen = new BindingGeneratorImpl(new VariableBinding(_kb.getABox()), genSet);
final List<VariableBinding> expected = new LinkedList<>();
for (final Individual xNode : individualsUsed)
for (final Individual yNode : individualsUsed)
{
final VariableBinding bindings = new VariableBinding(_kb.getABox());
bindings.set(_x, xNode);
bindings.set(_y, yNode);
expected.add(bindings);
}
assertIteratorValues(gen.iterator(), expected.iterator());
}