public void testAnonymousObjectRegistration() throws InvalidTheoryException, InvalidObjectIdException { OOLibrary lib = (OOLibrary) engine.getLibrary("alice.tuprolog.lib.OOLibrary"); String theory = "demo(X) :- X <- update. \n"; engine.setTheory(new Theory(theory)); TestCounter counter = new TestCounter(); // check registering behaviour Struct t = lib.register(counter); engine.solve(new Struct("demo", t)); assertEquals(1, counter.getValue()); // check unregistering behaviour lib.unregister(t); SolveInfo goal = engine.solve(new Struct("demo", t)); assertFalse(goal.isSuccess()); }