1#include "storm-config.h"
11TEST(DftParserTest, LoadFromGalileoFile) {
12 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/and.dft";
14 EXPECT_EQ(3ul, dft->nrElements());
15 EXPECT_EQ(2ul, dft->nrBasicElements());
19TEST(DftParserTest, LoadFromJsonFile) {
20 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/and.json";
22 EXPECT_EQ(3ul, dft->nrElements());
23 EXPECT_EQ(2ul, dft->nrBasicElements());
27TEST(DftParserTest, LoadAllBeDistributionsFromGalileoFile) {
28 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/all_be_distributions.dft";
30 EXPECT_EQ(8ul, dft->nrElements());
31 EXPECT_EQ(7ul, dft->nrBasicElements());
42TEST(DftParserTest, LoadAllGatesFromGalileoFile) {
43 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/all_gates.dft";
45 EXPECT_EQ(42ul, dft->nrElements());
46 EXPECT_EQ(19ul, dft->nrBasicElements());
47 EXPECT_EQ(5ul, dft->nrStaticElements());
48 EXPECT_EQ(18ul, dft->nrDynamicElements());
52TEST(DftParserTest, LoadAllBEDistributionsFromJsonFile) {
53 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/all_be_distributions.json";
55 EXPECT_EQ(8ul, dft->nrElements());
56 EXPECT_EQ(7ul, dft->nrBasicElements());
67TEST(DftParserTest, LoadAllGatesFromJsonFile) {
68 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/all_gates.json";
70 EXPECT_EQ(42ul, dft->nrElements());
71 EXPECT_EQ(19ul, dft->nrBasicElements());
72 EXPECT_EQ(5ul, dft->nrStaticElements());
73 EXPECT_EQ(18ul, dft->nrDynamicElements());
77TEST(DftParserTest, CatchCycles) {
78 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/cyclic.dft";
82TEST(DftParserTest, LoadSeqChildren) {
83 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/seqChild.dft";
85 EXPECT_EQ(4ul, dft->nrElements());
86 EXPECT_EQ(2ul, dft->nrBasicElements());
90TEST(DftParserTest, LoadParametricFromGalileoFile) {
91 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/and_param.dft";
93 EXPECT_EQ(3ul, dft->nrElements());
94 EXPECT_EQ(2ul, dft->nrBasicElements());
97 EXPECT_TRUE(parameters.size() == 1);
99 EXPECT_TRUE(it != parameters.end());
102TEST(DftParserTest, LoadParametricFromJsonFile) {
103 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/and_param.json";
105 EXPECT_EQ(3ul, dft->nrElements());
106 EXPECT_EQ(2ul, dft->nrBasicElements());
109 EXPECT_TRUE(parameters.size() == 1);
111 EXPECT_TRUE(it != parameters.end());
std::shared_ptr< storm::dft::storage::DFT< ValueType > > loadDFTGalileoFile(std::string const &file)
Load DFT from Galileo file.
std::shared_ptr< storm::dft::storage::DFT< ValueType > > loadDFTJsonFile(std::string const &file)
Load DFT from JSON file.
std::pair< bool, std::string > isWellFormed(storm::dft::storage::DFT< ValueType > const &dft, bool validForMarkovianAnalysis)
Check whether the DFT is well-formed.
std::set< storm::RationalFunctionVariable > getParameters(DFT< storm::RationalFunction > const &dft)
Get all rate/probability parameters occurring in the DFT.
carl::Variable RationalFunctionVariable
#define STORM_SILENT_EXPECT_THROW(statement, expected_exception)