1#include "storm-config.h"
10TEST(AddUncertaintyTransformerTest, BrpTest) {
12 GTEST_SKIP() <<
"Z3 not available.";
15 std::string formulasString =
"P=? [ F \"target\"]";
20 auto uncertainModel = transformer.transform(0.01);
21 EXPECT_EQ(uncertainModel->getNumberOfStates(), model->getNumberOfStates());
22 EXPECT_EQ(uncertainModel->getNumberOfTransitions(), model->getNumberOfTransitions());
23 EXPECT_TRUE(uncertainModel->hasUncertainty());
26TEST(AddUncertaintyTransformerTest, Coin22Test) {
28 GTEST_SKIP() <<
"Z3 not available.";
31 std::string formulasString =
"Pmax=? [ F \"all_coins_equal_1\"]";
36 auto uncertainModel = transformer.transform(0.01);
37 EXPECT_EQ(uncertainModel->getNumberOfStates(), model->getNumberOfStates());
38 EXPECT_EQ(uncertainModel->getNumberOfTransitions(), model->getNumberOfTransitions());
39 EXPECT_TRUE(uncertainModel->hasUncertainty());
42TEST(AddUncertaintyTransformerTest, BrpTestRational) {
44 GTEST_SKIP() <<
"Z3 not available.";
47 std::string formulasString =
"P=? [ F \"target\"]";
52 auto uncertainModel = transformer.transform(storm::RationalNumber(
"1/100"));
53 EXPECT_EQ(uncertainModel->getNumberOfStates(), model->getNumberOfStates());
54 EXPECT_EQ(uncertainModel->getNumberOfTransitions(), model->getNumberOfTransitions());
55 EXPECT_TRUE(uncertainModel->hasUncertainty());
58TEST(AddUncertaintyTransformerTest, Coin22TestRational) {
60 GTEST_SKIP() <<
"Z3 not available.";
63 std::string formulasString =
"Pmax=? [ F \"all_coins_equal_1\"]";
68 auto uncertainModel = transformer.transform(storm::RationalNumber(
"1/100"));
69 EXPECT_EQ(uncertainModel->getNumberOfStates(), model->getNumberOfStates());
70 EXPECT_EQ(uncertainModel->getNumberOfTransitions(), model->getNumberOfTransitions());
71 EXPECT_TRUE(uncertainModel->hasUncertainty());
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.
std::vector< storm::jani::Property > parsePropertiesForPrismProgram(std::string const &inputString, storm::prism::Program const &program, boost::optional< std::set< std::string > > const &propertyFilter)
std::shared_ptr< storm::models::sparse::Model< ValueType > > buildSparseModel(storm::storage::SymbolicModelDescription const &model, storm::builder::BuilderOptions const &options)
std::vector< std::shared_ptr< storm::logic::Formula const > > extractFormulasFromProperties(std::vector< storm::jani::Property > const &properties)