1#include "storm-config.h"
9struct ModularizerTestData {
12 double probabilityAtTimeboundOne;
15class BddModularizerTest :
public testing::TestWithParam<ModularizerTestData> {
17 void SetUp()
override {
18#ifdef STORM_HAVE_SYLVAN
19 auto const ¶m{TestWithParam::GetParam()};
20 auto dft{storm::dft::api::loadDFTGalileoFile<double>(param.filepath)};
21 checker = std::make_shared<storm::dft::modelchecker::DftModularizationChecker<double>>(dft);
23 GTEST_SKIP() <<
"Library Sylvan not available.";
27 std::shared_ptr<storm::dft::modelchecker::DftModularizationChecker<double>> checker;
30TEST_P(BddModularizerTest, ProbabilityAtTimeOne) {
31 auto const ¶m{TestWithParam::GetParam()};
32 EXPECT_NEAR(checker->getProbabilityAtTimebound(1), param.probabilityAtTimeboundOne, 1e-6);
35static std::vector<ModularizerTestData> modularizerTestData{
38 STORM_TEST_RESOURCES_DIR
"/dft/bdd/AndTest.dft",
43 STORM_TEST_RESOURCES_DIR
"/dft/bdd/OrTest.dft",
48 STORM_TEST_RESOURCES_DIR
"/dft/bdd/AndOrTest.dft",
53 STORM_TEST_RESOURCES_DIR
"/dft/bdd/VotTest.dft",
58 STORM_TEST_RESOURCES_DIR
"/dft/bdd/ImportanceTest.dft",
63 STORM_TEST_RESOURCES_DIR
"/dft/spare5.dft",
68 STORM_TEST_RESOURCES_DIR
"/dft/mcs.dft",
72INSTANTIATE_TEST_SUITE_P(BddModularizer, BddModularizerTest, testing::ValuesIn(modularizerTestData), [](
auto const &info) {
return info.param.testname; });