diff --git a/CMakeLists.txt b/CMakeLists.txt
index 50dffa615..29fe0ac0b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -79,7 +79,7 @@ if(STORM_COMPILE_WITH_CCACHE)
 endif()
 
 # Base path for test files
-set(STORM_CPP_TESTS_BASE_PATH "${PROJECT_SOURCE_DIR}/test")
+set(STORM_CPP_TESTS_BASE_PATH "${PROJECT_SOURCE_DIR}/src/test")
 
 set(STORMPY_OUTPUT_DIR "${PROJECT_BINARY_DIR}/stormpy")
 set(STORMPY_SOURCE_DIR "${PROJECT_SOURCE_DIR}/stormpy")
@@ -330,7 +330,9 @@ set(STORM_GENERATED_SOURCES "${PROJECT_BINARY_DIR}/src/storm/utility/storm-versi
 # Add the binary dir include directory for storm-config.h
 include_directories("${PROJECT_BINARY_DIR}/include")
 
+include(CTest)
+
+
 add_subdirectory(src)
-add_subdirectory(test)
 
 include(StormCPackConfig.cmake)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index d40a958e0..da12dae20 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,3 +1,12 @@
 add_subdirectory(storm)
 add_subdirectory(storm-pgcl)
 add_subdirectory(storm-pgcl-cli)
+
+
+add_subdirectory(test)
+
+
+
+file(GLOB_RECURSE ALL_FILES ${PROJECT_SOURCE_DIR}/src/*.h ${PROJECT_SOURCE_DIR}/src/*.cpp)
+
+register_source_groups_from_filestructure("${ALL_FILES}")
\ No newline at end of file
diff --git a/src/storm/CMakeLists.txt b/src/storm/CMakeLists.txt
index 722cdedde..8cf6c6efb 100644
--- a/src/storm/CMakeLists.txt
+++ b/src/storm/CMakeLists.txt
@@ -18,10 +18,6 @@ set(STORM_MAIN_SOURCES  ${STORM_MAIN_FILE})
 set(STORM_DFT_MAIN_SOURCES ${STORM_DFT_MAIN_FILE})
 set(STORM_GSPN_MAIN_SOURCES ${STORM_GSPN_MAIN_FILE})
 
-file(GLOB_RECURSE ALL_FILES ${PROJECT_SOURCE_DIR}/src/storm/*.h ${PROJECT_SOURCE_DIR}/src/storm/*.cpp)
-
-register_source_groups_from_filestructure("${ALL_FILES}")
-
 # Add custom additional include or link directories
 if (ADDITIONAL_INCLUDE_DIRS)
 	message(STATUS "StoRM - Using additional include directories ${ADDITIONAL_INCLUDE_DIRS}")
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
new file mode 100644
index 000000000..1c14ec19f
--- /dev/null
+++ b/src/test/CMakeLists.txt
@@ -0,0 +1,28 @@
+# Test Sources
+# Note that the tests also need the source files, except for the main file
+include_directories(${GTEST_INCLUDE_DIR})
+
+
+configure_file (
+		"${PROJECT_SOURCE_DIR}/src/test/storm-test-config.h.in"
+		"${PROJECT_BINARY_DIR}/src/test/storm-config.h"
+)
+
+foreach (testsuite adapter builder logic modelchecker parser permissiveschedulers solver storage transformer utility)
+
+	  file(GLOB_RECURSE TEST_${testsuite}_FILES ${STORM_CPP_TESTS_BASE_PATH}/${testsuite}/*.h ${STORM_CPP_TESTS_BASE_PATH}/${testsuite}/*.cpp)
+      add_executable (test-${testsuite} ${TEST_${testsuite}_FILES})
+	  target_link_libraries(test-${testsuite} storm)
+	  target_link_libraries(test-${testsuite} ${STORM_TEST_LINK_LIBRARIES})
+
+	  add_dependencies(test-${testsuite} test-resources)
+	  add_test(run-test-${testsuite} test-${testsuite})
+endforeach ()
+
+
+
+#INSTALL(TARGETS storm-functional-tests
+#	RUNTIME DESTINATION bin
+#	LIBRARY DESTINATION lib
+#	ARCHIVE DESTINATION lib
+#)
diff --git a/test/functional/adapter/MathsatExpressionAdapterTest.cpp b/src/test/adapter/MathsatExpressionAdapterTest.cpp
similarity index 100%
rename from test/functional/adapter/MathsatExpressionAdapterTest.cpp
rename to src/test/adapter/MathsatExpressionAdapterTest.cpp
diff --git a/test/functional/adapter/Z3ExpressionAdapterTest.cpp b/src/test/adapter/Z3ExpressionAdapterTest.cpp
similarity index 100%
rename from test/functional/adapter/Z3ExpressionAdapterTest.cpp
rename to src/test/adapter/Z3ExpressionAdapterTest.cpp
diff --git a/test/functional/builder/DdJaniModelBuilderTest.cpp b/src/test/builder/DdJaniModelBuilderTest.cpp
similarity index 100%
rename from test/functional/builder/DdJaniModelBuilderTest.cpp
rename to src/test/builder/DdJaniModelBuilderTest.cpp
diff --git a/test/functional/builder/DdPrismModelBuilderTest.cpp b/src/test/builder/DdPrismModelBuilderTest.cpp
similarity index 100%
rename from test/functional/builder/DdPrismModelBuilderTest.cpp
rename to src/test/builder/DdPrismModelBuilderTest.cpp
diff --git a/test/functional/builder/ExplicitJaniModelBuilderTest.cpp b/src/test/builder/ExplicitJaniModelBuilderTest.cpp
similarity index 100%
rename from test/functional/builder/ExplicitJaniModelBuilderTest.cpp
rename to src/test/builder/ExplicitJaniModelBuilderTest.cpp
diff --git a/test/functional/builder/ExplicitJitJaniModelBuilderTest.cpp b/src/test/builder/ExplicitJitJaniModelBuilderTest.cpp
similarity index 100%
rename from test/functional/builder/ExplicitJitJaniModelBuilderTest.cpp
rename to src/test/builder/ExplicitJitJaniModelBuilderTest.cpp
diff --git a/test/functional/builder/ExplicitPrismModelBuilderTest.cpp b/src/test/builder/ExplicitPrismModelBuilderTest.cpp
similarity index 100%
rename from test/functional/builder/ExplicitPrismModelBuilderTest.cpp
rename to src/test/builder/ExplicitPrismModelBuilderTest.cpp
diff --git a/test/functional/builder/SmallPrismTest.nm b/src/test/builder/SmallPrismTest.nm
similarity index 100%
rename from test/functional/builder/SmallPrismTest.nm
rename to src/test/builder/SmallPrismTest.nm
diff --git a/test/functional/builder/SmallPrismTest2.nm b/src/test/builder/SmallPrismTest2.nm
similarity index 100%
rename from test/functional/builder/SmallPrismTest2.nm
rename to src/test/builder/SmallPrismTest2.nm
diff --git a/test/functional/builder/brp-16-2.pm b/src/test/builder/brp-16-2.pm
similarity index 100%
rename from test/functional/builder/brp-16-2.pm
rename to src/test/builder/brp-16-2.pm
diff --git a/test/functional/builder/cluster2.sm b/src/test/builder/cluster2.sm
similarity index 100%
rename from test/functional/builder/cluster2.sm
rename to src/test/builder/cluster2.sm
diff --git a/test/functional/builder/coin2-2-illegalSynchronizingWrite.nm b/src/test/builder/coin2-2-illegalSynchronizingWrite.nm
similarity index 100%
rename from test/functional/builder/coin2-2-illegalSynchronizingWrite.nm
rename to src/test/builder/coin2-2-illegalSynchronizingWrite.nm
diff --git a/test/functional/builder/coin2-2.nm b/src/test/builder/coin2-2.nm
similarity index 100%
rename from test/functional/builder/coin2-2.nm
rename to src/test/builder/coin2-2.nm
diff --git a/test/functional/builder/crowds-5-5.pm b/src/test/builder/crowds-5-5.pm
similarity index 100%
rename from test/functional/builder/crowds-5-5.pm
rename to src/test/builder/crowds-5-5.pm
diff --git a/test/functional/builder/csma2-2.nm b/src/test/builder/csma2-2.nm
similarity index 100%
rename from test/functional/builder/csma2-2.nm
rename to src/test/builder/csma2-2.nm
diff --git a/test/functional/builder/die.pm b/src/test/builder/die.pm
similarity index 100%
rename from test/functional/builder/die.pm
rename to src/test/builder/die.pm
diff --git a/test/functional/builder/die_c1.nm b/src/test/builder/die_c1.nm
similarity index 100%
rename from test/functional/builder/die_c1.nm
rename to src/test/builder/die_c1.nm
diff --git a/test/functional/builder/die_selection.nm b/src/test/builder/die_selection.nm
similarity index 100%
rename from test/functional/builder/die_selection.nm
rename to src/test/builder/die_selection.nm
diff --git a/test/functional/builder/die_selection.nm.backup b/src/test/builder/die_selection.nm.backup
similarity index 100%
rename from test/functional/builder/die_selection.nm.backup
rename to src/test/builder/die_selection.nm.backup
diff --git a/test/functional/builder/embedded2.sm b/src/test/builder/embedded2.sm
similarity index 100%
rename from test/functional/builder/embedded2.sm
rename to src/test/builder/embedded2.sm
diff --git a/test/functional/builder/firewire3-0.5.nm b/src/test/builder/firewire3-0.5.nm
similarity index 100%
rename from test/functional/builder/firewire3-0.5.nm
rename to src/test/builder/firewire3-0.5.nm
diff --git a/test/functional/builder/fms2.sm b/src/test/builder/fms2.sm
similarity index 100%
rename from test/functional/builder/fms2.sm
rename to src/test/builder/fms2.sm
diff --git a/test/functional/builder/hybrid_states.ma b/src/test/builder/hybrid_states.ma
similarity index 100%
rename from test/functional/builder/hybrid_states.ma
rename to src/test/builder/hybrid_states.ma
diff --git a/test/functional/builder/leader-3-5.pm b/src/test/builder/leader-3-5.pm
similarity index 100%
rename from test/functional/builder/leader-3-5.pm
rename to src/test/builder/leader-3-5.pm
diff --git a/test/functional/builder/leader3.nm b/src/test/builder/leader3.nm
similarity index 100%
rename from test/functional/builder/leader3.nm
rename to src/test/builder/leader3.nm
diff --git a/test/functional/builder/leader4.nm b/src/test/builder/leader4.nm
similarity index 100%
rename from test/functional/builder/leader4.nm
rename to src/test/builder/leader4.nm
diff --git a/test/functional/builder/nand-5-2.pm b/src/test/builder/nand-5-2.pm
similarity index 100%
rename from test/functional/builder/nand-5-2.pm
rename to src/test/builder/nand-5-2.pm
diff --git a/test/functional/builder/parametric_die.pm b/src/test/builder/parametric_die.pm
similarity index 100%
rename from test/functional/builder/parametric_die.pm
rename to src/test/builder/parametric_die.pm
diff --git a/test/functional/builder/polling2.sm b/src/test/builder/polling2.sm
similarity index 100%
rename from test/functional/builder/polling2.sm
rename to src/test/builder/polling2.sm
diff --git a/test/functional/builder/simple.ma b/src/test/builder/simple.ma
similarity index 100%
rename from test/functional/builder/simple.ma
rename to src/test/builder/simple.ma
diff --git a/test/functional/builder/stream2.ma b/src/test/builder/stream2.ma
similarity index 100%
rename from test/functional/builder/stream2.ma
rename to src/test/builder/stream2.ma
diff --git a/test/functional/builder/system_composition.nm b/src/test/builder/system_composition.nm
similarity index 100%
rename from test/functional/builder/system_composition.nm
rename to src/test/builder/system_composition.nm
diff --git a/test/functional/builder/system_composition2.nm b/src/test/builder/system_composition2.nm
similarity index 100%
rename from test/functional/builder/system_composition2.nm
rename to src/test/builder/system_composition2.nm
diff --git a/test/functional/builder/tandem5.sm b/src/test/builder/tandem5.sm
similarity index 100%
rename from test/functional/builder/tandem5.sm
rename to src/test/builder/tandem5.sm
diff --git a/test/functional/builder/two_dice.nm b/src/test/builder/two_dice.nm
similarity index 100%
rename from test/functional/builder/two_dice.nm
rename to src/test/builder/two_dice.nm
diff --git a/test/functional/builder/wlan0-2-2.nm b/src/test/builder/wlan0-2-2.nm
similarity index 100%
rename from test/functional/builder/wlan0-2-2.nm
rename to src/test/builder/wlan0-2-2.nm
diff --git a/test/functional/logic/FragmentCheckerTest.cpp b/src/test/logic/FragmentCheckerTest.cpp
similarity index 100%
rename from test/functional/logic/FragmentCheckerTest.cpp
rename to src/test/logic/FragmentCheckerTest.cpp
diff --git a/test/functional/modelchecker/EigenDtmcPrctlModelCheckerTest.cpp b/src/test/modelchecker/EigenDtmcPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/EigenDtmcPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/EigenDtmcPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/EigenDtmcPrctlModelCheckerTest.hpp b/src/test/modelchecker/EigenDtmcPrctlModelCheckerTest.hpp
similarity index 100%
rename from test/functional/modelchecker/EigenDtmcPrctlModelCheckerTest.hpp
rename to src/test/modelchecker/EigenDtmcPrctlModelCheckerTest.hpp
diff --git a/test/functional/modelchecker/GmmxxCtmcCslModelCheckerTest.cpp b/src/test/modelchecker/GmmxxCtmcCslModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/GmmxxCtmcCslModelCheckerTest.cpp
rename to src/test/modelchecker/GmmxxCtmcCslModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/GmmxxDtmcPrctlModelCheckerTest.cpp b/src/test/modelchecker/GmmxxDtmcPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/GmmxxDtmcPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/GmmxxDtmcPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/GmmxxHybridCtmcCslModelCheckerTest.cpp b/src/test/modelchecker/GmmxxHybridCtmcCslModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/GmmxxHybridCtmcCslModelCheckerTest.cpp
rename to src/test/modelchecker/GmmxxHybridCtmcCslModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/GmmxxHybridDtmcPrctlModelCheckerTest.cpp b/src/test/modelchecker/GmmxxHybridDtmcPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/GmmxxHybridDtmcPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/GmmxxHybridDtmcPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/GmmxxHybridMdpPrctlModelCheckerTest.cpp b/src/test/modelchecker/GmmxxHybridMdpPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/GmmxxHybridMdpPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/GmmxxHybridMdpPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/GmmxxMdpPrctlModelCheckerTest.cpp b/src/test/modelchecker/GmmxxMdpPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/GmmxxMdpPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/GmmxxMdpPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/NativeCtmcCslModelCheckerTest.cpp b/src/test/modelchecker/NativeCtmcCslModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/NativeCtmcCslModelCheckerTest.cpp
rename to src/test/modelchecker/NativeCtmcCslModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/NativeDtmcPrctlModelCheckerTest.cpp b/src/test/modelchecker/NativeDtmcPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/NativeDtmcPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/NativeDtmcPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/NativeHybridCtmcCslModelCheckerTest.cpp b/src/test/modelchecker/NativeHybridCtmcCslModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/NativeHybridCtmcCslModelCheckerTest.cpp
rename to src/test/modelchecker/NativeHybridCtmcCslModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/NativeHybridDtmcPrctlModelCheckerTest.cpp b/src/test/modelchecker/NativeHybridDtmcPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/NativeHybridDtmcPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/NativeHybridDtmcPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/NativeHybridMdpPrctlModelCheckerTest.cpp b/src/test/modelchecker/NativeHybridMdpPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/NativeHybridMdpPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/NativeHybridMdpPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/NativeMdpPrctlModelCheckerTest.cpp b/src/test/modelchecker/NativeMdpPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/NativeMdpPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/NativeMdpPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/SparseDtmcEliminationModelCheckerTest.cpp b/src/test/modelchecker/SparseDtmcEliminationModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/SparseDtmcEliminationModelCheckerTest.cpp
rename to src/test/modelchecker/SparseDtmcEliminationModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/SparseDtmcRegionModelCheckerTest.cpp b/src/test/modelchecker/SparseDtmcRegionModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/SparseDtmcRegionModelCheckerTest.cpp
rename to src/test/modelchecker/SparseDtmcRegionModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/SparseExplorationModelCheckerTest.cpp b/src/test/modelchecker/SparseExplorationModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/SparseExplorationModelCheckerTest.cpp
rename to src/test/modelchecker/SparseExplorationModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/SparseMaPcaaModelCheckerTest.cpp b/src/test/modelchecker/SparseMaPcaaModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/SparseMaPcaaModelCheckerTest.cpp
rename to src/test/modelchecker/SparseMaPcaaModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/SparseMdpPcaaModelCheckerTest.cpp b/src/test/modelchecker/SparseMdpPcaaModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/SparseMdpPcaaModelCheckerTest.cpp
rename to src/test/modelchecker/SparseMdpPcaaModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/SparseMdpRegionModelCheckerTest.cpp b/src/test/modelchecker/SparseMdpRegionModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/SparseMdpRegionModelCheckerTest.cpp
rename to src/test/modelchecker/SparseMdpRegionModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/SymbolicDtmcPrctlModelCheckerTest.cpp b/src/test/modelchecker/SymbolicDtmcPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/SymbolicDtmcPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/SymbolicDtmcPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/SymbolicMdpPrctlModelCheckerTest.cpp b/src/test/modelchecker/SymbolicMdpPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/SymbolicMdpPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/SymbolicMdpPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/TopologicalValueIterationMdpPrctlModelCheckerTest.cpp b/src/test/modelchecker/TopologicalValueIterationMdpPrctlModelCheckerTest.cpp
similarity index 100%
rename from test/functional/modelchecker/TopologicalValueIterationMdpPrctlModelCheckerTest.cpp
rename to src/test/modelchecker/TopologicalValueIterationMdpPrctlModelCheckerTest.cpp
diff --git a/test/functional/modelchecker/multiobjective1.nm b/src/test/modelchecker/multiobjective1.nm
similarity index 100%
rename from test/functional/modelchecker/multiobjective1.nm
rename to src/test/modelchecker/multiobjective1.nm
diff --git a/test/functional/modelchecker/multiobjective2.nm b/src/test/modelchecker/multiobjective2.nm
similarity index 100%
rename from test/functional/modelchecker/multiobjective2.nm
rename to src/test/modelchecker/multiobjective2.nm
diff --git a/test/functional/modelchecker/scheduler_generation.nm b/src/test/modelchecker/scheduler_generation.nm
similarity index 100%
rename from test/functional/modelchecker/scheduler_generation.nm
rename to src/test/modelchecker/scheduler_generation.nm
diff --git a/test/functional/modelchecker/test_conditional.pm b/src/test/modelchecker/test_conditional.pm
similarity index 100%
rename from test/functional/modelchecker/test_conditional.pm
rename to src/test/modelchecker/test_conditional.pm
diff --git a/test/functional/modelchecker/tiny_rewards.nm b/src/test/modelchecker/tiny_rewards.nm
similarity index 100%
rename from test/functional/modelchecker/tiny_rewards.nm
rename to src/test/modelchecker/tiny_rewards.nm
diff --git a/test/functional/parser/.gitignore b/src/test/parser/.gitignore
similarity index 100%
rename from test/functional/parser/.gitignore
rename to src/test/parser/.gitignore
diff --git a/test/functional/parser/AtomicPropositionLabelingParserTest.cpp b/src/test/parser/AtomicPropositionLabelingParserTest.cpp
similarity index 100%
rename from test/functional/parser/AtomicPropositionLabelingParserTest.cpp
rename to src/test/parser/AtomicPropositionLabelingParserTest.cpp
diff --git a/test/functional/parser/AutoParserTest.cpp b/src/test/parser/AutoParserTest.cpp
similarity index 100%
rename from test/functional/parser/AutoParserTest.cpp
rename to src/test/parser/AutoParserTest.cpp
diff --git a/test/functional/parser/DeterministicModelParserTest.cpp b/src/test/parser/DeterministicModelParserTest.cpp
similarity index 100%
rename from test/functional/parser/DeterministicModelParserTest.cpp
rename to src/test/parser/DeterministicModelParserTest.cpp
diff --git a/test/functional/parser/DeterministicSparseTransitionParserTest.cpp b/src/test/parser/DeterministicSparseTransitionParserTest.cpp
similarity index 100%
rename from test/functional/parser/DeterministicSparseTransitionParserTest.cpp
rename to src/test/parser/DeterministicSparseTransitionParserTest.cpp
diff --git a/test/functional/parser/FormulaParserTest.cpp b/src/test/parser/FormulaParserTest.cpp
similarity index 100%
rename from test/functional/parser/FormulaParserTest.cpp
rename to src/test/parser/FormulaParserTest.cpp
diff --git a/test/functional/parser/JaniParserTest.cpp b/src/test/parser/JaniParserTest.cpp
similarity index 100%
rename from test/functional/parser/JaniParserTest.cpp
rename to src/test/parser/JaniParserTest.cpp
diff --git a/test/functional/parser/MappedFileTest.cpp b/src/test/parser/MappedFileTest.cpp
similarity index 100%
rename from test/functional/parser/MappedFileTest.cpp
rename to src/test/parser/MappedFileTest.cpp
diff --git a/test/functional/parser/MarkovAutomatonParserTest.cpp b/src/test/parser/MarkovAutomatonParserTest.cpp
similarity index 100%
rename from test/functional/parser/MarkovAutomatonParserTest.cpp
rename to src/test/parser/MarkovAutomatonParserTest.cpp
diff --git a/test/functional/parser/MarkovAutomatonSparseTransitionParserTest.cpp b/src/test/parser/MarkovAutomatonSparseTransitionParserTest.cpp
similarity index 100%
rename from test/functional/parser/MarkovAutomatonSparseTransitionParserTest.cpp
rename to src/test/parser/MarkovAutomatonSparseTransitionParserTest.cpp
diff --git a/test/functional/parser/NondeterministicModelParserTest.cpp b/src/test/parser/NondeterministicModelParserTest.cpp
similarity index 100%
rename from test/functional/parser/NondeterministicModelParserTest.cpp
rename to src/test/parser/NondeterministicModelParserTest.cpp
diff --git a/test/functional/parser/NondeterministicSparseTransitionParserTest.cpp b/src/test/parser/NondeterministicSparseTransitionParserTest.cpp
similarity index 100%
rename from test/functional/parser/NondeterministicSparseTransitionParserTest.cpp
rename to src/test/parser/NondeterministicSparseTransitionParserTest.cpp
diff --git a/test/functional/parser/PrismParserTest.cpp b/src/test/parser/PrismParserTest.cpp
similarity index 100%
rename from test/functional/parser/PrismParserTest.cpp
rename to src/test/parser/PrismParserTest.cpp
diff --git a/test/functional/parser/SparseStateRewardParserTest.cpp b/src/test/parser/SparseStateRewardParserTest.cpp
similarity index 100%
rename from test/functional/parser/SparseStateRewardParserTest.cpp
rename to src/test/parser/SparseStateRewardParserTest.cpp
diff --git a/test/functional/parser/lab_files/autoParser.lab b/src/test/parser/lab_files/autoParser.lab
similarity index 100%
rename from test/functional/parser/lab_files/autoParser.lab
rename to src/test/parser/lab_files/autoParser.lab
diff --git a/test/functional/parser/lab_files/dtmc_actionTest.lab b/src/test/parser/lab_files/dtmc_actionTest.lab
similarity index 100%
rename from test/functional/parser/lab_files/dtmc_actionTest.lab
rename to src/test/parser/lab_files/dtmc_actionTest.lab
diff --git a/test/functional/parser/lab_files/dtmc_general.lab b/src/test/parser/lab_files/dtmc_general.lab
similarity index 100%
rename from test/functional/parser/lab_files/dtmc_general.lab
rename to src/test/parser/lab_files/dtmc_general.lab
diff --git a/test/functional/parser/lab_files/dtmc_mismatched.lab b/src/test/parser/lab_files/dtmc_mismatched.lab
similarity index 100%
rename from test/functional/parser/lab_files/dtmc_mismatched.lab
rename to src/test/parser/lab_files/dtmc_mismatched.lab
diff --git a/test/functional/parser/lab_files/labParser/declarationMisspell.lab b/src/test/parser/lab_files/labParser/declarationMisspell.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/declarationMisspell.lab
rename to src/test/parser/lab_files/labParser/declarationMisspell.lab
diff --git a/test/functional/parser/lab_files/labParser/doubledLines.lab b/src/test/parser/lab_files/labParser/doubledLines.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/doubledLines.lab
rename to src/test/parser/lab_files/labParser/doubledLines.lab
diff --git a/test/functional/parser/lab_files/labParser/doubledLinesSkipped.lab b/src/test/parser/lab_files/labParser/doubledLinesSkipped.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/doubledLinesSkipped.lab
rename to src/test/parser/lab_files/labParser/doubledLinesSkipped.lab
diff --git a/test/functional/parser/lab_files/labParser/endMisspell.lab b/src/test/parser/lab_files/labParser/endMisspell.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/endMisspell.lab
rename to src/test/parser/lab_files/labParser/endMisspell.lab
diff --git a/test/functional/parser/lab_files/labParser/labelForNonexistentState.lab b/src/test/parser/lab_files/labParser/labelForNonexistentState.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/labelForNonexistentState.lab
rename to src/test/parser/lab_files/labParser/labelForNonexistentState.lab
diff --git a/test/functional/parser/lab_files/labParser/noDeclarationTag.lab b/src/test/parser/lab_files/labParser/noDeclarationTag.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/noDeclarationTag.lab
rename to src/test/parser/lab_files/labParser/noDeclarationTag.lab
diff --git a/test/functional/parser/lab_files/labParser/noEndTag.lab b/src/test/parser/lab_files/labParser/noEndTag.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/noEndTag.lab
rename to src/test/parser/lab_files/labParser/noEndTag.lab
diff --git a/test/functional/parser/lab_files/labParser/noLabelsDecNoneGiven.lab b/src/test/parser/lab_files/labParser/noLabelsDecNoneGiven.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/noLabelsDecNoneGiven.lab
rename to src/test/parser/lab_files/labParser/noLabelsDecNoneGiven.lab
diff --git a/test/functional/parser/lab_files/labParser/swappedStateAndProposition.lab b/src/test/parser/lab_files/labParser/swappedStateAndProposition.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/swappedStateAndProposition.lab
rename to src/test/parser/lab_files/labParser/swappedStateAndProposition.lab
diff --git a/test/functional/parser/lab_files/labParser/undeclaredLabelsGiven.lab b/src/test/parser/lab_files/labParser/undeclaredLabelsGiven.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/undeclaredLabelsGiven.lab
rename to src/test/parser/lab_files/labParser/undeclaredLabelsGiven.lab
diff --git a/test/functional/parser/lab_files/labParser/withWhitespaces.lab b/src/test/parser/lab_files/labParser/withWhitespaces.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/withWhitespaces.lab
rename to src/test/parser/lab_files/labParser/withWhitespaces.lab
diff --git a/test/functional/parser/lab_files/labParser/withoutWhitespaces.lab b/src/test/parser/lab_files/labParser/withoutWhitespaces.lab
similarity index 100%
rename from test/functional/parser/lab_files/labParser/withoutWhitespaces.lab
rename to src/test/parser/lab_files/labParser/withoutWhitespaces.lab
diff --git a/test/functional/parser/lab_files/ma_cslFilterTest.lab b/src/test/parser/lab_files/ma_cslFilterTest.lab
similarity index 100%
rename from test/functional/parser/lab_files/ma_cslFilterTest.lab
rename to src/test/parser/lab_files/ma_cslFilterTest.lab
diff --git a/test/functional/parser/lab_files/ma_general.lab b/src/test/parser/lab_files/ma_general.lab
similarity index 100%
rename from test/functional/parser/lab_files/ma_general.lab
rename to src/test/parser/lab_files/ma_general.lab
diff --git a/test/functional/parser/lab_files/ma_mismatched.lab b/src/test/parser/lab_files/ma_mismatched.lab
similarity index 100%
rename from test/functional/parser/lab_files/ma_mismatched.lab
rename to src/test/parser/lab_files/ma_mismatched.lab
diff --git a/test/functional/parser/lab_files/mdp_general.lab b/src/test/parser/lab_files/mdp_general.lab
similarity index 100%
rename from test/functional/parser/lab_files/mdp_general.lab
rename to src/test/parser/lab_files/mdp_general.lab
diff --git a/test/functional/parser/lab_files/mdp_mismatched.lab b/src/test/parser/lab_files/mdp_mismatched.lab
similarity index 100%
rename from test/functional/parser/lab_files/mdp_mismatched.lab
rename to src/test/parser/lab_files/mdp_mismatched.lab
diff --git a/test/functional/parser/lab_files/pctl_general.lab b/src/test/parser/lab_files/pctl_general.lab
similarity index 100%
rename from test/functional/parser/lab_files/pctl_general.lab
rename to src/test/parser/lab_files/pctl_general.lab
diff --git a/test/functional/parser/prctl_files/apOnly.prctl b/src/test/parser/prctl_files/apOnly.prctl
similarity index 100%
rename from test/functional/parser/prctl_files/apOnly.prctl
rename to src/test/parser/prctl_files/apOnly.prctl
diff --git a/test/functional/parser/prctl_files/complexFormula.prctl b/src/test/parser/prctl_files/complexFormula.prctl
similarity index 100%
rename from test/functional/parser/prctl_files/complexFormula.prctl
rename to src/test/parser/prctl_files/complexFormula.prctl
diff --git a/test/functional/parser/prctl_files/probabilisticFormula.prctl b/src/test/parser/prctl_files/probabilisticFormula.prctl
similarity index 100%
rename from test/functional/parser/prctl_files/probabilisticFormula.prctl
rename to src/test/parser/prctl_files/probabilisticFormula.prctl
diff --git a/test/functional/parser/prctl_files/probabilisticNoBoundFormula.prctl b/src/test/parser/prctl_files/probabilisticNoBoundFormula.prctl
similarity index 100%
rename from test/functional/parser/prctl_files/probabilisticNoBoundFormula.prctl
rename to src/test/parser/prctl_files/probabilisticNoBoundFormula.prctl
diff --git a/test/functional/parser/prctl_files/propositionalFormula.prctl b/src/test/parser/prctl_files/propositionalFormula.prctl
similarity index 100%
rename from test/functional/parser/prctl_files/propositionalFormula.prctl
rename to src/test/parser/prctl_files/propositionalFormula.prctl
diff --git a/test/functional/parser/prctl_files/rewardFormula.prctl b/src/test/parser/prctl_files/rewardFormula.prctl
similarity index 100%
rename from test/functional/parser/prctl_files/rewardFormula.prctl
rename to src/test/parser/prctl_files/rewardFormula.prctl
diff --git a/test/functional/parser/prctl_files/rewardNoBoundFormula.prctl b/src/test/parser/prctl_files/rewardNoBoundFormula.prctl
similarity index 100%
rename from test/functional/parser/prctl_files/rewardNoBoundFormula.prctl
rename to src/test/parser/prctl_files/rewardNoBoundFormula.prctl
diff --git a/test/functional/parser/prism/coin2.nm b/src/test/parser/prism/coin2.nm
similarity index 100%
rename from test/functional/parser/prism/coin2.nm
rename to src/test/parser/prism/coin2.nm
diff --git a/test/functional/parser/prism/crowds5_5.pm b/src/test/parser/prism/crowds5_5.pm
similarity index 100%
rename from test/functional/parser/prism/crowds5_5.pm
rename to src/test/parser/prism/crowds5_5.pm
diff --git a/test/functional/parser/prism/csma2_2.nm b/src/test/parser/prism/csma2_2.nm
similarity index 100%
rename from test/functional/parser/prism/csma2_2.nm
rename to src/test/parser/prism/csma2_2.nm
diff --git a/test/functional/parser/prism/die.pm b/src/test/parser/prism/die.pm
similarity index 100%
rename from test/functional/parser/prism/die.pm
rename to src/test/parser/prism/die.pm
diff --git a/test/functional/parser/prism/firewire.nm b/src/test/parser/prism/firewire.nm
similarity index 100%
rename from test/functional/parser/prism/firewire.nm
rename to src/test/parser/prism/firewire.nm
diff --git a/test/functional/parser/prism/leader3.nm b/src/test/parser/prism/leader3.nm
similarity index 100%
rename from test/functional/parser/prism/leader3.nm
rename to src/test/parser/prism/leader3.nm
diff --git a/test/functional/parser/prism/leader3_5.pm b/src/test/parser/prism/leader3_5.pm
similarity index 100%
rename from test/functional/parser/prism/leader3_5.pm
rename to src/test/parser/prism/leader3_5.pm
diff --git a/test/functional/parser/prism/two_dice.nm b/src/test/parser/prism/two_dice.nm
similarity index 100%
rename from test/functional/parser/prism/two_dice.nm
rename to src/test/parser/prism/two_dice.nm
diff --git a/test/functional/parser/prism/wlan0_collide.nm b/src/test/parser/prism/wlan0_collide.nm
similarity index 100%
rename from test/functional/parser/prism/wlan0_collide.nm
rename to src/test/parser/prism/wlan0_collide.nm
diff --git a/test/functional/parser/readme.txt b/src/test/parser/readme.txt
similarity index 100%
rename from test/functional/parser/readme.txt
rename to src/test/parser/readme.txt
diff --git a/test/functional/parser/rew_files/autoParser.state.rew b/src/test/parser/rew_files/autoParser.state.rew
similarity index 100%
rename from test/functional/parser/rew_files/autoParser.state.rew
rename to src/test/parser/rew_files/autoParser.state.rew
diff --git a/test/functional/parser/rew_files/dtmc_general.state.rew b/src/test/parser/rew_files/dtmc_general.state.rew
similarity index 100%
rename from test/functional/parser/rew_files/dtmc_general.state.rew
rename to src/test/parser/rew_files/dtmc_general.state.rew
diff --git a/test/functional/parser/rew_files/dtmc_general.trans.rew b/src/test/parser/rew_files/dtmc_general.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/dtmc_general.trans.rew
rename to src/test/parser/rew_files/dtmc_general.trans.rew
diff --git a/test/functional/parser/rew_files/dtmc_mismatched.trans.rew b/src/test/parser/rew_files/dtmc_mismatched.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/dtmc_mismatched.trans.rew
rename to src/test/parser/rew_files/dtmc_mismatched.trans.rew
diff --git a/test/functional/parser/rew_files/dtmc_mixedStateOrder.trans.rew b/src/test/parser/rew_files/dtmc_mixedStateOrder.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/dtmc_mixedStateOrder.trans.rew
rename to src/test/parser/rew_files/dtmc_mixedStateOrder.trans.rew
diff --git a/test/functional/parser/rew_files/dtmc_mixedTransitionOrder.trans.rew b/src/test/parser/rew_files/dtmc_mixedTransitionOrder.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/dtmc_mixedTransitionOrder.trans.rew
rename to src/test/parser/rew_files/dtmc_mixedTransitionOrder.trans.rew
diff --git a/test/functional/parser/rew_files/dtmc_rewardForNonExTrans.trans.rew b/src/test/parser/rew_files/dtmc_rewardForNonExTrans.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/dtmc_rewardForNonExTrans.trans.rew
rename to src/test/parser/rew_files/dtmc_rewardForNonExTrans.trans.rew
diff --git a/test/functional/parser/rew_files/dtmc_whitespaces.trans.rew b/src/test/parser/rew_files/dtmc_whitespaces.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/dtmc_whitespaces.trans.rew
rename to src/test/parser/rew_files/dtmc_whitespaces.trans.rew
diff --git a/test/functional/parser/rew_files/ma_general.state.rew b/src/test/parser/rew_files/ma_general.state.rew
similarity index 100%
rename from test/functional/parser/rew_files/ma_general.state.rew
rename to src/test/parser/rew_files/ma_general.state.rew
diff --git a/test/functional/parser/rew_files/ma_mismatched.state.rew b/src/test/parser/rew_files/ma_mismatched.state.rew
similarity index 100%
rename from test/functional/parser/rew_files/ma_mismatched.state.rew
rename to src/test/parser/rew_files/ma_mismatched.state.rew
diff --git a/test/functional/parser/rew_files/mdp_general.state.rew b/src/test/parser/rew_files/mdp_general.state.rew
similarity index 100%
rename from test/functional/parser/rew_files/mdp_general.state.rew
rename to src/test/parser/rew_files/mdp_general.state.rew
diff --git a/test/functional/parser/rew_files/mdp_general.trans.rew b/src/test/parser/rew_files/mdp_general.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/mdp_general.trans.rew
rename to src/test/parser/rew_files/mdp_general.trans.rew
diff --git a/test/functional/parser/rew_files/mdp_mismatched.trans.rew b/src/test/parser/rew_files/mdp_mismatched.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/mdp_mismatched.trans.rew
rename to src/test/parser/rew_files/mdp_mismatched.trans.rew
diff --git a/test/functional/parser/rew_files/mdp_mixedStateOrder.trans.rew b/src/test/parser/rew_files/mdp_mixedStateOrder.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/mdp_mixedStateOrder.trans.rew
rename to src/test/parser/rew_files/mdp_mixedStateOrder.trans.rew
diff --git a/test/functional/parser/rew_files/mdp_mixedTransitionOrder.trans.rew b/src/test/parser/rew_files/mdp_mixedTransitionOrder.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/mdp_mixedTransitionOrder.trans.rew
rename to src/test/parser/rew_files/mdp_mixedTransitionOrder.trans.rew
diff --git a/test/functional/parser/rew_files/mdp_rewardForNonExTrans.trans.rew b/src/test/parser/rew_files/mdp_rewardForNonExTrans.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/mdp_rewardForNonExTrans.trans.rew
rename to src/test/parser/rew_files/mdp_rewardForNonExTrans.trans.rew
diff --git a/test/functional/parser/rew_files/mdp_whitespaces.trans.rew b/src/test/parser/rew_files/mdp_whitespaces.trans.rew
similarity index 100%
rename from test/functional/parser/rew_files/mdp_whitespaces.trans.rew
rename to src/test/parser/rew_files/mdp_whitespaces.trans.rew
diff --git a/test/functional/parser/rew_files/state_reward_parser_basic.state.rew b/src/test/parser/rew_files/state_reward_parser_basic.state.rew
similarity index 100%
rename from test/functional/parser/rew_files/state_reward_parser_basic.state.rew
rename to src/test/parser/rew_files/state_reward_parser_basic.state.rew
diff --git a/test/functional/parser/rew_files/state_reward_parser_doubledLines.state.rew b/src/test/parser/rew_files/state_reward_parser_doubledLines.state.rew
similarity index 100%
rename from test/functional/parser/rew_files/state_reward_parser_doubledLines.state.rew
rename to src/test/parser/rew_files/state_reward_parser_doubledLines.state.rew
diff --git a/test/functional/parser/rew_files/state_reward_parser_doubledLinesSkipped.state.rew b/src/test/parser/rew_files/state_reward_parser_doubledLinesSkipped.state.rew
similarity index 100%
rename from test/functional/parser/rew_files/state_reward_parser_doubledLinesSkipped.state.rew
rename to src/test/parser/rew_files/state_reward_parser_doubledLinesSkipped.state.rew
diff --git a/test/functional/parser/rew_files/state_reward_parser_whitespaces.state.rew b/src/test/parser/rew_files/state_reward_parser_whitespaces.state.rew
similarity index 100%
rename from test/functional/parser/rew_files/state_reward_parser_whitespaces.state.rew
rename to src/test/parser/rew_files/state_reward_parser_whitespaces.state.rew
diff --git a/test/functional/parser/testStringFile.txt b/src/test/parser/testStringFile.txt
similarity index 100%
rename from test/functional/parser/testStringFile.txt
rename to src/test/parser/testStringFile.txt
diff --git a/test/functional/parser/tra_files/autoParser/ctmc.tra b/src/test/parser/tra_files/autoParser/ctmc.tra
similarity index 100%
rename from test/functional/parser/tra_files/autoParser/ctmc.tra
rename to src/test/parser/tra_files/autoParser/ctmc.tra
diff --git a/test/functional/parser/tra_files/autoParser/ctmdp.tra b/src/test/parser/tra_files/autoParser/ctmdp.tra
similarity index 100%
rename from test/functional/parser/tra_files/autoParser/ctmdp.tra
rename to src/test/parser/tra_files/autoParser/ctmdp.tra
diff --git a/test/functional/parser/tra_files/autoParser/dtmc.tra b/src/test/parser/tra_files/autoParser/dtmc.tra
similarity index 100%
rename from test/functional/parser/tra_files/autoParser/dtmc.tra
rename to src/test/parser/tra_files/autoParser/dtmc.tra
diff --git a/test/functional/parser/tra_files/autoParser/dtmcWhitespaces1.tra b/src/test/parser/tra_files/autoParser/dtmcWhitespaces1.tra
similarity index 100%
rename from test/functional/parser/tra_files/autoParser/dtmcWhitespaces1.tra
rename to src/test/parser/tra_files/autoParser/dtmcWhitespaces1.tra
diff --git a/test/functional/parser/tra_files/autoParser/dtmcWhitespaces2.tra b/src/test/parser/tra_files/autoParser/dtmcWhitespaces2.tra
similarity index 100%
rename from test/functional/parser/tra_files/autoParser/dtmcWhitespaces2.tra
rename to src/test/parser/tra_files/autoParser/dtmcWhitespaces2.tra
diff --git a/test/functional/parser/tra_files/autoParser/ma.tra b/src/test/parser/tra_files/autoParser/ma.tra
similarity index 100%
rename from test/functional/parser/tra_files/autoParser/ma.tra
rename to src/test/parser/tra_files/autoParser/ma.tra
diff --git a/test/functional/parser/tra_files/autoParser/mdp.tra b/src/test/parser/tra_files/autoParser/mdp.tra
similarity index 100%
rename from test/functional/parser/tra_files/autoParser/mdp.tra
rename to src/test/parser/tra_files/autoParser/mdp.tra
diff --git a/test/functional/parser/tra_files/autoParser/noHint.tra b/src/test/parser/tra_files/autoParser/noHint.tra
similarity index 100%
rename from test/functional/parser/tra_files/autoParser/noHint.tra
rename to src/test/parser/tra_files/autoParser/noHint.tra
diff --git a/test/functional/parser/tra_files/autoParser/wrongHint.tra b/src/test/parser/tra_files/autoParser/wrongHint.tra
similarity index 100%
rename from test/functional/parser/tra_files/autoParser/wrongHint.tra
rename to src/test/parser/tra_files/autoParser/wrongHint.tra
diff --git a/test/functional/parser/tra_files/csl_general.tra b/src/test/parser/tra_files/csl_general.tra
similarity index 100%
rename from test/functional/parser/tra_files/csl_general.tra
rename to src/test/parser/tra_files/csl_general.tra
diff --git a/test/functional/parser/tra_files/dtmc_actionTest.tra b/src/test/parser/tra_files/dtmc_actionTest.tra
similarity index 100%
rename from test/functional/parser/tra_files/dtmc_actionTest.tra
rename to src/test/parser/tra_files/dtmc_actionTest.tra
diff --git a/test/functional/parser/tra_files/dtmc_deadlock.tra b/src/test/parser/tra_files/dtmc_deadlock.tra
similarity index 100%
rename from test/functional/parser/tra_files/dtmc_deadlock.tra
rename to src/test/parser/tra_files/dtmc_deadlock.tra
diff --git a/test/functional/parser/tra_files/dtmc_doubledLines.tra b/src/test/parser/tra_files/dtmc_doubledLines.tra
similarity index 100%
rename from test/functional/parser/tra_files/dtmc_doubledLines.tra
rename to src/test/parser/tra_files/dtmc_doubledLines.tra
diff --git a/test/functional/parser/tra_files/dtmc_general.tra b/src/test/parser/tra_files/dtmc_general.tra
similarity index 100%
rename from test/functional/parser/tra_files/dtmc_general.tra
rename to src/test/parser/tra_files/dtmc_general.tra
diff --git a/test/functional/parser/tra_files/dtmc_mismatched.tra b/src/test/parser/tra_files/dtmc_mismatched.tra
similarity index 100%
rename from test/functional/parser/tra_files/dtmc_mismatched.tra
rename to src/test/parser/tra_files/dtmc_mismatched.tra
diff --git a/test/functional/parser/tra_files/dtmc_mixedStateOrder.tra b/src/test/parser/tra_files/dtmc_mixedStateOrder.tra
similarity index 100%
rename from test/functional/parser/tra_files/dtmc_mixedStateOrder.tra
rename to src/test/parser/tra_files/dtmc_mixedStateOrder.tra
diff --git a/test/functional/parser/tra_files/dtmc_mixedTransitionOrder.tra b/src/test/parser/tra_files/dtmc_mixedTransitionOrder.tra
similarity index 100%
rename from test/functional/parser/tra_files/dtmc_mixedTransitionOrder.tra
rename to src/test/parser/tra_files/dtmc_mixedTransitionOrder.tra
diff --git a/test/functional/parser/tra_files/dtmc_whitespaces.tra b/src/test/parser/tra_files/dtmc_whitespaces.tra
similarity index 100%
rename from test/functional/parser/tra_files/dtmc_whitespaces.tra
rename to src/test/parser/tra_files/dtmc_whitespaces.tra
diff --git a/test/functional/parser/tra_files/ma_cslFilterTest.tra b/src/test/parser/tra_files/ma_cslFilterTest.tra
similarity index 100%
rename from test/functional/parser/tra_files/ma_cslFilterTest.tra
rename to src/test/parser/tra_files/ma_cslFilterTest.tra
diff --git a/test/functional/parser/tra_files/ma_deadlock.tra b/src/test/parser/tra_files/ma_deadlock.tra
similarity index 100%
rename from test/functional/parser/tra_files/ma_deadlock.tra
rename to src/test/parser/tra_files/ma_deadlock.tra
diff --git a/test/functional/parser/tra_files/ma_general.tra b/src/test/parser/tra_files/ma_general.tra
similarity index 100%
rename from test/functional/parser/tra_files/ma_general.tra
rename to src/test/parser/tra_files/ma_general.tra
diff --git a/test/functional/parser/tra_files/ma_whitespaces.tra b/src/test/parser/tra_files/ma_whitespaces.tra
similarity index 100%
rename from test/functional/parser/tra_files/ma_whitespaces.tra
rename to src/test/parser/tra_files/ma_whitespaces.tra
diff --git a/test/functional/parser/tra_files/mdp_deadlock.tra b/src/test/parser/tra_files/mdp_deadlock.tra
similarity index 100%
rename from test/functional/parser/tra_files/mdp_deadlock.tra
rename to src/test/parser/tra_files/mdp_deadlock.tra
diff --git a/test/functional/parser/tra_files/mdp_doubledLines.tra b/src/test/parser/tra_files/mdp_doubledLines.tra
similarity index 100%
rename from test/functional/parser/tra_files/mdp_doubledLines.tra
rename to src/test/parser/tra_files/mdp_doubledLines.tra
diff --git a/test/functional/parser/tra_files/mdp_general.tra b/src/test/parser/tra_files/mdp_general.tra
similarity index 100%
rename from test/functional/parser/tra_files/mdp_general.tra
rename to src/test/parser/tra_files/mdp_general.tra
diff --git a/test/functional/parser/tra_files/mdp_mismatched.tra b/src/test/parser/tra_files/mdp_mismatched.tra
similarity index 100%
rename from test/functional/parser/tra_files/mdp_mismatched.tra
rename to src/test/parser/tra_files/mdp_mismatched.tra
diff --git a/test/functional/parser/tra_files/mdp_mixedStateOrder.tra b/src/test/parser/tra_files/mdp_mixedStateOrder.tra
similarity index 100%
rename from test/functional/parser/tra_files/mdp_mixedStateOrder.tra
rename to src/test/parser/tra_files/mdp_mixedStateOrder.tra
diff --git a/test/functional/parser/tra_files/mdp_mixedTransitionOrder.tra b/src/test/parser/tra_files/mdp_mixedTransitionOrder.tra
similarity index 100%
rename from test/functional/parser/tra_files/mdp_mixedTransitionOrder.tra
rename to src/test/parser/tra_files/mdp_mixedTransitionOrder.tra
diff --git a/test/functional/parser/tra_files/mdp_whitespaces.tra b/src/test/parser/tra_files/mdp_whitespaces.tra
similarity index 100%
rename from test/functional/parser/tra_files/mdp_whitespaces.tra
rename to src/test/parser/tra_files/mdp_whitespaces.tra
diff --git a/test/functional/parser/tra_files/pctl_general.tra b/src/test/parser/tra_files/pctl_general.tra
similarity index 100%
rename from test/functional/parser/tra_files/pctl_general.tra
rename to src/test/parser/tra_files/pctl_general.tra
diff --git a/test/functional/parser/tra_files/wrong_format_header1.tra b/src/test/parser/tra_files/wrong_format_header1.tra
similarity index 100%
rename from test/functional/parser/tra_files/wrong_format_header1.tra
rename to src/test/parser/tra_files/wrong_format_header1.tra
diff --git a/test/functional/parser/tra_files/wrong_format_header2.tra b/src/test/parser/tra_files/wrong_format_header2.tra
similarity index 100%
rename from test/functional/parser/tra_files/wrong_format_header2.tra
rename to src/test/parser/tra_files/wrong_format_header2.tra
diff --git a/test/functional/parser/tra_files/wrong_format_transition.tra b/src/test/parser/tra_files/wrong_format_transition.tra
similarity index 100%
rename from test/functional/parser/tra_files/wrong_format_transition.tra
rename to src/test/parser/tra_files/wrong_format_transition.tra
diff --git a/test/functional/permissiveschedulers/MilpPermissiveSchedulerTest.cpp b/src/test/permissiveschedulers/MilpPermissiveSchedulerTest.cpp
similarity index 100%
rename from test/functional/permissiveschedulers/MilpPermissiveSchedulerTest.cpp
rename to src/test/permissiveschedulers/MilpPermissiveSchedulerTest.cpp
diff --git a/test/functional/permissiveschedulers/SmtPermissiveSchedulerTest.cpp b/src/test/permissiveschedulers/SmtPermissiveSchedulerTest.cpp
similarity index 100%
rename from test/functional/permissiveschedulers/SmtPermissiveSchedulerTest.cpp
rename to src/test/permissiveschedulers/SmtPermissiveSchedulerTest.cpp
diff --git a/test/functional/solver/CudaPluginTest.cpp b/src/test/solver/CudaPluginTest.cpp
similarity index 100%
rename from test/functional/solver/CudaPluginTest.cpp
rename to src/test/solver/CudaPluginTest.cpp
diff --git a/test/functional/solver/EigenLinearEquationSolverTest.cpp b/src/test/solver/EigenLinearEquationSolverTest.cpp
similarity index 100%
rename from test/functional/solver/EigenLinearEquationSolverTest.cpp
rename to src/test/solver/EigenLinearEquationSolverTest.cpp
diff --git a/test/functional/solver/EliminationLinearEquationSolverTest.cpp b/src/test/solver/EliminationLinearEquationSolverTest.cpp
similarity index 100%
rename from test/functional/solver/EliminationLinearEquationSolverTest.cpp
rename to src/test/solver/EliminationLinearEquationSolverTest.cpp
diff --git a/test/functional/solver/FullySymbolicGameSolverTest.cpp b/src/test/solver/FullySymbolicGameSolverTest.cpp
similarity index 100%
rename from test/functional/solver/FullySymbolicGameSolverTest.cpp
rename to src/test/solver/FullySymbolicGameSolverTest.cpp
diff --git a/test/functional/solver/GameSolverTest.cpp b/src/test/solver/GameSolverTest.cpp
similarity index 100%
rename from test/functional/solver/GameSolverTest.cpp
rename to src/test/solver/GameSolverTest.cpp
diff --git a/test/functional/solver/GlpkLpSolverTest.cpp b/src/test/solver/GlpkLpSolverTest.cpp
similarity index 100%
rename from test/functional/solver/GlpkLpSolverTest.cpp
rename to src/test/solver/GlpkLpSolverTest.cpp
diff --git a/test/functional/solver/GmmxxLinearEquationSolverTest.cpp b/src/test/solver/GmmxxLinearEquationSolverTest.cpp
similarity index 100%
rename from test/functional/solver/GmmxxLinearEquationSolverTest.cpp
rename to src/test/solver/GmmxxLinearEquationSolverTest.cpp
diff --git a/test/functional/solver/GmmxxMinMaxLinearEquationSolverTest.cpp b/src/test/solver/GmmxxMinMaxLinearEquationSolverTest.cpp
similarity index 100%
rename from test/functional/solver/GmmxxMinMaxLinearEquationSolverTest.cpp
rename to src/test/solver/GmmxxMinMaxLinearEquationSolverTest.cpp
diff --git a/test/functional/solver/GurobiLpSolverTest.cpp b/src/test/solver/GurobiLpSolverTest.cpp
similarity index 100%
rename from test/functional/solver/GurobiLpSolverTest.cpp
rename to src/test/solver/GurobiLpSolverTest.cpp
diff --git a/test/functional/solver/MathsatSmtSolverTest.cpp b/src/test/solver/MathsatSmtSolverTest.cpp
similarity index 100%
rename from test/functional/solver/MathsatSmtSolverTest.cpp
rename to src/test/solver/MathsatSmtSolverTest.cpp
diff --git a/test/functional/solver/MinMaxTechniqueSelectionTest.cpp b/src/test/solver/MinMaxTechniqueSelectionTest.cpp
similarity index 100%
rename from test/functional/solver/MinMaxTechniqueSelectionTest.cpp
rename to src/test/solver/MinMaxTechniqueSelectionTest.cpp
diff --git a/test/functional/solver/NativeLinearEquationSolverTest.cpp b/src/test/solver/NativeLinearEquationSolverTest.cpp
similarity index 100%
rename from test/functional/solver/NativeLinearEquationSolverTest.cpp
rename to src/test/solver/NativeLinearEquationSolverTest.cpp
diff --git a/test/functional/solver/NativeMinMaxLinearEquationSolverTest.cpp b/src/test/solver/NativeMinMaxLinearEquationSolverTest.cpp
similarity index 100%
rename from test/functional/solver/NativeMinMaxLinearEquationSolverTest.cpp
rename to src/test/solver/NativeMinMaxLinearEquationSolverTest.cpp
diff --git a/test/functional/solver/Z3SmtSolverTest.cpp b/src/test/solver/Z3SmtSolverTest.cpp
similarity index 100%
rename from test/functional/solver/Z3SmtSolverTest.cpp
rename to src/test/solver/Z3SmtSolverTest.cpp
diff --git a/test/functional/storage/BitVectorHashMapTest.cpp b/src/test/storage/BitVectorHashMapTest.cpp
similarity index 100%
rename from test/functional/storage/BitVectorHashMapTest.cpp
rename to src/test/storage/BitVectorHashMapTest.cpp
diff --git a/test/functional/storage/BitVectorTest.cpp b/src/test/storage/BitVectorTest.cpp
similarity index 100%
rename from test/functional/storage/BitVectorTest.cpp
rename to src/test/storage/BitVectorTest.cpp
diff --git a/test/functional/storage/CuddDdTest.cpp b/src/test/storage/CuddDdTest.cpp
similarity index 100%
rename from test/functional/storage/CuddDdTest.cpp
rename to src/test/storage/CuddDdTest.cpp
diff --git a/test/functional/storage/DeterministicModelBisimulationDecompositionTest.cpp b/src/test/storage/DeterministicModelBisimulationDecompositionTest.cpp
similarity index 100%
rename from test/functional/storage/DeterministicModelBisimulationDecompositionTest.cpp
rename to src/test/storage/DeterministicModelBisimulationDecompositionTest.cpp
diff --git a/test/functional/storage/ExpressionEvalutionTest.cpp b/src/test/storage/ExpressionEvalutionTest.cpp
similarity index 100%
rename from test/functional/storage/ExpressionEvalutionTest.cpp
rename to src/test/storage/ExpressionEvalutionTest.cpp
diff --git a/test/functional/storage/ExpressionTest.cpp b/src/test/storage/ExpressionTest.cpp
similarity index 100%
rename from test/functional/storage/ExpressionTest.cpp
rename to src/test/storage/ExpressionTest.cpp
diff --git a/test/functional/storage/MaximalEndComponentDecompositionTest.cpp b/src/test/storage/MaximalEndComponentDecompositionTest.cpp
similarity index 100%
rename from test/functional/storage/MaximalEndComponentDecompositionTest.cpp
rename to src/test/storage/MaximalEndComponentDecompositionTest.cpp
diff --git a/test/functional/storage/NondeterministicModelBisimulationDecompositionTest.cpp b/src/test/storage/NondeterministicModelBisimulationDecompositionTest.cpp
similarity index 100%
rename from test/functional/storage/NondeterministicModelBisimulationDecompositionTest.cpp
rename to src/test/storage/NondeterministicModelBisimulationDecompositionTest.cpp
diff --git a/test/functional/storage/PrismProgramTest.cpp b/src/test/storage/PrismProgramTest.cpp
similarity index 100%
rename from test/functional/storage/PrismProgramTest.cpp
rename to src/test/storage/PrismProgramTest.cpp
diff --git a/test/functional/storage/SchedulerTest.cpp b/src/test/storage/SchedulerTest.cpp
similarity index 100%
rename from test/functional/storage/SchedulerTest.cpp
rename to src/test/storage/SchedulerTest.cpp
diff --git a/test/functional/storage/SparseMatrixTest.cpp b/src/test/storage/SparseMatrixTest.cpp
similarity index 100%
rename from test/functional/storage/SparseMatrixTest.cpp
rename to src/test/storage/SparseMatrixTest.cpp
diff --git a/test/functional/storage/StronglyConnectedComponentDecompositionTest.cpp b/src/test/storage/StronglyConnectedComponentDecompositionTest.cpp
similarity index 100%
rename from test/functional/storage/StronglyConnectedComponentDecompositionTest.cpp
rename to src/test/storage/StronglyConnectedComponentDecompositionTest.cpp
diff --git a/test/functional/storage/SylvanDdTest.cpp b/src/test/storage/SylvanDdTest.cpp
similarity index 100%
rename from test/functional/storage/SylvanDdTest.cpp
rename to src/test/storage/SylvanDdTest.cpp
diff --git a/test/functional/storm-functional-tests.cpp b/src/test/storm-functional-tests.cpp
similarity index 100%
rename from test/functional/storm-functional-tests.cpp
rename to src/test/storm-functional-tests.cpp
diff --git a/src/test/storm-test-config.h.in b/src/test/storm-test-config.h.in
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/functional/transformer/EndComponentEliminatorTest.cpp b/src/test/transformer/EndComponentEliminatorTest.cpp
similarity index 100%
rename from test/functional/transformer/EndComponentEliminatorTest.cpp
rename to src/test/transformer/EndComponentEliminatorTest.cpp
diff --git a/test/functional/transformer/StateDuplicatorTest.cpp b/src/test/transformer/StateDuplicatorTest.cpp
similarity index 100%
rename from test/functional/transformer/StateDuplicatorTest.cpp
rename to src/test/transformer/StateDuplicatorTest.cpp
diff --git a/test/functional/utility/GraphTest.cpp b/src/test/utility/GraphTest.cpp
similarity index 100%
rename from test/functional/utility/GraphTest.cpp
rename to src/test/utility/GraphTest.cpp
diff --git a/test/functional/utility/ModelInstantiatorTest.cpp b/src/test/utility/ModelInstantiatorTest.cpp
similarity index 100%
rename from test/functional/utility/ModelInstantiatorTest.cpp
rename to src/test/utility/ModelInstantiatorTest.cpp
diff --git a/test/functional/utility/VectorTest.cpp b/src/test/utility/VectorTest.cpp
similarity index 100%
rename from test/functional/utility/VectorTest.cpp
rename to src/test/utility/VectorTest.cpp
diff --git a/test/functional/utility/brp16_2.pm b/src/test/utility/brp16_2.pm
similarity index 100%
rename from test/functional/utility/brp16_2.pm
rename to src/test/utility/brp16_2.pm
diff --git a/test/functional/utility/coin2_2.pm b/src/test/utility/coin2_2.pm
similarity index 100%
rename from test/functional/utility/coin2_2.pm
rename to src/test/utility/coin2_2.pm
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
deleted file mode 100644
index d9498b5ce..000000000
--- a/test/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-# Test Sources
-# Note that the tests also need the source files, except for the main file
-file(GLOB STORM_FUNCTIONAL_TEST_MAIN_FILE ${STORM_CPP_TESTS_BASE_PATH}/functional/storm-functional-tests.cpp)
-file(GLOB_RECURSE STORM_FUNCTIONAL_TEST_FILES ${STORM_CPP_TESTS_BASE_PATH}/functional/*.h ${STORM_CPP_TESTS_BASE_PATH}/functional/*.cpp)
-
-register_source_groups_from_filestructure("${STORM_FUNCTIONAL_TEST_FILES}")
-
-add_executable(storm-functional-tests ${STORM_FUNCTIONAL_TEST_MAIN_FILE} ${STORM_FUNCTIONAL_TEST_FILES})
-target_link_libraries(storm-functional-tests storm)
-add_dependencies(storm-functional-tests test-resources)
-
-include_directories(${GTEST_INCLUDE_DIR})
-enable_testing()
-target_link_libraries(storm-functional-tests ${STORM_TEST_LINK_LIBRARIES})
-add_test(NAME storm-functional-tests COMMAND storm-functional-tests)
-
-INSTALL(TARGETS storm-functional-tests
-	RUNTIME DESTINATION bin
-	LIBRARY DESTINATION lib
-	ARCHIVE DESTINATION lib
-)