Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
AddUncertaintyTest.cpp
Go to the documentation of this file.
1#include "storm-config.h"
2#include "test/storm_gtest.h"
3
6#include "storm/api/storm.h"
8
9TEST(AddUncertaintyTransformerTest, BrpTest) {
10#ifndef STORM_HAVE_Z3
11 GTEST_SKIP() << "Z3 not available.";
12#endif
13 storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/brp-16-2.pm");
14 std::string formulasString = "P=? [ F \"target\"]";
16 auto model = storm::api::buildSparseModel<double>(program, formulas);
17
18 auto transformer = storm::transformer::AddUncertainty(model);
19 auto uncertainModel = transformer.transform(0.01);
20 EXPECT_EQ(uncertainModel->getNumberOfStates(), model->getNumberOfStates());
21 EXPECT_EQ(uncertainModel->getNumberOfTransitions(), model->getNumberOfTransitions());
22 EXPECT_TRUE(uncertainModel->hasUncertainty());
23}
24
25TEST(AddUncertaintyTransformerTest, Coin22Test) {
26#ifndef STORM_HAVE_Z3
27 GTEST_SKIP() << "Z3 not available.";
28#endif
29 storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/coin2-2.nm");
30 std::string formulasString = "Pmax=? [ F \"all_coins_equal_1\"]";
32 auto model = storm::api::buildSparseModel<double>(program, formulas);
33
34 auto transformer = storm::transformer::AddUncertainty(model);
35 auto uncertainModel = transformer.transform(0.01);
36 EXPECT_EQ(uncertainModel->getNumberOfStates(), model->getNumberOfStates());
37 EXPECT_EQ(uncertainModel->getNumberOfTransitions(), model->getNumberOfTransitions());
38 EXPECT_TRUE(uncertainModel->hasUncertainty());
39}
TEST(AddUncertaintyTransformerTest, BrpTest)
static storm::prism::Program parse(std::string const &filename, bool prismCompatability=false)
Parses the given file into the PRISM storage classes assuming it complies with the PRISM syntax.
This class is a convenience transformer to add uncertainty.
std::vector< storm::jani::Property > parsePropertiesForPrismProgram(std::string const &inputString, storm::prism::Program const &program, 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)