1#include "storm-config.h"
7class DftSmt :
public ::testing::Test {
9 void SetUp()
override {
11 GTEST_SKIP() <<
"Z3 not available.";
21 smtChecker.toSolver();
30 smtChecker.toSolver();
39 smtChecker.toSolver();
49 smtChecker.toSolver();
54TEST_F(DftSmt, FDEPBoundTest) {
59 smtChecker.toSolver();
64TEST_F(DftSmt, FDEPConflictTest) {
65 std::shared_ptr<storm::dft::storage::DFT<double>> dft =
68 std::vector<bool> true_vector(10,
true);
74TEST_F(DftSmt, FDEPConflictSPARETest) {
75 std::shared_ptr<storm::dft::storage::DFT<double>> dft =
78 std::vector<bool> true_vector(10,
true);
84TEST_F(DftSmt, FDEPConflictSEQTest) {
87 std::vector<bool> expected_dynamic_vector(dft->nrElements(),
true);
88 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::pair< bool, std::string > isWellFormed(storm::dft::storage::DFT< ValueType > const &dft, bool validForMarkovianAnalysis=true)
Check whether the DFT is well-formed.
std::shared_ptr< storm::dft::storage::DFT< ValueType > > loadDFTGalileoFile(std::string const &file)
Load DFT from Galileo file.