21 lines
809 B
21 lines
809 B
#include "gtest/gtest.h"
|
|
#include "storm-config.h"
|
|
|
|
#include "src/solver/Z3SmtSolver.h"
|
|
#include "src/settings/Settings.h"
|
|
|
|
TEST(Z3SmtSolver, CheckSatisfiability) {
|
|
#ifdef STORM_HAVE_Z3
|
|
storm::solver::Z3SmtSolver s;
|
|
|
|
storm::expressions::Expression exprDeMorgan = !(storm::expressions::Expression::createBooleanVariable("x") && storm::expressions::Expression::createBooleanVariable("y")).iff( (!storm::expressions::Expression::createBooleanVariable("x") || !storm::expressions::Expression::createBooleanVariable("y")));
|
|
|
|
ASSERT_NO_THROW(s.assertExpression(!exprDeMorgan));
|
|
storm::solver::Z3SmtSolver::CheckResult result;
|
|
ASSERT_NO_THROW(result = s.check());
|
|
ASSERT_TRUE(result == storm::solver::SmtSolver::CheckResult::UNSAT);
|
|
|
|
#else
|
|
ASSERT_TRUE(false) << "StoRM built without Z3 support.";
|
|
#endif
|
|
}
|