From a20f637f75790cfaae1dbccf9f766e7a8b62e903 Mon Sep 17 00:00:00 2001
From: Mahmoud Bentriou <mahmoud.bentriou@centralesupelec.fr>
Date: Sat, 14 Nov 2020 16:05:11 +0100
Subject: [PATCH] Test reorganization : grouping tests by type (unit, sim) +
 script that run the tests Function load_module in core + test

---
 core/MarkovProcesses.jl           | 1 +
 core/model.jl                     | 4 ++++
 {tests/models => models}/sir.jl   | 2 +-
 tests/run_unit.jl                 | 8 ++++++++
 tests/{ => simulation}/sim_sir.jl | 2 +-
 tests/unit/load_model.jl          | 6 ++++++
 tests/unit/load_module.jl         | 5 +++++
 7 files changed, 26 insertions(+), 2 deletions(-)
 rename {tests/models => models}/sir.jl (95%)
 create mode 100644 tests/run_unit.jl
 rename tests/{ => simulation}/sim_sir.jl (85%)
 create mode 100644 tests/unit/load_model.jl
 create mode 100644 tests/unit/load_module.jl

diff --git a/core/MarkovProcesses.jl b/core/MarkovProcesses.jl
index e1f47fe..eec79d0 100644
--- a/core/MarkovProcesses.jl
+++ b/core/MarkovProcesses.jl
@@ -4,6 +4,7 @@ import Base: +, -, getfield, getindex
 
 export Model, ContinuousTimeModel, DiscreteTimeModel
 export simulate, set_param!, get_param
+export load_model
 include("model.jl")
 
 export Observations, AbstractTrajectory
diff --git a/core/model.jl b/core/model.jl
index 4c093a8..8e8fa2e 100644
--- a/core/model.jl
+++ b/core/model.jl
@@ -8,3 +8,7 @@ function simulate(m::Model, n::Int; bound::Real = Inf)::AbstractObservations end
 function set_param!(m::Model, p::AbstractVector{Real})::Nothing end
 function get_param(m::Model)::AbstractVector{Real} end
 
+function load_model(name_model::String)
+    include(pathof(@__MODULE__) * "/../../models/" * name_model * ".jl")
+end
+
diff --git a/tests/models/sir.jl b/models/sir.jl
similarity index 95%
rename from tests/models/sir.jl
rename to models/sir.jl
index c4db3e0..9f96075 100644
--- a/tests/models/sir.jl
+++ b/models/sir.jl
@@ -48,5 +48,5 @@ g = SVector(1)
 
 # Gamma should be constructed automatically in the case of 
 
-#m = Model(d,dobs,k,dict,l_name,param,p,x0,f,g)
+#SIR = Model(d,dobs,k,dict,l_name,param,p,x0,f,g)
 
diff --git a/tests/run_unit.jl b/tests/run_unit.jl
new file mode 100644
index 0000000..ac173f1
--- /dev/null
+++ b/tests/run_unit.jl
@@ -0,0 +1,8 @@
+
+using Test
+
+@testset "Unit tests" begin
+    @test include("unit/load_model.jl")
+    @test include("unit/load_module.jl")
+end
+
diff --git a/tests/sim_sir.jl b/tests/simulation/sim_sir.jl
similarity index 85%
rename from tests/sim_sir.jl
rename to tests/simulation/sim_sir.jl
index 2feb900..9601a67 100644
--- a/tests/sim_sir.jl
+++ b/tests/simulation/sim_sir.jl
@@ -2,7 +2,7 @@
 using MarkovProcesses 
 using PyPlot
 
-include("models/sir.jl")
+load_model("sir")
 
 σ = simulate(SIR)
 plt.figure()
diff --git a/tests/unit/load_model.jl b/tests/unit/load_model.jl
new file mode 100644
index 0000000..7f30085
--- /dev/null
+++ b/tests/unit/load_model.jl
@@ -0,0 +1,6 @@
+
+using MarkovProcesses
+load_model("sir")
+
+return true
+
diff --git a/tests/unit/load_module.jl b/tests/unit/load_module.jl
new file mode 100644
index 0000000..5737e8a
--- /dev/null
+++ b/tests/unit/load_module.jl
@@ -0,0 +1,5 @@
+
+using MarkovProcesses
+
+return true
+
-- 
GitLab