17TEST(ExplicitDtmcPrctlModelCheckerTest, Die) {
19 STORM_TEST_RESOURCES_DIR
"/tra/die.tra", STORM_TEST_RESOURCES_DIR
"/lab/die.lab",
"", STORM_TEST_RESOURCES_DIR
"/rew/die.coin_flips.trans.rew");
22 double const precision = 1e-6;
28 auto expManager = std::make_shared<storm::expressions::ExpressionManager>();
35 ASSERT_EQ(dtmc->getNumberOfStates(), 13ull);
36 ASSERT_EQ(dtmc->getNumberOfTransitions(), 20ull);
42 std::unique_ptr<storm::modelchecker::CheckResult> result = checker.
check(env, *formula);
45 EXPECT_NEAR(1.0 / 6.0, quantitativeResult1[0], precision);
49 result = checker.
check(env, *formula);
52 EXPECT_NEAR(1.0 / 6.0, quantitativeResult2[0], precision);
56 result = checker.
check(env, *formula);
59 EXPECT_NEAR(1.0 / 6.0, quantitativeResult3[0], precision);
63 result = checker.
check(env, *formula);
66 EXPECT_NEAR(11.0 / 3.0, quantitativeResult4[0], precision);
69TEST(ExplicitDtmcPrctlModelCheckerTest, Crowds) {
71 double const precision = 1e-6;
75 std::shared_ptr<storm::models::sparse::Model<double>> abstractModel =
82 auto expManager = std::make_shared<storm::expressions::ExpressionManager>();
87 ASSERT_EQ(8607ull, dtmc->getNumberOfStates());
88 ASSERT_EQ(15113ull, dtmc->getNumberOfTransitions());
94 std::unique_ptr<storm::modelchecker::CheckResult> result = checker.
check(env, *formula);
97 EXPECT_NEAR(0.3328800375801578281, quantitativeResult1[0], precision);
101 result = checker.
check(env, *formula);
104 EXPECT_NEAR(0.1522194965, quantitativeResult2[0], precision);
108 result = checker.
check(env, *formula);
111 EXPECT_NEAR(0.32153724292835045, quantitativeResult3[0], precision);
114TEST(ExplicitDtmcPrctlModelCheckerTest, SynchronousLeader) {
116 double const precision = 1e-6;
120 std::shared_ptr<storm::models::sparse::Model<double>> abstractModel =
122 STORM_TEST_RESOURCES_DIR
"/rew/leader4_8.pick.trans.rew");
128 auto expManager = std::make_shared<storm::expressions::ExpressionManager>();
133 ASSERT_EQ(12400ull, dtmc->getNumberOfStates());
134 ASSERT_EQ(16495ull, dtmc->getNumberOfTransitions());
140 std::unique_ptr<storm::modelchecker::CheckResult> result = checker.
check(env, *formula);
143 EXPECT_NEAR(1.0, quantitativeResult1[0], precision);
147 result = checker.
check(env, *formula);
150 EXPECT_NEAR(0.9999965911265462636, quantitativeResult2[0], precision);
154 result = checker.
check(env, *formula);
157 EXPECT_NEAR(1.0448979591836789, quantitativeResult3[0], precision);
static std::shared_ptr< storm::models::sparse::Model< ValueType, storm::models::sparse::StandardRewardModel< RewardValueType > > > parseModel(std::string const &transitionsFilename, std::string const &labelingFilename, std::string const &stateRewardFilename="", std::string const &transitionRewardFilename="", std::string const &choiceLabelingFilename="", ExplicitModelParserOptions const &options=ExplicitModelParserOptions())
Checks the given files and parses the model within these files.