From 60b372897b5aff3d8df6c70d03f2e76ad34642b2 Mon Sep 17 00:00:00 2001
From: Stefano Borini <sborini@enthought.com>
Date: Wed, 19 Jul 2017 14:09:21 +0100
Subject: [PATCH] Fixed tests

---
 force_bdss/base_extension_plugin.py           | 25 +++++++++++++++++++
 .../csv_extractor/csv_extractor_plugin.py     | 14 +++--------
 .../test_kpi/test_kpi_calculator_plugin.py    | 15 +++--------
 .../multi_criteria_optimizers_plugin.py       | 15 +++--------
 .../tests/test_bundle_registry_plugin.py      | 24 +++---------------
 5 files changed, 37 insertions(+), 56 deletions(-)
 create mode 100644 force_bdss/base_extension_plugin.py

diff --git a/force_bdss/base_extension_plugin.py b/force_bdss/base_extension_plugin.py
new file mode 100644
index 0000000..28c543d
--- /dev/null
+++ b/force_bdss/base_extension_plugin.py
@@ -0,0 +1,25 @@
+from envisage.plugin import Plugin
+from traits.trait_types import List
+
+from force_bdss.data_sources.i_data_source_bundle import IDataSourceBundle
+from force_bdss.kpi.i_kpi_calculator_bundle import IKPICalculatorBundle
+from force_bdss.mco.i_multi_criteria_optimizer_bundle import \
+    IMultiCriteriaOptimizerBundle
+
+
+class BaseExtensionPlugin(Plugin):
+    mco_bundles = List(
+        IMultiCriteriaOptimizerBundle,
+        contributes_to='force.bdss.mco.bundles'
+    )
+
+    #: A list of the available Data Sources.
+    #: It will be populated by plugins.
+    data_source_bundles = List(
+        IDataSourceBundle,
+        contributes_to='force.bdss.data_sources.bundles')
+
+    kpi_calculator_bundles = List(
+        IKPICalculatorBundle,
+        contributes_to='force.bdss.kpi_calculators.bundles'
+    )
diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor_plugin.py b/force_bdss/core_plugins/csv_extractor/csv_extractor_plugin.py
index 2dcba7e..dad0765 100644
--- a/force_bdss/core_plugins/csv_extractor/csv_extractor_plugin.py
+++ b/force_bdss/core_plugins/csv_extractor/csv_extractor_plugin.py
@@ -1,16 +1,8 @@
-from envisage.plugin import Plugin
-from traits.api import List
-
-from force_bdss.data_sources.i_data_source_bundle import IDataSourceBundle
+from force_bdss.base_extension_plugin import BaseExtensionPlugin
 
 from .csv_extractor.csv_extractor_bundle import CSVExtractorBundle
 
 
-class CSVExtractorPlugin(Plugin):
-    data_sources = List(
-        IDataSourceBundle,
-        contributes_to='force.bdss.data_sources.bundles'
-    )
-
-    def _data_sources_default(self):
+class CSVExtractorPlugin(BaseExtensionPlugin):
+    def _data_source_bundles_default(self):
         return [CSVExtractorBundle()]
diff --git a/force_bdss/core_plugins/test_kpi/test_kpi_calculator_plugin.py b/force_bdss/core_plugins/test_kpi/test_kpi_calculator_plugin.py
index 5250693..136fa47 100644
--- a/force_bdss/core_plugins/test_kpi/test_kpi_calculator_plugin.py
+++ b/force_bdss/core_plugins/test_kpi/test_kpi_calculator_plugin.py
@@ -1,17 +1,8 @@
-from envisage.plugin import Plugin
-from traits.api import List
-
-from force_bdss.kpi.i_kpi_calculator_bundle import (
-    IKPICalculatorBundle)
+from force_bdss.base_extension_plugin import BaseExtensionPlugin
 
 from .kpi_adder.kpi_adder_bundle import KPIAdderBundle
 
 
-class TestKPICalculatorPlugin(Plugin):
-    kpi_calculators = List(
-        IKPICalculatorBundle,
-        contributes_to='force.bdss.kpi_calculators.bundles'
-    )
-
-    def _kpi_calculators_default(self):
+class TestKPICalculatorPlugin(BaseExtensionPlugin):
+    def _kpi_calculator_bundles_default(self):
         return [KPIAdderBundle()]
diff --git a/force_bdss/core_plugins/test_mco/multi_criteria_optimizers_plugin.py b/force_bdss/core_plugins/test_mco/multi_criteria_optimizers_plugin.py
index 7805023..f05ba19 100644
--- a/force_bdss/core_plugins/test_mco/multi_criteria_optimizers_plugin.py
+++ b/force_bdss/core_plugins/test_mco/multi_criteria_optimizers_plugin.py
@@ -1,17 +1,8 @@
-from envisage.plugin import Plugin
-from traits.api import List
-
-from force_bdss.mco.i_multi_criteria_optimizer_bundle import (
-    IMultiCriteriaOptimizerBundle)
+from force_bdss.base_extension_plugin import BaseExtensionPlugin
 
 from .dakota.dakota_bundle import DakotaBundle
 
 
-class MultiCriteriaOptimizersPlugin(Plugin):
-    multi_criteria_optimizers = List(
-        IMultiCriteriaOptimizerBundle,
-        contributes_to='force.bdss.mco.bundles'
-    )
-
-    def _multi_criteria_optimizers_default(self):
+class MultiCriteriaOptimizersPlugin(BaseExtensionPlugin):
+    def _mco_bundles_default(self):
         return [DakotaBundle()]
diff --git a/force_bdss/tests/test_bundle_registry_plugin.py b/force_bdss/tests/test_bundle_registry_plugin.py
index f0869f0..d689389 100644
--- a/force_bdss/tests/test_bundle_registry_plugin.py
+++ b/force_bdss/tests/test_bundle_registry_plugin.py
@@ -1,5 +1,7 @@
 import unittest
 
+from force_bdss.base_extension_plugin import (
+    BaseExtensionPlugin)
 from force_bdss.id_generators import bundle_id
 
 try:
@@ -7,9 +9,7 @@ try:
 except ImportError:
     from unittest import mock
 
-from traits.api import List
 from envisage.application import Application
-from envisage.plugin import Plugin
 
 from force_bdss.bundle_registry_plugin import BundleRegistryPlugin
 from force_bdss.data_sources.i_data_source_bundle import IDataSourceBundle
@@ -31,25 +31,7 @@ class TestBundleRegistry(unittest.TestCase):
         self.assertEqual(self.plugin.kpi_calculator_bundles, [])
 
 
-class BaseBDSSPlugin(Plugin):
-    mco_bundles = List(
-        IMultiCriteriaOptimizerBundle,
-        contributes_to='force.bdss.mco.bundles'
-    )
-
-    #: A list of the available Data Sources.
-    #: It will be populated by plugins.
-    data_source_bundles = List(
-        IDataSourceBundle,
-        contributes_to='force.bdss.data_sources.bundles')
-
-    kpi_calculator_bundles = List(
-        IKPICalculatorBundle,
-        contributes_to='force.bdss.kpi_calculators.bundles'
-    )
-
-
-class MySuperPlugin(BaseBDSSPlugin):
+class MySuperPlugin(BaseExtensionPlugin):
     def _mco_bundles_default(self):
         return [mock.Mock(spec=IMultiCriteriaOptimizerBundle,
                           id=bundle_id("enthought", "mco1"))]
-- 
GitLab