56 std::string programFile = STORM_TEST_RESOURCES_DIR
"/mdp/two_dice.nm";
64 ASSERT_EQ(model->getNumberOfStates(), 169ull);
65 ASSERT_EQ(model->getNumberOfTransitions(), 436ull);
67 std::shared_ptr<storm::models::symbolic::Mdp<DdType>> mdp = model->template as<storm::models::symbolic::Mdp<DdType>>();
68 auto mdpModelchecker = std::make_shared<storm::gbar::modelchecker::GameBasedMdpModelChecker<DdType, storm::models::symbolic::Mdp<DdType>>>(program);
76 std::unique_ptr<storm::modelchecker::CheckResult> result = mdpModelchecker->check(task);
79 EXPECT_NEAR(0.0277777612209320068, quantitativeResult1[0],
80 storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision());
82 formula = formulaParser.parseSingleFormulaFromString(
"Pmax=? [F \"two\"]");
85 result = mdpModelchecker->check(task);
88 EXPECT_NEAR(0.0277777612209320068, quantitativeResult2[0],
89 storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision());
91 formula = formulaParser.parseSingleFormulaFromString(
"Pmin=? [F \"three\"]");
94 result = mdpModelchecker->check(task);
97 EXPECT_NEAR(0.0555555224418640136, quantitativeResult3[0],
98 storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision());
100 formula = formulaParser.parseSingleFormulaFromString(
"Pmax=? [F \"three\"]");
103 result = mdpModelchecker->check(task);
106 EXPECT_NEAR(0.0555555224418640136, quantitativeResult4[0],
107 storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision());
109 formula = formulaParser.parseSingleFormulaFromString(
"Pmin=? [F \"four\"]");
112 result = mdpModelchecker->check(task);
115 EXPECT_NEAR(0.083333283662796020508, quantitativeResult5[0],
116 storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision());
118 formula = formulaParser.parseSingleFormulaFromString(
"Pmax=? [F \"four\"]");
121 result = mdpModelchecker->check(task);
124 EXPECT_NEAR(0.083333283662796020508, quantitativeResult6[0],
125 storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision());