1#include "storm-config.h"
10TEST(DftModelBuildingTest, RelevantEvents) {
12 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/dont_care.dft";
13 std::shared_ptr<storm::dft::storage::DFT<double>> dft = storm::dft::api::loadDFTGalileoFile<double>(file);
15 std::string
property =
"Tmin=? [F \"failed\"]";
21 dft->setRelevantEvents(relevantEvents,
false);
24 builder.buildModel(0, 0.0);
25 std::shared_ptr<storm::models::sparse::Model<double>> model = builder.getModel();
26 EXPECT_EQ(8ul, model->getNumberOfStates());
27 EXPECT_EQ(13ul, model->getNumberOfTransitions());
31 dft->setRelevantEvents(relevantEvents,
false);
34 builder2.buildModel(0, 0.0);
35 model = builder2.getModel();
36 EXPECT_EQ(512ul, model->getNumberOfStates());
37 EXPECT_EQ(2305ul, model->getNumberOfTransitions());
41 dft->setRelevantEvents(relevantEvents,
false);
44 builder3.buildModel(0, 0.0);
45 model = builder3.getModel();
46 EXPECT_EQ(12ul, model->getNumberOfStates());
47 EXPECT_EQ(25ul, model->getNumberOfTransitions());
51 dft->setRelevantEvents(relevantEvents,
false);
54 builder4.buildModel(0, 0.0);
55 model = builder4.getModel();
56 EXPECT_EQ(16ul, model->getNumberOfStates());
57 EXPECT_EQ(33ul, model->getNumberOfTransitions());
61 dft->setRelevantEvents(relevantEvents,
true);
64 builder5.buildModel(0, 0.0);
65 model = builder5.getModel();
66 EXPECT_EQ(8ul, model->getNumberOfStates());
67 EXPECT_EQ(13ul, model->getNumberOfTransitions());
71 dft->setRelevantEvents(relevantEvents,
true);
74 builder6.buildModel(0, 0.0);
75 model = builder6.getModel();
76 EXPECT_EQ(8ul, model->getNumberOfStates());
77 EXPECT_EQ(13ul, model->getNumberOfTransitions());
81 dft->setRelevantEvents(relevantEvents,
true);
84 builder7.buildModel(0, 0.0);
85 model = builder7.getModel();
86 EXPECT_EQ(8ul, model->getNumberOfStates());
87 EXPECT_EQ(13ul, model->getNumberOfTransitions());
Build a Markov chain from DFT.
std::vector< storm::jani::Property > parseProperties(storm::parser::FormulaParser &formulaParser, std::string const &inputString, boost::optional< std::set< std::string > > const &propertyFilter)
std::vector< std::shared_ptr< storm::logic::Formula const > > extractFormulasFromProperties(std::vector< storm::jani::Property > const &properties)
std::pair< bool, std::string > isWellFormed(storm::dft::storage::DFT< ValueType > const &dft, bool validForMarkovianAnalysis=true)
Check whether the DFT is well-formed.