1#include "storm-config.h"
10TEST(DftParserTest, LoadFromGalileoFile) {
11 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/and.dft";
12 std::shared_ptr<storm::dft::storage::DFT<double>> dft = storm::dft::api::loadDFTGalileoFile<double>(file);
13 EXPECT_EQ(3ul, dft->nrElements());
14 EXPECT_EQ(2ul, dft->nrBasicElements());
18TEST(DftParserTest, LoadFromJsonFile) {
19 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/and.json";
20 std::shared_ptr<storm::dft::storage::DFT<double>> dft = storm::dft::api::loadDFTJsonFile<double>(file);
21 EXPECT_EQ(3ul, dft->nrElements());
22 EXPECT_EQ(2ul, dft->nrBasicElements());
26TEST(DftParserTest, LoadAllBeDistributionsFromGalileoFile) {
27 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/all_be_distributions.dft";
28 std::shared_ptr<storm::dft::storage::DFT<double>> dft = storm::dft::api::loadDFTGalileoFile<double>(file);
29 EXPECT_EQ(8ul, dft->nrElements());
30 EXPECT_EQ(7ul, dft->nrBasicElements());
41TEST(DftParserTest, LoadAllGatesFromGalileoFile) {
42 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/all_gates.dft";
43 std::shared_ptr<storm::dft::storage::DFT<double>> dft = storm::dft::api::loadDFTGalileoFile<double>(file);
44 EXPECT_EQ(42ul, dft->nrElements());
45 EXPECT_EQ(19ul, dft->nrBasicElements());
46 EXPECT_EQ(5ul, dft->nrStaticElements());
47 EXPECT_EQ(18ul, dft->nrDynamicElements());
51TEST(DftParserTest, LoadAllBEDistributionsFromJsonFile) {
52 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/all_be_distributions.json";
53 std::shared_ptr<storm::dft::storage::DFT<double>> dft = storm::dft::api::loadDFTJsonFile<double>(file);
54 EXPECT_EQ(8ul, dft->nrElements());
55 EXPECT_EQ(7ul, dft->nrBasicElements());
66TEST(DftParserTest, LoadAllGatesFromJsonFile) {
67 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/all_gates.json";
68 std::shared_ptr<storm::dft::storage::DFT<double>> dft = storm::dft::api::loadDFTJsonFile<double>(file);
69 EXPECT_EQ(42ul, dft->nrElements());
70 EXPECT_EQ(19ul, dft->nrBasicElements());
71 EXPECT_EQ(5ul, dft->nrStaticElements());
72 EXPECT_EQ(18ul, dft->nrDynamicElements());
76TEST(DftParserTest, CatchCycles) {
77 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/cyclic.dft";
81TEST(DftParserTest, LoadSeqChildren) {
82 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/seqChild.dft";
83 std::shared_ptr<storm::dft::storage::DFT<double>> dft = storm::dft::api::loadDFTGalileoFile<double>(file);
84 EXPECT_EQ(4ul, dft->nrElements());
85 EXPECT_EQ(2ul, dft->nrBasicElements());
89TEST(DftParserTest, LoadParametricFromGalileoFile) {
90 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/and_param.dft";
91 std::shared_ptr<storm::dft::storage::DFT<storm::RationalFunction>> dft = storm::dft::api::loadDFTGalileoFile<storm::RationalFunction>(file);
92 EXPECT_EQ(3ul, dft->nrElements());
93 EXPECT_EQ(2ul, dft->nrBasicElements());
96 EXPECT_TRUE(parameters.size() == 1);
98 EXPECT_TRUE(it != parameters.end());
101TEST(DftParserTest, LoadParametricFromJsonFile) {
102 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/and_param.json";
103 std::shared_ptr<storm::dft::storage::DFT<storm::RationalFunction>> dft = storm::dft::api::loadDFTJsonFile<storm::RationalFunction>(file);
104 EXPECT_EQ(3ul, dft->nrElements());
105 EXPECT_EQ(2ul, dft->nrBasicElements());
108 EXPECT_TRUE(parameters.size() == 1);
110 EXPECT_TRUE(it != parameters.end());
std::pair< bool, std::string > isWellFormed(storm::dft::storage::DFT< ValueType > const &dft, bool validForMarkovianAnalysis=true)
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)