1#include "storm-config.h"
11class DftSmt :
public ::testing::Test {
13 void SetUp()
override {
15 GTEST_SKIP() <<
"Z3 not available.";
25 smtChecker.toSolver();
34 smtChecker.toSolver();
43 smtChecker.toSolver();
53 smtChecker.toSolver();
58TEST_F(DftSmt, FDEPBoundTest) {
63 smtChecker.toSolver();
68TEST_F(DftSmt, FDEPConflictTest) {
69 std::shared_ptr<storm::dft::storage::DFT<double>> dft =
72 std::vector<bool> true_vector(10,
true);
78TEST_F(DftSmt, FDEPConflictSPARETest) {
79 std::shared_ptr<storm::dft::storage::DFT<double>> dft =
82 std::vector<bool> true_vector(10,
true);
88TEST_F(DftSmt, FDEPConflictSEQTest) {
91 std::vector<bool> expected_dynamic_vector(dft->nrElements(),
true);
92 expected_dynamic_vector.at(dft->getTopLevelIndex()) =
false;
TEST_F(AssumptionCheckerTest, Brp_no_bisimulation)
static std::vector< bool > getDynamicBehavior(storm::dft::storage::DFT< ValueType > const &dft)
static std::vector< std::pair< uint64_t, uint64_t > > getDependencyConflicts(storm::dft::storage::DFT< ValueType > const &dft, bool useSMT=false, uint_fast64_t timeout=10)
Get a vector of index pairs of FDEPs in the DFT which are conflicting.
static uint64_t getLeastFailureBound(storm::dft::storage::DFT< double > const &dft, bool useSMT=false, uint_fast64_t timeout=10)
Get the minimal number of BEs necessary for the TLE to fail (lower bound for number of failures to ch...
static uint64_t getAlwaysFailedBound(storm::dft::storage::DFT< double > const &dft, bool useSMT=false, uint_fast64_t timeout=10)
Get the number of BE failures for which the TLE always fails (upper bound for number of failures to c...
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.