1#include "storm-config.h"
16TEST(DftModelBuildingTest, RelevantEvents) {
18 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/dont_care.dft";
21 std::string
property =
"Tmin=? [F \"failed\"]";
29 dft->setRelevantEvents(relevantEvents,
false);
32 builder.buildModel(0, 0.0);
33 std::shared_ptr<storm::models::sparse::Model<double>> model = builder.getModel();
34 EXPECT_EQ(8ul, model->getNumberOfStates());
35 EXPECT_EQ(13ul, model->getNumberOfTransitions());
39 dft->setRelevantEvents(relevantEvents,
false);
42 builder2.buildModel(0, 0.0);
43 model = builder2.getModel();
44 EXPECT_EQ(512ul, model->getNumberOfStates());
45 EXPECT_EQ(2305ul, model->getNumberOfTransitions());
49 dft->setRelevantEvents(relevantEvents,
false);
52 builder3.buildModel(0, 0.0);
53 model = builder3.getModel();
54 EXPECT_EQ(12ul, model->getNumberOfStates());
55 EXPECT_EQ(25ul, model->getNumberOfTransitions());
59 dft->setRelevantEvents(relevantEvents,
false);
62 builder4.buildModel(0, 0.0);
63 model = builder4.getModel();
64 EXPECT_EQ(16ul, model->getNumberOfStates());
65 EXPECT_EQ(33ul, model->getNumberOfTransitions());
69 dft->setRelevantEvents(relevantEvents,
true);
72 builder5.buildModel(0, 0.0);
73 model = builder5.getModel();
74 EXPECT_EQ(8ul, model->getNumberOfStates());
75 EXPECT_EQ(13ul, model->getNumberOfTransitions());
79 dft->setRelevantEvents(relevantEvents,
true);
82 builder6.buildModel(0, 0.0);
83 model = builder6.getModel();
84 EXPECT_EQ(8ul, model->getNumberOfStates());
85 EXPECT_EQ(13ul, model->getNumberOfTransitions());
89 dft->setRelevantEvents(relevantEvents,
true);
92 builder7.buildModel(0, 0.0);
93 model = builder7.getModel();
94 EXPECT_EQ(8ul, model->getNumberOfStates());
95 EXPECT_EQ(13ul, model->getNumberOfTransitions());
TEST(RegionConstraintCheckerTest, AffineConstraintHoldsThroughout)
Environment for storm-dft.
ModelBuilderEnvironment & modelBuilder()
void setUseSymmetryReduction(bool value)
Build a Markov chain from DFT.
std::vector< std::shared_ptr< storm::logic::Formula const > > extractFormulasFromProperties(std::vector< storm::jani::Property > const &properties)
std::vector< storm::jani::Property > parseProperties(storm::parser::FormulaParser &formulaParser, std::string const &inputString, boost::optional< std::set< std::string > > const &propertyFilter)
std::shared_ptr< storm::dft::storage::DFT< ValueType > > loadDFTGalileoFile(std::string const &file)
Load DFT from Galileo file.
std::pair< bool, std::string > isWellFormed(storm::dft::storage::DFT< ValueType > const &dft, bool validForMarkovianAnalysis)
Check whether the DFT is well-formed.