### Question:
UseSMT implements Serializable { public static Term checkSat(Term term, TermContext termContext) { SMTOptions options = termContext.global().krunOptions.experimental.smt; if (options.smt != SMTSolver.Z3) { return null; } BuiltinMap.Builder resultBuilder = BuiltinMap.builder(termContext.global()); try { ConjunctiveFormula constraint = ConjunctiveFormula.of(termContext.global()) .add(term, BoolToken.TRUE); com.microsoft.z3.Context context = new com.microsoft.z3.Context(); Solver solver = context.mkSolver(); BoolExpr query = context.parseSMTLIB2String( "(declare-sort IntSeq)" + KILtoSMTLib.translateConstraint(constraint), null, null, null, null); solver.add(query); if(solver.check() == Status.SATISFIABLE){ Model model = solver.getModel(); FuncDecl[] consts = model.getConstDecls(); for(int i=0 ; i < consts.length; ++i){ Expr resultFrg = model.getConstInterp(consts[i]); Variable akey = new Variable(consts[i].getName().toString(), Sort.of(consts[i].getRange().toString())); IntToken avalue = IntToken.of(Integer.parseInt(resultFrg.toString())); resultBuilder.put(akey, avalue); } } context.dispose(); } catch (Z3Exception e) { e.printStackTrace(); } catch (UnsupportedOperationException e) { e.printStackTrace(); } return resultBuilder.build(); }  static Term checkSat(Term term, TermContext termContext);  }### Answer:
@Test @Ignore public void testGetModel() { System.err.println(System.getProperty("java.library.path")); BuiltinMap.Builder builder = new BuiltinMap.Builder(tc.global()); SMTOptions options = new SMTOptions(); assertEquals(builder.build(), UseSMT.checkSat(BoolToken.TRUE, tc)); options.smt = SMTSolver.Z3; }