25 std::string programFile = STORM_TEST_RESOURCES_DIR
"/dtmc/die.pm";
26 std::string formulasAsString =
"P=? [ F{\"coin_flips\"}<=2 \"two\" ] ";
27 formulasAsString +=
"; P=? [ F{\"coin_flips\"}<=3 \"two\" ] ";
28 formulasAsString +=
"; P=? [ F{\"coin_flips\"}<=8 \"two\" ] ";
33 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas =
35 std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalNumber>> dtmc =
39 std::unique_ptr<storm::modelchecker::CheckResult> result;
42 ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
43 EXPECT_EQ(storm::utility::convertNumber<storm::RationalNumber>(std::string(
"0")),
44 result->asExplicitQuantitativeCheckResult<storm::RationalNumber>()[initState]);
47 ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
48 EXPECT_EQ(storm::utility::convertNumber<storm::RationalNumber>(std::string(
"1/8")),
49 result->asExplicitQuantitativeCheckResult<storm::RationalNumber>()[initState]);
52 ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
53 EXPECT_EQ(storm::utility::convertNumber<storm::RationalNumber>(std::string(
"21/128")),
54 result->asExplicitQuantitativeCheckResult<storm::RationalNumber>()[initState]);
59 std::string programFile = STORM_TEST_RESOURCES_DIR
"/dtmc/leader-3-5.pm";
60 std::string formulasAsString =
"P=? [ F{\"num_rounds\"}<=1 \"elected\" ] ";
61 formulasAsString +=
"; P=? [ F{\"num_rounds\"}<=2 \"elected\" ] ";
62 formulasAsString +=
"; P=? [ F{\"num_rounds\"}>2 \"elected\" ] ";
63 formulasAsString +=
"; P=? [ F{\"num_rounds\"}>=2,{\"num_rounds\"}<3 \"elected\" ] ";
68 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas =
70 std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalNumber>> dtmc =
74 std::unique_ptr<storm::modelchecker::CheckResult> result;
77 ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
78 EXPECT_EQ(storm::utility::convertNumber<storm::RationalNumber>(std::string(
"24/25")),
79 result->asExplicitQuantitativeCheckResult<storm::RationalNumber>()[initState]);
82 ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
83 EXPECT_EQ(storm::utility::convertNumber<storm::RationalNumber>(std::string(
"624/625")),
84 result->asExplicitQuantitativeCheckResult<storm::RationalNumber>()[initState]);
87 ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
88 EXPECT_EQ(storm::utility::convertNumber<storm::RationalNumber>(std::string(
"1/625")),
89 result->asExplicitQuantitativeCheckResult<storm::RationalNumber>()[initState]);
92 ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
93 EXPECT_EQ(storm::utility::convertNumber<storm::RationalNumber>(std::string(
"24/625")),
94 result->asExplicitQuantitativeCheckResult<storm::RationalNumber>()[initState]);
99 std::string programFile = STORM_TEST_RESOURCES_DIR
"/dtmc/crowds_cost_bounded.pm";
100 std::string formulasAsString =
"P=? [F{\"num_runs\"}<=3,{\"observe0\"}>1 true]";
101 formulasAsString +=
"; P=? [F{\"num_runs\"}<=3,{\"observe1\"}>1 true]";
102 formulasAsString +=
"; R{\"observe0\"}=? [C{\"num_runs\"}<=3]";
107 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas =
109 std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalNumber>> dtmc =
113 std::unique_ptr<storm::modelchecker::CheckResult> result;
116 ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
117 EXPECT_EQ(storm::utility::convertNumber<storm::RationalNumber>(std::string(
"78686542099694893/1268858272000000000")),
118 result->asExplicitQuantitativeCheckResult<storm::RationalNumber>()[initState]);
121 ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
122 EXPECT_EQ(storm::utility::convertNumber<storm::RationalNumber>(std::string(
"13433618626105041/1268858272000000000")),
123 result->asExplicitQuantitativeCheckResult<storm::RationalNumber>()[initState]);
126 ASSERT_TRUE(result->isExplicitQuantitativeCheckResult());
127 EXPECT_EQ(storm::utility::convertNumber<storm::RationalNumber>(std::string(
"620529/1364000")),
128 result->asExplicitQuantitativeCheckResult<storm::RationalNumber>()[initState]);
std::unique_ptr< storm::modelchecker::CheckResult > verifyWithSparseEngine(storm::Environment const &env, std::shared_ptr< storm::models::sparse::Dtmc< ValueType > > const &dtmc, storm::modelchecker::CheckTask< storm::logic::Formula, ValueType > const &task)