1#include "storm-config.h"
9TEST(DftTransformerTest, UniqueConstantFailedTest) {
10 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/const_be_test.dft";
11 std::shared_ptr<storm::dft::storage::DFT<double>> originalDft = storm::dft::api::loadDFTGalileoFile<double>(file);
12 std::shared_ptr<storm::dft::storage::DFT<double>> transformedDft =
16 auto bes = originalDft->getBasicElements();
17 uint64_t constBeFailedCount = 0;
18 uint64_t constBeFailsafeCount = 0;
19 for (
auto &be : bes) {
24 ++constBeFailsafeCount;
28 EXPECT_EQ(3ul, constBeFailedCount);
29 EXPECT_EQ(0ul, constBeFailsafeCount);
32 bes = transformedDft->getBasicElements();
33 constBeFailedCount = 0;
34 constBeFailsafeCount = 0;
35 for (
auto &be : bes) {
40 ++constBeFailsafeCount;
44 EXPECT_EQ(1ul, constBeFailedCount);
45 EXPECT_EQ(3ul, constBeFailsafeCount);
48TEST(DftTransformerTest, BinaryFDEPTest) {
49 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/fdep5.dft";
50 std::shared_ptr<storm::dft::storage::DFT<double>> originalDft = storm::dft::api::loadDFTGalileoFile<double>(file);
51 std::shared_ptr<storm::dft::storage::DFT<double>> transformedDft =
55 uint64_t dependencyCount = originalDft->getDependencies().size();
56 EXPECT_EQ(1ul, dependencyCount);
59 dependencyCount = transformedDft->getDependencies().size();
60 EXPECT_EQ(2ul, dependencyCount);
63TEST(DftTransformerTest, PDEPTransformTest) {
64 std::string file = STORM_TEST_RESOURCES_DIR
"/dft/pdep4.dft";
65 std::shared_ptr<storm::dft::storage::DFT<double>> originalDft = storm::dft::api::loadDFTGalileoFile<double>(file);
66 std::shared_ptr<storm::dft::storage::DFT<double>> transformedDft =
70 uint64_t fdepCount = 0;
71 uint64_t pdepCount = 0;
72 for (
auto depIndex : originalDft->getDependencies()) {
73 auto dep = originalDft->getDependency(depIndex);
74 if (dep->probability() == 1) {
80 EXPECT_EQ(1ul, pdepCount);
81 EXPECT_EQ(0ul, fdepCount);
82 EXPECT_EQ(3ul, originalDft->nrBasicElements());
87 for (
auto depIndex : transformedDft->getDependencies()) {
88 auto dep = transformedDft->getDependency(depIndex);
89 if (dep->probability() == 1) {
95 EXPECT_EQ(1ul, pdepCount);
96 EXPECT_EQ(2ul, fdepCount);
97 EXPECT_EQ(4ul, transformedDft->nrBasicElements());