From 55d67f1237f105c19c7bc9c4596373938e38f61b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?D=C3=B3ra=20Kocsis?= <dora@dynare.org>
Date: Mon, 6 Apr 2020 17:07:23 +0200
Subject: [PATCH] fix test suite, reorganize folder structure

---
 .gitignore                                           | 1 -
 Makefile                                             | 8 +++-----
 archive/template.m                                   | 2 +-
 src/{subroutines => }/fetch_series.m                 | 0
 src/{subroutines => }/fetch_series_by_api_link.m     | 2 +-
 src/initialize_mdbnomics.m                           | 4 ++--
 src/{subroutines => utils}/fetch_series_page.m       | 0
 src/{subroutines => utils}/filter_series.m           | 0
 src/{subroutines => utils}/flatten_dbnomics_series.m | 0
 src/{subroutines => utils}/flatten_editor_series.m   | 0
 src/{subroutines => utils}/iter_filtered_series.m    | 0
 src/{subroutines => utils}/iter_series_info.m        | 0
 src/{subroutines => utils}/normalize_period.m        | 0
 src/{subroutines => utils}/normalize_value.m         | 0
 {src/subroutines => tests}/runalltests.m             | 5 +++--
 15 files changed, 10 insertions(+), 12 deletions(-)
 rename src/{subroutines => }/fetch_series.m (100%)
 rename src/{subroutines => }/fetch_series_by_api_link.m (99%)
 rename src/{subroutines => utils}/fetch_series_page.m (100%)
 rename src/{subroutines => utils}/filter_series.m (100%)
 rename src/{subroutines => utils}/flatten_dbnomics_series.m (100%)
 rename src/{subroutines => utils}/flatten_editor_series.m (100%)
 rename src/{subroutines => utils}/iter_filtered_series.m (100%)
 rename src/{subroutines => utils}/iter_series_info.m (100%)
 rename src/{subroutines => utils}/normalize_period.m (100%)
 rename src/{subroutines => utils}/normalize_value.m (100%)
 rename {src/subroutines => tests}/runalltests.m (85%)

diff --git a/.gitignore b/.gitignore
index 0c80b3c..30adfd9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,6 +14,5 @@
 src/subroutines/git.info
 src/subroutines/git.last-commit-hash
 
-/tests
 /missing_dbnomics
 /utils
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 5707f8b..efd1de9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,15 @@
 OCTAVE ?= octave-cli
 MATLAB ?= $(shell which matlab)
 
-all: check-octave check-matlab
-
 m-unit-tests/src/mtest.m:
 	git clone https://git.dynare.org/Dynare/m-unit-tests
 
 check-octave: m-unit-tests/src/mtest.m
-	@cd src/subroutines;\
-	$(OCTAVE) --no-init-file --silent --no-history --eval "addpath([pwd() '/../../m-unit-tests/src']); runalltests" && [ ! -f ./failed ] && [ -f ./pass ]
+	@cd tests ;\
+	$(OCTAVE) --no-init-file --silent --no-history --eval "addpath([pwd() '/../m-unit-tests/src']); runalltests" && [ ! -f ./failed ] && [ -f ./pass ]
 
 check-matlab: m-unit-tests/src/mtest.m
-	@$(MATLAB)  -nosplash -nodisplay -r "addpath([pwd '/m-unit-tests/src']); cd src/subroutines; runalltests; quit" && [ ! -f ./tests/failed ] && [ -f ./tests/pass ]
+	@$(MATLAB)  -nosplash -nodisplay -r "addpath([pwd '/m-unit-tests/src']); cd tests; runalltests; quit" && [ ! -f ./tests/failed ] && [ -f ./tests/pass ]
 
 check-clean:
 	rm -f tests/*_test_*.m tests/*.csv tests/*.xls tests/*.xlsx tests/*.mat tests/failed tests/datafile_for_test
diff --git a/archive/template.m b/archive/template.m
index 99d0539..51cdb18 100644
--- a/archive/template.m
+++ b/archive/template.m
@@ -1,5 +1,5 @@
 % fetch series by provider code and dataset code
-df = fetch_series('provider_code', 'AMECO', 'dataset_code', 'UVGD', 'max_nb_series', 500);
+test = fetch_series('provider_code', 'AMECO', 'dataset_code', 'UVGD', 'max_nb_series', 500);
 ds = to_dseries(df);
 
 % fetch one series by ID
diff --git a/src/subroutines/fetch_series.m b/src/fetch_series.m
similarity index 100%
rename from src/subroutines/fetch_series.m
rename to src/fetch_series.m
diff --git a/src/subroutines/fetch_series_by_api_link.m b/src/fetch_series_by_api_link.m
similarity index 99%
rename from src/subroutines/fetch_series_by_api_link.m
rename to src/fetch_series_by_api_link.m
index dd438fc..1092c45 100644
--- a/src/subroutines/fetch_series_by_api_link.m
+++ b/src/fetch_series_by_api_link.m
@@ -166,7 +166,7 @@ else
             end
         end
         series_length=series_length+length(flat_series.value);
-    end
+    end    
 end
 end
 
diff --git a/src/initialize_mdbnomics.m b/src/initialize_mdbnomics.m
index fcf56ea..34ef027 100644
--- a/src/initialize_mdbnomics.m
+++ b/src/initialize_mdbnomics.m
@@ -21,10 +21,10 @@ function initialize_mdbnomics()
 mdbnomics_src_root = strrep(which('initialize_mdbnomics'), 'initialize_mdbnomics.m', '');
 
 % Set the subfolders to be added in the path.
-p = {'subroutines'};
+p = {'utils'};
 
 % Add missing routines if dynare is not in the path
-if ~exist('contains','builtin')
+if ~exist('OCTAVE_VERSION', 'builtin') || ~exist('contains','builtin')
     p{end+1} = 'missing/contains';
 end
 
diff --git a/src/subroutines/fetch_series_page.m b/src/utils/fetch_series_page.m
similarity index 100%
rename from src/subroutines/fetch_series_page.m
rename to src/utils/fetch_series_page.m
diff --git a/src/subroutines/filter_series.m b/src/utils/filter_series.m
similarity index 100%
rename from src/subroutines/filter_series.m
rename to src/utils/filter_series.m
diff --git a/src/subroutines/flatten_dbnomics_series.m b/src/utils/flatten_dbnomics_series.m
similarity index 100%
rename from src/subroutines/flatten_dbnomics_series.m
rename to src/utils/flatten_dbnomics_series.m
diff --git a/src/subroutines/flatten_editor_series.m b/src/utils/flatten_editor_series.m
similarity index 100%
rename from src/subroutines/flatten_editor_series.m
rename to src/utils/flatten_editor_series.m
diff --git a/src/subroutines/iter_filtered_series.m b/src/utils/iter_filtered_series.m
similarity index 100%
rename from src/subroutines/iter_filtered_series.m
rename to src/utils/iter_filtered_series.m
diff --git a/src/subroutines/iter_series_info.m b/src/utils/iter_series_info.m
similarity index 100%
rename from src/subroutines/iter_series_info.m
rename to src/utils/iter_series_info.m
diff --git a/src/subroutines/normalize_period.m b/src/utils/normalize_period.m
similarity index 100%
rename from src/subroutines/normalize_period.m
rename to src/utils/normalize_period.m
diff --git a/src/subroutines/normalize_value.m b/src/utils/normalize_value.m
similarity index 100%
rename from src/subroutines/normalize_value.m
rename to src/utils/normalize_value.m
diff --git a/src/subroutines/runalltests.m b/tests/runalltests.m
similarity index 85%
rename from src/subroutines/runalltests.m
rename to tests/runalltests.m
index b4e639f..c23d3c3 100644
--- a/src/subroutines/runalltests.m
+++ b/tests/runalltests.m
@@ -14,6 +14,7 @@ function runalltests()
 %
 % You should have received a copy of the GNU General Public License
 % along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
+mdbnomics_src_root = []; % Will be updated by calling initialize_dseries_class().
 
 opath = path();
 
@@ -34,7 +35,7 @@ unit_tests_root = strrep(which('runalltests'),'runalltests.m','');
 try
     initialize_mdbnomics();
 catch
-    addpath([unit_tests_root '../']);
+    addpath([unit_tests_root '../src']);
     initialize_mdbnomics();
 end
 
@@ -47,7 +48,7 @@ if isoctave()
     more off;
 end
 
-r = run_unitary_tests_in_directory(unit_tests_root(1:end-1));
+r = run_unitary_tests_in_directory(mdbnomics_src_root(1:end-1));
 
 delete('*.log');
 
-- 
GitLab