60 model->getManager().execute([&]() {
65 EXPECT_EQ(11ul, quotient->getNumberOfStates());
66 EXPECT_EQ(17ul, quotient->getNumberOfTransitions());
68 EXPECT_TRUE(quotient->isSymbolicModel());
73 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas;
74 formulas.push_back(formula);
80 EXPECT_EQ(5ul, quotient->getNumberOfStates());
81 EXPECT_EQ(8ul, quotient->getNumberOfTransitions());
83 EXPECT_TRUE(quotient->isSymbolicModel());
93 model->getManager().execute([&]() {
98 ASSERT_TRUE(quotient->isSymbolicModel());
108 std::pair<double, double> resultBounds;
110 std::unique_ptr<storm::modelchecker::CheckResult> result = checker.check(*minFormula);
112 resultBounds.first = result->asQuantitativeCheckResult<
double>().sum();
113 result = checker.check(*maxFormula);
115 resultBounds.second = result->asQuantitativeCheckResult<
double>().sum();
117 EXPECT_EQ(resultBounds.first, storm::utility::zero<double>());
118 EXPECT_EQ(resultBounds.second, storm::utility::one<double>());
125 ASSERT_TRUE(quotient->isSymbolicModel());
130 result = checker2.check(*minFormula);
132 resultBounds.first = result->asQuantitativeCheckResult<
double>().sum();
133 result = checker2.check(*maxFormula);
135 resultBounds.second = result->asQuantitativeCheckResult<
double>().sum();
137 EXPECT_EQ(resultBounds.first, storm::utility::zero<double>());
138 EXPECT_NEAR(resultBounds.second,
static_cast<double>(1) / 3, 1e-6);
145 ASSERT_TRUE(quotient->isSymbolicModel());
150 result = checker3.check(*minFormula);
152 resultBounds.first = result->asQuantitativeCheckResult<
double>().sum();
153 result = checker3.check(*maxFormula);
155 resultBounds.second = result->asQuantitativeCheckResult<
double>().sum();
157 EXPECT_NEAR(resultBounds.first,
static_cast<double>(1) / 6, 1e-6);
158 EXPECT_NEAR(resultBounds.second,
static_cast<double>(1) / 6, 1e-6);
159 EXPECT_NEAR(resultBounds.first, resultBounds.second, 1e-6);
165 ASSERT_TRUE(quotient->isSymbolicModel());
172 result = checker4.check(*formula);
174 resultBounds.first = resultBounds.second = result->asQuantitativeCheckResult<
double>().sum();
176 EXPECT_NEAR(resultBounds.first,
static_cast<double>(1) / 6, 1e-6);
189 model->getManager().execute([&]() {
194 EXPECT_EQ(2007ul, quotient->getNumberOfStates());
195 EXPECT_EQ(3738ul, quotient->getNumberOfTransitions());
197 EXPECT_TRUE(quotient->isSymbolicModel());
202 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas;
203 formulas.push_back(formula);
209 EXPECT_EQ(65ul, quotient->getNumberOfStates());
210 EXPECT_EQ(105ul, quotient->getNumberOfTransitions());
212 EXPECT_TRUE(quotient->isSymbolicModel());
222 model->getManager().execute([&]() {
227 EXPECT_EQ(77ul, quotient->getNumberOfStates());
228 EXPECT_EQ(210ul, quotient->getNumberOfTransitions());
230 EXPECT_TRUE(quotient->isSymbolicModel());
236 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas;
237 formulas.push_back(formula);
243 EXPECT_EQ(11ul, quotient->getNumberOfStates());
244 EXPECT_EQ(34ul, quotient->getNumberOfTransitions());
246 EXPECT_TRUE(quotient->isSymbolicModel());
261 std::shared_ptr<storm::models::symbolic::Model<DdType, double>> model =
264 model->getManager().execute([&]() {
269 EXPECT_EQ(252ul, quotient->getNumberOfStates());
270 EXPECT_EQ(624ul, quotient->getNumberOfTransitions());
272 EXPECT_TRUE(quotient->isSymbolicModel());
275 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas;
276 formulas.push_back(formula);
282 EXPECT_EQ(1107ul, quotient->getNumberOfStates());
283 EXPECT_EQ(2684ul, quotient->getNumberOfTransitions());
285 EXPECT_TRUE(quotient->isSymbolicModel());