helpers.add(new ObjectVariableBindingHelper(_abox, var));
helpers.add(new ObjectVariableBindingHelper(_abox, var));
@Test public void testObjectVariableBindingGenerator() { _kb.addIndividual(mary); _kb.addIndividual(robert); _kb.addIndividual(victor); final BindingHelper genHelper = new ObjectVariableBindingHelper(_kb.getABox(), _x); final BindingGenerator gen = new BindingGeneratorImpl(new VariableBinding(_kb.getABox()), Collections.singletonList(genHelper)); assertIteratorValues(new BindingToMapIterator(gen.iterator()), new Object[] { Collections.singletonMap(_x, mary), Collections.singletonMap(_x, robert), Collections.singletonMap(_x, victor), }); }
@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()); }