|
|
@ -19,17 +19,18 @@ namespace { |
|
|
|
|
|
|
|
// Set relevant events (none)
|
|
|
|
std::set<size_t> relevantEvents; |
|
|
|
dft->setRelevantEvents(relevantEvents, false); |
|
|
|
// Build model
|
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder(*dft, symmetries, relevantEvents, false); |
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder(*dft, symmetries); |
|
|
|
builder.buildModel(0, 0.0); |
|
|
|
std::shared_ptr<storm::models::sparse::Model<double>> model = builder.getModel(); |
|
|
|
EXPECT_EQ(8ul, model->getNumberOfStates()); |
|
|
|
EXPECT_EQ(13ul, model->getNumberOfTransitions()); |
|
|
|
|
|
|
|
// Set relevant events (all)
|
|
|
|
relevantEvents = dft->getAllIds(); |
|
|
|
dft->setRelevantEvents(dft->getAllIds(), false); |
|
|
|
// Build model
|
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder2(*dft, symmetries, relevantEvents, false); |
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder2(*dft, symmetries); |
|
|
|
builder2.buildModel(0, 0.0); |
|
|
|
model = builder2.getModel(); |
|
|
|
EXPECT_EQ(512ul, model->getNumberOfStates()); |
|
|
@ -38,8 +39,9 @@ namespace { |
|
|
|
// Set relevant events (H)
|
|
|
|
relevantEvents.clear(); |
|
|
|
relevantEvents.insert(dft->getIndex("H")); |
|
|
|
dft->setRelevantEvents(relevantEvents, false); |
|
|
|
// Build model
|
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder3(*dft, symmetries, relevantEvents, false); |
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder3(*dft, symmetries); |
|
|
|
builder3.buildModel(0, 0.0); |
|
|
|
model = builder3.getModel(); |
|
|
|
EXPECT_EQ(12ul, model->getNumberOfStates()); |
|
|
@ -50,8 +52,9 @@ namespace { |
|
|
|
relevantEvents.clear(); |
|
|
|
relevantEvents.insert(dft->getIndex("H")); |
|
|
|
relevantEvents.insert(dft->getIndex("I")); |
|
|
|
dft->setRelevantEvents(relevantEvents, false); |
|
|
|
// Build model
|
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder4(*dft, symmetries, relevantEvents, false); |
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder4(*dft, symmetries); |
|
|
|
builder4.buildModel(0, 0.0); |
|
|
|
model = builder4.getModel(); |
|
|
|
EXPECT_EQ(16ul, model->getNumberOfStates()); |
|
|
@ -59,17 +62,18 @@ namespace { |
|
|
|
|
|
|
|
// Set relevant events (none)
|
|
|
|
relevantEvents.clear(); |
|
|
|
dft->setRelevantEvents(relevantEvents, true); |
|
|
|
// Build model
|
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder5(*dft, symmetries, relevantEvents, true); |
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder5(*dft, symmetries); |
|
|
|
builder5.buildModel(0, 0.0); |
|
|
|
model = builder5.getModel(); |
|
|
|
EXPECT_EQ(8ul, model->getNumberOfStates()); |
|
|
|
EXPECT_EQ(13ul, model->getNumberOfTransitions()); |
|
|
|
|
|
|
|
// Set relevant events (all)
|
|
|
|
relevantEvents = dft->getAllIds(); |
|
|
|
dft->setRelevantEvents(dft->getAllIds(), true); |
|
|
|
// Build model
|
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder6(*dft, symmetries, relevantEvents, true); |
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder6(*dft, symmetries); |
|
|
|
builder6.buildModel(0, 0.0); |
|
|
|
model = builder6.getModel(); |
|
|
|
EXPECT_EQ(8ul, model->getNumberOfStates()); |
|
|
@ -80,13 +84,13 @@ namespace { |
|
|
|
relevantEvents.clear(); |
|
|
|
relevantEvents.insert(dft->getIndex("H")); |
|
|
|
relevantEvents.insert(dft->getIndex("I")); |
|
|
|
dft->setRelevantEvents(relevantEvents, true); |
|
|
|
// Build model
|
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder7(*dft, symmetries, relevantEvents, true); |
|
|
|
storm::builder::ExplicitDFTModelBuilder<double> builder7(*dft, symmetries); |
|
|
|
builder7.buildModel(0, 0.0); |
|
|
|
model = builder7.getModel(); |
|
|
|
EXPECT_EQ(8ul, model->getNumberOfStates()); |
|
|
|
EXPECT_EQ(13ul, model->getNumberOfTransitions()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |