def _solve(self, var, theory, max_solutions): request = Request() request.solve.program = compiler.compile_solver(var, theory) if max_solutions is not None: request.solve.max_solutions = max_solutions reply = self._call(request) return { 'necessary': map(str, reply.solve.necessary), 'possible': map(str, reply.solve.possible), }
def test_compile_solver(expr, theory, expected_programs): script = compile_solver(expr, theory) actual_programs = parse_programs(script) assert set(expected_programs) == set(actual_programs)