63 model->getManager().execute([&]() {
68 EXPECT_EQ(11ul, quotient->getNumberOfStates());
69 EXPECT_EQ(17ul, quotient->getNumberOfTransitions());
71 EXPECT_TRUE(quotient->isSymbolicModel());
76 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas;
77 formulas.push_back(formula);
83 EXPECT_EQ(5ul, quotient->getNumberOfStates());
84 EXPECT_EQ(8ul, quotient->getNumberOfTransitions());
86 EXPECT_TRUE(quotient->isSymbolicModel());
96 model->getManager().execute([&]() {
101 ASSERT_TRUE(quotient->isSymbolicModel());
111 std::pair<double, double> resultBounds;
113 std::unique_ptr<storm::modelchecker::CheckResult> result = checker.check(*minFormula);
115 resultBounds.first = result->asQuantitativeCheckResult<
double>().sum();
116 result = checker.check(*maxFormula);
118 resultBounds.second = result->asQuantitativeCheckResult<
double>().sum();
120 EXPECT_EQ(resultBounds.first, storm::utility::zero<double>());
121 EXPECT_EQ(resultBounds.second, storm::utility::one<double>());
128 ASSERT_TRUE(quotient->isSymbolicModel());
133 result = checker2.check(*minFormula);
135 resultBounds.first = result->asQuantitativeCheckResult<
double>().sum();
136 result = checker2.check(*maxFormula);
138 resultBounds.second = result->asQuantitativeCheckResult<
double>().sum();
140 EXPECT_EQ(resultBounds.first, storm::utility::zero<double>());
141 EXPECT_NEAR(resultBounds.second,
static_cast<double>(1) / 3, 1e-6);
148 ASSERT_TRUE(quotient->isSymbolicModel());
153 result = checker3.check(*minFormula);
155 resultBounds.first = result->asQuantitativeCheckResult<
double>().sum();
156 result = checker3.check(*maxFormula);
158 resultBounds.second = result->asQuantitativeCheckResult<
double>().sum();
160 EXPECT_NEAR(resultBounds.first,
static_cast<double>(1) / 6, 1e-6);
161 EXPECT_NEAR(resultBounds.second,
static_cast<double>(1) / 6, 1e-6);
162 EXPECT_NEAR(resultBounds.first, resultBounds.second, 1e-6);
168 ASSERT_TRUE(quotient->isSymbolicModel());
175 result = checker4.check(*formula);
177 resultBounds.first = resultBounds.second = result->asQuantitativeCheckResult<
double>().sum();
179 EXPECT_NEAR(resultBounds.first,
static_cast<double>(1) / 6, 1e-6);
192 model->getManager().execute([&]() {
197 EXPECT_EQ(2007ul, quotient->getNumberOfStates());
198 EXPECT_EQ(3738ul, quotient->getNumberOfTransitions());
200 EXPECT_TRUE(quotient->isSymbolicModel());
205 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas;
206 formulas.push_back(formula);
212 EXPECT_EQ(65ul, quotient->getNumberOfStates());
213 EXPECT_EQ(105ul, quotient->getNumberOfTransitions());
215 EXPECT_TRUE(quotient->isSymbolicModel());
225 model->getManager().execute([&]() {
230 EXPECT_EQ(77ul, quotient->getNumberOfStates());
231 EXPECT_EQ(210ul, quotient->getNumberOfTransitions());
233 EXPECT_TRUE(quotient->isSymbolicModel());
239 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas;
240 formulas.push_back(formula);
246 EXPECT_EQ(11ul, quotient->getNumberOfStates());
247 EXPECT_EQ(34ul, quotient->getNumberOfTransitions());
249 EXPECT_TRUE(quotient->isSymbolicModel());
264 std::shared_ptr<storm::models::symbolic::Model<DdType, double>> model =
267 model->getManager().execute([&]() {
272 EXPECT_EQ(252ul, quotient->getNumberOfStates());
273 EXPECT_EQ(624ul, quotient->getNumberOfTransitions());
275 EXPECT_TRUE(quotient->isSymbolicModel());
278 std::vector<std::shared_ptr<storm::logic::Formula const>> formulas;
279 formulas.push_back(formula);
285 EXPECT_EQ(1107ul, quotient->getNumberOfStates());
286 EXPECT_EQ(2684ul, quotient->getNumberOfTransitions());
288 EXPECT_TRUE(quotient->isSymbolicModel());