20TEST(SymbolicDtmcPrctlModelCheckerTest, Die_RationalFunction_Sylvan) {
31 std::shared_ptr<storm::models::symbolic::Model<storm::dd::DdType::Sylvan, storm::RationalFunction>> model =
33 EXPECT_EQ(13ul, model->getNumberOfStates());
34 EXPECT_EQ(20ul, model->getNumberOfTransitions());
37 std::map<storm::RationalFunctionVariable, storm::RationalFunctionCoefficient> instantiation;
38 std::set<storm::RationalFunctionVariable> variables = model->getParameters();
39 ASSERT_EQ(1ull, variables.size());
40 instantiation.emplace(*variables.begin(), storm::utility::convertNumber<storm::RationalFunctionCoefficient>(std::string(
"1/2")));
42 std::shared_ptr<storm::models::symbolic::Dtmc<storm::dd::DdType::Sylvan, storm::RationalFunction>> dtmc =
49 std::unique_ptr<storm::modelchecker::CheckResult> result = checker.check(*formula);
54 EXPECT_EQ(storm::utility::convertNumber<storm::RationalFunctionCoefficient>(quantitativeResult1.
sum().evaluate(instantiation)),
55 storm::utility::convertNumber<storm::RationalFunctionCoefficient>(std::string(
"1/6")));
59 result = checker.check(*formula);
64 EXPECT_EQ(storm::utility::convertNumber<storm::RationalFunctionCoefficient>(quantitativeResult2.
sum().evaluate(instantiation)),
65 storm::utility::convertNumber<storm::RationalFunctionCoefficient>(std::string(
"1/6")));
69 result = checker.check(*formula);
74 EXPECT_EQ(storm::utility::convertNumber<storm::RationalFunctionCoefficient>(quantitativeResult3.
sum().evaluate(instantiation)),
75 storm::utility::convertNumber<storm::RationalFunctionCoefficient>(std::string(
"1/6")));
79 result = checker.check(*formula);
84 EXPECT_EQ(storm::utility::convertNumber<storm::RationalFunctionCoefficient>(quantitativeResult4.
sum().evaluate(instantiation)),
85 storm::utility::convertNumber<storm::RationalFunctionCoefficient>(std::string(
"11/3")));