use of de.prob.prolog.term.PrologTerm in project prob2 by bendisposto.
the class GetOperationsWithTimeoutTest method testProcessResults.
@Test
public void testProcessResults() {
@SuppressWarnings("unchecked") ISimplifiedROMap<String, PrologTerm> map = mock(ISimplifiedROMap.class);
when(map.get("TO")).thenReturn(new ListPrologTerm(new CompoundPrologTerm("foobar"), new CompoundPrologTerm("bliblablub")));
GetOperationsWithTimeout command = new GetOperationsWithTimeout("state");
command.processResult(map);
List<String> list = command.getTimeouts();
assertEquals("foobar", list.get(0));
assertEquals("bliblablub", list.get(1));
}
use of de.prob.prolog.term.PrologTerm in project prob2 by bendisposto.
the class GetOpFromId method processResult.
@Override
public void processResult(final ISimplifiedROMap<String, PrologTerm> bindings) {
ListPrologTerm plist = BindingGenerator.getList(bindings.get(PARAMETERS_VARIABLE));
params = Collections.emptyList();
if (!plist.isEmpty()) {
params = new ArrayList<>();
}
for (PrologTerm p : plist) {
params.add(p.getFunctor().intern());
}
ListPrologTerm rlist = BindingGenerator.getList(bindings.get(RETURNVALUES_VARIABLE));
returnValues = Collections.emptyList();
if (!rlist.isEmpty()) {
returnValues = new ArrayList<>();
}
for (PrologTerm r : rlist) {
returnValues.add(r.getFunctor().intern());
}
op.setInfo(expansion, params, returnValues);
}
use of de.prob.prolog.term.PrologTerm in project probparsers by bendisposto.
the class PrologGeneratorTest method testDET.
@Test
public void testDET() throws Exception {
final PrologTerm transPred1 = new CompoundPrologTerm("bla");
final PrologTerm wrapped1 = new CompoundPrologTerm("dtrans", transPred1);
final PrologTerm transPred2 = new CompoundPrologTerm("argg");
final PrologTerm wrapped2 = new CompoundPrologTerm("dtrans", transPred2);
final PrologTerm args = new ListPrologTerm(wrapped1, wrapped2);
final PrologTerm det = new CompoundPrologTerm("det", args);
final PrologTerm expected = new CompoundPrologTerm("ap", det);
check("deterministic(bla , argg)", expected);
}
use of de.prob.prolog.term.PrologTerm in project probparsers by bendisposto.
the class PrologGeneratorTest method testOr.
@Test
public void testOr() throws Exception {
final PrologTerm expected = new CompoundPrologTerm("or", TERM_TRUE, TERM_FALSE);
check("true or false", expected);
}
use of de.prob.prolog.term.PrologTerm in project probparsers by bendisposto.
the class PrologGeneratorTest method testStrongFair_multiple.
@Test
public void testStrongFair_multiple() throws Exception {
final PrologTerm transPred1 = new CompoundPrologTerm("bla");
final PrologTerm wrapped1 = new CompoundPrologTerm("dtrans", transPred1);
final PrologTerm sf1 = new CompoundPrologTerm("strong_fair", wrapped1);
final PrologTerm ap1 = new CompoundPrologTerm("ap", sf1);
final PrologTerm transPred2 = new CompoundPrologTerm("blubb");
final PrologTerm wrapped2 = new CompoundPrologTerm("dtrans", transPred2);
final PrologTerm sf2 = new CompoundPrologTerm("strong_fair", wrapped2);
final PrologTerm ap2 = new CompoundPrologTerm("ap", sf2);
final PrologTerm andPred = new CompoundPrologTerm("and", ap1, ap2);
final PrologTerm strong_assumption = new CompoundPrologTerm("strongassumptions", andPred);
final PrologTerm expected = new CompoundPrologTerm("fairnessimplication", strong_assumption, TERM_TRUE);
check("( (sf(bla) & sf(blubb)) => (true))", expected);
}
Aggregations