10TEST(DirectEncodingParserTest, DtmcParsing) {
11 std::shared_ptr<storm::models::sparse::Model<double>> modelPtr =
16 ASSERT_EQ(8607ul, modelPtr->getNumberOfStates());
17 ASSERT_EQ(15113ul, modelPtr->getNumberOfTransitions());
18 ASSERT_TRUE(modelPtr->hasLabel(
"init"));
19 ASSERT_EQ(1ul, modelPtr->getInitialStates().getNumberOfSetBits());
20 ASSERT_TRUE(modelPtr->hasLabel(
"observeIGreater1"));
21 ASSERT_EQ(4650ul, modelPtr->getStates(
"observeIGreater1").getNumberOfSetBits());
22 ASSERT_TRUE(modelPtr->hasLabel(
"observe0Greater1"));
23 ASSERT_EQ(1260ul, modelPtr->getStates(
"observe0Greater1").getNumberOfSetBits());
26TEST(DirectEncodingParserTest, MdpParsing) {
27 std::shared_ptr<storm::models::sparse::Model<double>> modelPtr =
32 ASSERT_EQ(169ul, modelPtr->getNumberOfStates());
33 ASSERT_EQ(436ul, modelPtr->getNumberOfTransitions());
35 ASSERT_TRUE(modelPtr->hasLabel(
"init"));
36 ASSERT_EQ(1ul, modelPtr->getInitialStates().getNumberOfSetBits());
37 ASSERT_TRUE(modelPtr->hasLabel(
"six"));
38 ASSERT_EQ(5ul, modelPtr->getStates(
"six").getNumberOfSetBits());
39 ASSERT_TRUE(modelPtr->hasLabel(
"eleven"));
40 ASSERT_EQ(2ul, modelPtr->getStates(
"eleven").getNumberOfSetBits());
41 ASSERT_EQ(1ul, modelPtr->getNumberOfRewardModels());
42 ASSERT_TRUE(modelPtr->hasRewardModel(
"coinflips"));
43 ASSERT_TRUE(!modelPtr->getRewardModel(
"coinflips").hasStateRewards());
44 ASSERT_TRUE(modelPtr->getRewardModel(
"coinflips").hasStateActionRewards());
45 ASSERT_TRUE(!modelPtr->getRewardModel(
"coinflips").isAllZero());
48TEST(DirectEncodingParserTest, CtmcParsing) {
49 std::shared_ptr<storm::models::sparse::Model<double>> modelPtr =
54 ASSERT_EQ(276ul, modelPtr->getNumberOfStates());
55 ASSERT_EQ(1120ul, modelPtr->getNumberOfTransitions());
56 ASSERT_TRUE(modelPtr->hasLabel(
"init"));
57 ASSERT_EQ(1ul, modelPtr->getInitialStates().getNumberOfSetBits());
58 ASSERT_TRUE(modelPtr->hasLabel(
"premium"));
59 ASSERT_EQ(64ul, modelPtr->getStates(
"premium").getNumberOfSetBits());
60 ASSERT_TRUE(modelPtr->hasLabel(
"minimum"));
61 ASSERT_EQ(132ul, modelPtr->getStates(
"minimum").getNumberOfSetBits());
62 ASSERT_EQ(1ul, modelPtr->getNumberOfRewardModels());
63 ASSERT_TRUE(modelPtr->hasRewardModel(
"num_repairs"));
64 ASSERT_TRUE(!modelPtr->getRewardModel(
"num_repairs").hasStateRewards());
65 ASSERT_TRUE(modelPtr->getRewardModel(
"num_repairs").hasStateActionRewards());
66 ASSERT_TRUE(!modelPtr->getRewardModel(
"num_repairs").isAllZero());
69TEST(DirectEncodingParserTest, MarkovAutomatonParsing) {
70 std::shared_ptr<storm::models::sparse::Model<double>> modelPtr =
76 ASSERT_EQ(17ul, ma->getNumberOfStates());
77 ASSERT_EQ(25ul, ma->getNumberOfTransitions());
78 ASSERT_EQ(19ul, ma->getNumberOfChoices());
79 ASSERT_EQ(10ul, ma->getMarkovianStates().getNumberOfSetBits());
80 ASSERT_EQ(5, ma->getMaximalExitRate());
81 ASSERT_EQ(1ul, ma->getNumberOfRewardModels());
82 ASSERT_TRUE(ma->hasRewardModel(
"avg_waiting_time"));
83 ASSERT_TRUE(ma->getRewardModel(
"avg_waiting_time").hasStateRewards());
84 ASSERT_TRUE(!ma->getRewardModel(
"avg_waiting_time").hasStateActionRewards());
85 ASSERT_TRUE(!ma->getRewardModel(
"avg_waiting_time").isAllZero());
86 ASSERT_TRUE(modelPtr->hasLabel(
"init"));
87 ASSERT_EQ(1ul, modelPtr->getInitialStates().getNumberOfSetBits());
88 ASSERT_TRUE(modelPtr->hasLabel(
"one_job_finished"));
89 ASSERT_EQ(6ul, modelPtr->getStates(
"one_job_finished").getNumberOfSetBits());
static std::shared_ptr< storm::models::sparse::Model< ValueType, RewardModelType > > parseModel(std::string const &fil, DirectEncodingParserOptions const &options=DirectEncodingParserOptions())
Load a model in DRN format from a file and create the model.