diff --git a/multiview_platform/mono_multi_view_classifiers/monoview/analyze_result.py b/multiview_platform/mono_multi_view_classifiers/monoview/analyze_result.py
index e9087c24fe0e00a6fa7210da8914c6b9da5076fc..04c405b0d7edeedf50238534d6c54a648da333ee 100644
--- a/multiview_platform/mono_multi_view_classifiers/monoview/analyze_result.py
+++ b/multiview_platform/mono_multi_view_classifiers/monoview/analyze_result.py
@@ -1,103 +1,103 @@
-from datetime import timedelta as hms
-
-from .. import metrics
-from ..utils.base import get_metric
-
-
-def get_db_config_string(name, feat, classification_indices, shape,
-                         class_labels_names, k_folds):
-    """
-    
-    Parameters
-    ----------
-    name
-    feat
-    classification_indices
-    shape
-    class_labels_names
-    k_folds
-
-    Returns
-    -------
-
-    """
-    learning_rate = float(len(classification_indices[0])) / (
-            len(classification_indices[0]) + len(classification_indices[1]))
-    db_config_string = "Database configuration : \n"
-    db_config_string += "\t- Database name : " + name + "\n"
-    db_config_string += "\t- View name : " + feat + "\t View shape : " + str(
-        shape) + "\n"
-    db_config_string += "\t- Learning Rate : " + str(learning_rate) + "\n"
-    db_config_string += "\t- Labels used : " + ", ".join(
-        class_labels_names) + "\n"
-    db_config_string += "\t- Number of cross validation folds : " + str(
-        k_folds.n_splits) + "\n\n"
-    return db_config_string
-
-
-def get_classifier_config_string(grid_search, nb_cores, n_iter, cl_kwargs,
-                                 classifier,
-                                 output_file_name, y_test):
-    classifier_config_string = "Classifier configuration : \n"
-    classifier_config_string += "\t- " + classifier.get_config()[5:] + "\n"
-    classifier_config_string += "\t- Executed on " + str(
-        nb_cores) + " core(s) \n"
-    if grid_search:
-        classifier_config_string += "\t- Got configuration using randomized search with " + str(
-            n_iter) + " iterations \n"
-    classifier_config_string += "\n\n"
-    classifier_interpret_string = classifier.get_interpretation(
-        output_file_name,
-        y_test)
-    return classifier_config_string, classifier_interpret_string
-
-
-def get_metric_score(metric, y_train, y_train_pred, y_test, y_test_pred):
-    metric_module = getattr(metrics, metric[0])
-    if metric[1] is not None:
-        metric_kwargs = dict((index, metricConfig) for index, metricConfig in
-                             enumerate(metric[1]))
-    else:
-        metric_kwargs = {}
-    metric_score_train = metric_module.score(y_train, y_train_pred)
-    metric_score_test = metric_module.score(y_test, y_test_pred)
-    metric_score_string = "\tFor " + metric_module.get_config(
-        **metric_kwargs) + " : "
-    metric_score_string += "\n\t\t- Score on train : " + str(metric_score_train)
-    metric_score_string += "\n\t\t- Score on test : " + str(metric_score_test)
-    metric_score_string += "\n"
-    return metric_score_string, [metric_score_train, metric_score_test]
-
-
-def execute(name, learning_rate, k_folds, nb_cores, grid_search, metrics_list,
-            n_iter,
-            feat, cl_type, cl_kwargs, class_labels_names,
-            shape, y_train, y_train_pred, y_test, y_test_pred, time,
-            random_state, classifier, output_file_name):
-    metric_module, metric_kwargs = get_metric(metrics_list)
-    train_score = metric_module.score(y_train, y_train_pred)
-    test_score = metric_module.score(y_test, y_test_pred)
-    string_analysis = "Classification on " + name + " database for " + feat + " with " + cl_type + ".\n\n"
-    string_analysis += metrics_list[0][0] + " on train : " + str(
-        train_score) + "\n" + \
-                       metrics_list[0][0] + " on test : " + str(
-        test_score) + "\n\n"
-    string_analysis += get_db_config_string(name, feat, learning_rate, shape,
-                                            class_labels_names, k_folds)
-    classifier_config_string, classifier_intepret_string = get_classifier_config_string(
-        grid_search, nb_cores, n_iter, cl_kwargs, classifier, output_file_name,
-        y_test)
-    string_analysis += classifier_config_string
-    metrics_scores = {}
-    for metric in metrics_list:
-        metric_string, metric_score = get_metric_score(metric, y_train,
-                                                       y_train_pred, y_test,
-                                                       y_test_pred)
-        string_analysis += metric_string
-        metrics_scores[metric[0]] = metric_score
-    string_analysis += "\n\n Classification took " + str(hms(seconds=int(time)))
-    string_analysis += "\n\n Classifier Interpretation : \n"
-    string_analysis += classifier_intepret_string
-
-    image_analysis = {}
-    return string_analysis, image_analysis, metrics_scores
+# from datetime import timedelta as hms
+#
+# from .. import metrics
+# from ..utils.base import get_metric
+#
+#
+# def get_db_config_string(name, feat, classification_indices, shape,
+#                          class_labels_names, k_folds):
+#     """
+#
+#     Parameters
+#     ----------
+#     name
+#     feat
+#     classification_indices
+#     shape
+#     class_labels_names
+#     k_folds
+#
+#     Returns
+#     -------
+#
+#     """
+#     learning_rate = float(len(classification_indices[0])) / (
+#             len(classification_indices[0]) + len(classification_indices[1]))
+#     db_config_string = "Database configuration : \n"
+#     db_config_string += "\t- Database name : " + name + "\n"
+#     db_config_string += "\t- View name : " + feat + "\t View shape : " + str(
+#         shape) + "\n"
+#     db_config_string += "\t- Learning Rate : " + str(learning_rate) + "\n"
+#     db_config_string += "\t- Labels used : " + ", ".join(
+#         class_labels_names) + "\n"
+#     db_config_string += "\t- Number of cross validation folds : " + str(
+#         k_folds.n_splits) + "\n\n"
+#     return db_config_string
+#
+#
+# def get_classifier_config_string(grid_search, nb_cores, n_iter, cl_kwargs,
+#                                  classifier,
+#                                  output_file_name, y_test):
+#     classifier_config_string = "Classifier configuration : \n"
+#     classifier_config_string += "\t- " + classifier.get_config()[5:] + "\n"
+#     classifier_config_string += "\t- Executed on " + str(
+#         nb_cores) + " core(s) \n"
+#     if grid_search:
+#         classifier_config_string += "\t- Got configuration using randomized search with " + str(
+#             n_iter) + " iterations \n"
+#     classifier_config_string += "\n\n"
+#     classifier_interpret_string = classifier.get_interpretation(
+#         output_file_name,
+#         y_test)
+#     return classifier_config_string, classifier_interpret_string
+#
+#
+# def get_metric_score(metric, y_train, y_train_pred, y_test, y_test_pred):
+#     metric_module = getattr(metrics, metric[0])
+#     if metric[1] is not None:
+#         metric_kwargs = dict((index, metricConfig) for index, metricConfig in
+#                              enumerate(metric[1]))
+#     else:
+#         metric_kwargs = {}
+#     metric_score_train = metric_module.score(y_train, y_train_pred)
+#     metric_score_test = metric_module.score(y_test, y_test_pred)
+#     metric_score_string = "\tFor " + metric_module.get_config(
+#         **metric_kwargs) + " : "
+#     metric_score_string += "\n\t\t- Score on train : " + str(metric_score_train)
+#     metric_score_string += "\n\t\t- Score on test : " + str(metric_score_test)
+#     metric_score_string += "\n"
+#     return metric_score_string, [metric_score_train, metric_score_test]
+#
+#
+# def execute(name, learning_rate, k_folds, nb_cores, grid_search, metrics_list,
+#             n_iter,
+#             feat, cl_type, cl_kwargs, class_labels_names,
+#             shape, y_train, y_train_pred, y_test, y_test_pred, time,
+#             random_state, classifier, output_file_name):
+#     metric_module, metric_kwargs = get_metric(metrics_list)
+#     train_score = metric_module.score(y_train, y_train_pred)
+#     test_score = metric_module.score(y_test, y_test_pred)
+#     string_analysis = "Classification on " + name + " database for " + feat + " with " + cl_type + ".\n\n"
+#     string_analysis += metrics_list[0][0] + " on train : " + str(
+#         train_score) + "\n" + \
+#                        metrics_list[0][0] + " on test : " + str(
+#         test_score) + "\n\n"
+#     string_analysis += get_db_config_string(name, feat, learning_rate, shape,
+#                                             class_labels_names, k_folds)
+#     classifier_config_string, classifier_intepret_string = get_classifier_config_string(
+#         grid_search, nb_cores, n_iter, cl_kwargs, classifier, output_file_name,
+#         y_test)
+#     string_analysis += classifier_config_string
+#     metrics_scores = {}
+#     for metric in metrics_list:
+#         metric_string, metric_score = get_metric_score(metric, y_train,
+#                                                        y_train_pred, y_test,
+#                                                        y_test_pred)
+#         string_analysis += metric_string
+#         metrics_scores[metric[0]] = metric_score
+#     string_analysis += "\n\n Classification took " + str(hms(seconds=int(time)))
+#     string_analysis += "\n\n Classifier Interpretation : \n"
+#     string_analysis += classifier_intepret_string
+#
+#     image_analysis = {}
+#     return string_analysis, image_analysis, metrics_scores
diff --git a/multiview_platform/mono_multi_view_classifiers/multiview/analyze_results.py b/multiview_platform/mono_multi_view_classifiers/multiview/analyze_results.py
index f9a1f929addcc4613e8ef05e6787b2089a5db7ff..b24cdc3fcfb17c01e975bca843ce8653b02efc31 100644
--- a/multiview_platform/mono_multi_view_classifiers/multiview/analyze_results.py
+++ b/multiview_platform/mono_multi_view_classifiers/multiview/analyze_results.py
@@ -1,152 +1,152 @@
-from .. import metrics
-
-from ..utils.base import get_metric
-
-# Author-Info
-__author__ = "Baptiste Bauvin"
-__status__ = "Prototype"  # Production, Development, Prototype
-
-
-def print_metric_score(metric_scores, metric_list):
-    """
-    this function print the metrics scores
-
-    Parameters
-    ----------
-    metric_scores : the score of metrics
-
-    metric_list : list of metrics
-
-    Returns
-    -------
-    metric_score_string string constaining all metric results
-    """
-    metric_score_string = "\n\n"
-    for metric in metric_list:
-        metric_module = getattr(metrics, metric[0])
-        if metric[1] is not None:
-            metric_kwargs = dict(
-                (index, metricConfig) for index, metricConfig in
-                enumerate(metric[1]))
-        else:
-            metric_kwargs = {}
-        metric_score_string += "\tFor " + metric_module.get_config(
-            **metric_kwargs) + " : "
-        metric_score_string += "\n\t\t- Score on train : " + str(
-            metric_scores[metric[0]][0])
-        metric_score_string += "\n\t\t- Score on test : " + str(
-            metric_scores[metric[0]][1])
-        metric_score_string += "\n\n"
-    return metric_score_string
-
-
-def get_total_metric_scores(metric, train_labels, test_labels,
-                            validation_indices,
-                            learning_indices, labels):
-    """
-
-    Parameters
-    ----------
-
-    metric :
-
-    train_labels : labels of train
-
-    test_labels :  labels of test
-
-    validation_indices :
-
-    learning_indices :
-
-    labels :
-
-    Returns
-    -------
-    list of [train_score, test_score]
-    """
-    metric_module = getattr(metrics, metric[0])
-    if metric[1] is not None:
-        metric_kwargs = dict((index, metricConfig) for index, metricConfig in
-                             enumerate(metric[1]))
-    else:
-        metric_kwargs = {}
-    train_score = metric_module.score(labels[learning_indices], train_labels,
-                                      **metric_kwargs)
-    test_score = metric_module.score(labels[validation_indices], test_labels,
-                                     **metric_kwargs)
-    return [train_score, test_score]
-
-
-def get_metrics_scores(metrics, train_labels, test_labels,
-                       validation_indices, learning_indices, labels):
-    metrics_scores = {}
-    for metric in metrics:
-        metrics_scores[metric[0]] = get_total_metric_scores(metric,
-                                                            train_labels,
-                                                            test_labels,
-                                                            validation_indices,
-                                                            learning_indices,
-                                                            labels)
-    return metrics_scores
-
-
-def execute(classifier, pred_train_labels, pred_test_labels,
-            classification_indices, labels_dictionary, views, name, k_folds,
-            metrics_list, labels, directory):
-    """
-
-    Parameters
-    ----------
-    classifier : classifier used
-
-    pred_train_labels : labels of train
-
-    pred_test_labels : labels of test
-
-    classification_indices
-
-    labels_dictionary
-
-    views
-
-    name
-
-    k_folds
-
-    metrics_list
-
-    labels
-
-    Returns
-    -------
-    return tuple of (string_analysis, images_analysis, metricsScore)
-    """
-    classifier_name = classifier.short_name
-    learning_indices, validation_indices = classification_indices
-    metric_module, metric_kwargs = get_metric(metrics_list)
-    score_on_train = metric_module.score(labels[learning_indices],
-                                         pred_train_labels,
-                                         **metric_kwargs)
-    score_on_test = metric_module.score(labels[validation_indices],
-                                        pred_test_labels, **metric_kwargs)
-
-    string_analysis = "\t\tResult for multiview classification with " + classifier_name + \
-                      "\n\n" + metrics_list[0][0] + " :\n\t-On Train : " + str(
-        score_on_train) + "\n\t-On Test : " + str(
-        score_on_test) + \
-                      "\n\nDataset info :\n\t-Database name : " + name + "\n\t-Labels : " + \
-                      ', '.join(
-                          labels_dictionary.values()) + "\n\t-Views : " + ', '.join(
-        views) + "\n\t-" + str(
-        k_folds.n_splits) + \
-                      " folds\n\nClassification configuration : \n\t-Algorithm used : " + classifier_name + " with : " + classifier.get_config()
-
-    metrics_scores = get_metrics_scores(metrics_list, pred_train_labels,
-                                        pred_test_labels,
-                                        validation_indices, learning_indices,
-                                        labels)
-    string_analysis += print_metric_score(metrics_scores, metrics_list)
-    string_analysis += "\n\n Interpretation : \n\n" + classifier.get_interpretation(
-        directory, labels)
-    images_analysis = {}
-    return string_analysis, images_analysis, metrics_scores
+# from .. import metrics
+#
+# from ..utils.base import get_metric
+#
+# # Author-Info
+# __author__ = "Baptiste Bauvin"
+# __status__ = "Prototype"  # Production, Development, Prototype
+#
+#
+# def print_metric_score(metric_scores, metric_list):
+#     """
+#     this function print the metrics scores
+#
+#     Parameters
+#     ----------
+#     metric_scores : the score of metrics
+#
+#     metric_list : list of metrics
+#
+#     Returns
+#     -------
+#     metric_score_string string constaining all metric results
+#     """
+#     metric_score_string = "\n\n"
+#     for metric in metric_list:
+#         metric_module = getattr(metrics, metric[0])
+#         if metric[1] is not None:
+#             metric_kwargs = dict(
+#                 (index, metricConfig) for index, metricConfig in
+#                 enumerate(metric[1]))
+#         else:
+#             metric_kwargs = {}
+#         metric_score_string += "\tFor " + metric_module.get_config(
+#             **metric_kwargs) + " : "
+#         metric_score_string += "\n\t\t- Score on train : " + str(
+#             metric_scores[metric[0]][0])
+#         metric_score_string += "\n\t\t- Score on test : " + str(
+#             metric_scores[metric[0]][1])
+#         metric_score_string += "\n\n"
+#     return metric_score_string
+#
+#
+# def get_total_metric_scores(metric, train_labels, test_labels,
+#                             validation_indices,
+#                             learning_indices, labels):
+#     """
+#
+#     Parameters
+#     ----------
+#
+#     metric :
+#
+#     train_labels : labels of train
+#
+#     test_labels :  labels of test
+#
+#     validation_indices :
+#
+#     learning_indices :
+#
+#     labels :
+#
+#     Returns
+#     -------
+#     list of [train_score, test_score]
+#     """
+#     metric_module = getattr(metrics, metric[0])
+#     if metric[1] is not None:
+#         metric_kwargs = dict((index, metricConfig) for index, metricConfig in
+#                              enumerate(metric[1]))
+#     else:
+#         metric_kwargs = {}
+#     train_score = metric_module.score(labels[learning_indices], train_labels,
+#                                       **metric_kwargs)
+#     test_score = metric_module.score(labels[validation_indices], test_labels,
+#                                      **metric_kwargs)
+#     return [train_score, test_score]
+#
+#
+# def get_metrics_scores(metrics, train_labels, test_labels,
+#                        validation_indices, learning_indices, labels):
+#     metrics_scores = {}
+#     for metric in metrics:
+#         metrics_scores[metric[0]] = get_total_metric_scores(metric,
+#                                                             train_labels,
+#                                                             test_labels,
+#                                                             validation_indices,
+#                                                             learning_indices,
+#                                                             labels)
+#     return metrics_scores
+#
+#
+# def execute(classifier, pred_train_labels, pred_test_labels,
+#             classification_indices, labels_dictionary, views, name, k_folds,
+#             metrics_list, labels, directory):
+#     """
+#
+#     Parameters
+#     ----------
+#     classifier : classifier used
+#
+#     pred_train_labels : labels of train
+#
+#     pred_test_labels : labels of test
+#
+#     classification_indices
+#
+#     labels_dictionary
+#
+#     views
+#
+#     name
+#
+#     k_folds
+#
+#     metrics_list
+#
+#     labels
+#
+#     Returns
+#     -------
+#     return tuple of (string_analysis, images_analysis, metricsScore)
+#     """
+#     classifier_name = classifier.short_name
+#     learning_indices, validation_indices = classification_indices
+#     metric_module, metric_kwargs = get_metric(metrics_list)
+#     score_on_train = metric_module.score(labels[learning_indices],
+#                                          pred_train_labels,
+#                                          **metric_kwargs)
+#     score_on_test = metric_module.score(labels[validation_indices],
+#                                         pred_test_labels, **metric_kwargs)
+#
+#     string_analysis = "\t\tResult for multiview classification with " + classifier_name + \
+#                       "\n\n" + metrics_list[0][0] + " :\n\t-On Train : " + str(
+#         score_on_train) + "\n\t-On Test : " + str(
+#         score_on_test) + \
+#                       "\n\nDataset info :\n\t-Database name : " + name + "\n\t-Labels : " + \
+#                       ', '.join(
+#                           labels_dictionary.values()) + "\n\t-Views : " + ', '.join(
+#         views) + "\n\t-" + str(
+#         k_folds.n_splits) + \
+#                       " folds\n\nClassification configuration : \n\t-Algorithm used : " + classifier_name + " with : " + classifier.get_config()
+#
+#     metrics_scores = get_metrics_scores(metrics_list, pred_train_labels,
+#                                         pred_test_labels,
+#                                         validation_indices, learning_indices,
+#                                         labels)
+#     string_analysis += print_metric_score(metrics_scores, metrics_list)
+#     string_analysis += "\n\n Interpretation : \n\n" + classifier.get_interpretation(
+#         directory, labels)
+#     images_analysis = {}
+#     return string_analysis, images_analysis, metrics_scores
diff --git a/multiview_platform/mono_multi_view_classifiers/multiview/multiview_utils.py b/multiview_platform/mono_multi_view_classifiers/multiview/multiview_utils.py
index 31e2546b6a93a52ee7d7d4a56ff5ea8ca8128784..4735a64692a15498e3fb25d3b276104d34c9a71d 100644
--- a/multiview_platform/mono_multi_view_classifiers/multiview/multiview_utils.py
+++ b/multiview_platform/mono_multi_view_classifiers/multiview/multiview_utils.py
@@ -175,6 +175,8 @@ class MultiviewResultAnalyzer(ResultAnalyser):
                  hps_method, metrics_list, n_iter, class_label_names,
                  train_pred, test_pred, output_file_name, labels, database_name,
                  nb_cores, duration):
+        if hps_method.endswith("equiv"):
+            n_iter = n_iter*len(view_names)
         ResultAnalyser.__init__(self, classifier, classification_indices, k_folds,
                                 hps_method, metrics_list, n_iter, class_label_names,
                                 train_pred, test_pred, output_file_name, labels, database_name,
@@ -187,4 +189,4 @@ class MultiviewResultAnalyzer(ResultAnalyser):
                                                                 self.classifier_name)
 
     def get_view_specific_info(self):
-        return "\t-Views : " + ', '.join(self.view_names) + "\n"
\ No newline at end of file
+        return "\t- Views : " + ', '.join(self.view_names) + "\n"
\ No newline at end of file
diff --git a/multiview_platform/tests/test_utils/test_base.py b/multiview_platform/tests/test_utils/test_base.py
index f4f87316308f9fe766341f3068f156c7a47b0117..b09d50e936fa8d7ba3c8f78c30dc418ffa2faede 100644
--- a/multiview_platform/tests/test_utils/test_base.py
+++ b/multiview_platform/tests/test_utils/test_base.py
@@ -3,15 +3,100 @@ import unittest
 import yaml
 import numpy as np
 from sklearn.tree import DecisionTreeClassifier
+from sklearn.model_selection import StratifiedKFold
+from sklearn.metrics import accuracy_score, f1_score
 
 from multiview_platform.tests.utils import rm_tmp, tmp_path
 from multiview_platform.mono_multi_view_classifiers.utils import base
 
 
-class Test_ResultAnalyzer(unittest.TestCase):
+class FakeClassifier():
     pass
 
-class Test_BaseEstimator(unittest.TestCase):
+class Test_ResultAnalyzer(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        cls.rs = np.random.RandomState(42)
+        cls.classifier = FakeClassifier()
+        cls.n_examples = 50
+        cls.n_classes = 3
+        cls.train_length = 24
+        cls.train_indices = cls.rs.choice(np.arange(cls.n_examples),
+                                          size=cls.train_length,
+                                          replace=False)
+        cls.test_indices = np.array([i for i in range(cls.n_examples)
+                                     if i not in cls.train_indices])
+        cls.test_length = cls.test_indices.shape[0]
+        cls.classification_indices = [cls.train_indices, cls.test_indices]
+        cls.n_splits = 5
+        cls.k_folds = StratifiedKFold(n_splits=cls.n_splits, )
+        cls.hps_method = "randomized_search"
+        cls.metrics_list = [("accuracy_score", {}), ("f1_score", {})]
+        cls.n_iter = 6
+        cls.class_label_names = ["class{}".format(ind+1)
+                                  for ind in range(cls.n_classes)]
+        cls.train_pred = np.random.randint(0, cls.n_classes,
+                                           size=cls.train_length)
+        cls.test_pred = np.random.randint(0, cls.n_classes,
+                                          size=cls.test_length)
+        cls.directory = "fake_directory"
+        cls.labels = np.random.randint(0, cls.n_classes,
+                                           size=cls.n_examples)
+        cls.database_name = "test_database"
+        cls.nb_cores = 0.5
+        cls.duration = -4
+        cls.train_accuracy = accuracy_score(cls.labels[cls.train_indices],
+                                            cls.train_pred)
+        cls.test_accuracy = accuracy_score(cls.labels[cls.test_indices],
+                                            cls.test_pred)
+        cls.train_f1 = f1_score(cls.labels[cls.train_indices],
+                                            cls.train_pred, average='micro')
+        cls.test_f1 = f1_score(cls.labels[cls.test_indices],
+                                           cls.test_pred, average='micro')
+
+    def test_simple(self):
+        RA = base.ResultAnalyser(self.classifier, self.classification_indices,
+                                 self.k_folds, self.hps_method, self.metrics_list,
+                                 self.n_iter, self.class_label_names,
+                                 self.train_pred, self.test_pred, self.directory,
+                                 self.labels, self.database_name,
+                                 self.nb_cores, self.duration)
+
+    def test_get_metric_scores(self):
+        RA = base.ResultAnalyser(self.classifier, self.classification_indices,
+                                 self.k_folds, self.hps_method,
+                                 self.metrics_list,
+                                 self.n_iter, self.class_label_names,
+                                 self.train_pred, self.test_pred,
+                                 self.directory,
+                                 self.labels, self.database_name,
+                                 self.nb_cores, self.duration)
+        train_score, test_score = RA.get_metric_scores("accuracy_score", {})
+        self.assertEqual(train_score, self.train_accuracy)
+        self.assertEqual(test_score, self.test_accuracy)
+
+    def test_get_all_metrics_scores(self):
+        RA = base.ResultAnalyser(self.classifier, self.classification_indices,
+                                 self.k_folds, self.hps_method,
+                                 self.metrics_list,
+                                 self.n_iter, self.class_label_names,
+                                 self.train_pred, self.test_pred,
+                                 self.directory,
+                                 self.labels, self.database_name,
+                                 self.nb_cores, self.duration)
+        RA.get_all_metrics_scores()
+        self.assertEqual(RA.metric_scores["accuracy_score"][0],
+                         self.train_accuracy)
+        self.assertEqual(RA.metric_scores["accuracy_score"][1],
+                         self.test_accuracy)
+        self.assertEqual(RA.metric_scores["f1_score"][0],
+                         self.train_f1)
+        self.assertEqual(RA.metric_scores["f1_score"][1],
+                         self.test_f1)
+
+
+class Test_BaseClassifier(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):