1#include "storm-config.h"
9struct ModularizerTestData {
12 double probabilityAtTimeboundOne;
15class BddModularizerTest :
public testing::TestWithParam<ModularizerTestData> {
17 void SetUp()
override {
18 auto const ¶m{TestWithParam::GetParam()};
19 auto dft{storm::dft::api::loadDFTGalileoFile<double>(param.filepath)};
20 checker = std::make_shared<storm::dft::modelchecker::DftModularizationChecker<double>>(dft);
23 std::shared_ptr<storm::dft::modelchecker::DftModularizationChecker<double>> checker;
26TEST_P(BddModularizerTest, ProbabilityAtTimeOne) {
27 auto const ¶m{TestWithParam::GetParam()};
28 EXPECT_NEAR(checker->getProbabilityAtTimebound(1), param.probabilityAtTimeboundOne, 1e-6);
31static std::vector<ModularizerTestData> modularizerTestData{
34 STORM_TEST_RESOURCES_DIR
"/dft/bdd/AndTest.dft",
39 STORM_TEST_RESOURCES_DIR
"/dft/bdd/OrTest.dft",
44 STORM_TEST_RESOURCES_DIR
"/dft/bdd/AndOrTest.dft",
49 STORM_TEST_RESOURCES_DIR
"/dft/bdd/VotTest.dft",
54 STORM_TEST_RESOURCES_DIR
"/dft/bdd/ImportanceTest.dft",
59 STORM_TEST_RESOURCES_DIR
"/dft/spare5.dft",
64 STORM_TEST_RESOURCES_DIR
"/dft/mcs.dft",
68INSTANTIATE_TEST_SUITE_P(BddModularizer, BddModularizerTest, testing::ValuesIn(modularizerTestData), [](
auto const &info) {
return info.param.testname; });