diff --git a/force_bdss/base_core_driver.py b/force_bdss/base_core_driver.py index 72c09b37df9071db7949fc8335c174431d748984..6b43b4cec5a09370f51edab719cf9e0cd5254f0d 100644 --- a/force_bdss/base_core_driver.py +++ b/force_bdss/base_core_driver.py @@ -32,11 +32,12 @@ class BaseCoreDriver(Plugin): def _parameter_factory_registry_default(self): registry = MCOParameterFactoryRegistry() for f in all_core_factories(): - self.register(f) + registry.register(f) return registry def _workflow_default(self): - reader = WorkflowReader(self.bundle_registry) + reader = WorkflowReader(self.bundle_registry, + self.parameter_factory_registry) with open(self.application.workflow_filepath) as f: return reader.read(f) diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py index 7bb6ba43186151cee28f697d39e2ef8655e00ab5..a17b59d97dd3e71bbda4c874568b0208eedcf7f7 100644 --- a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py +++ b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py @@ -35,4 +35,3 @@ class TestDakotaCommunicator(unittest.TestCase): self.assertEqual(len(data.value_names), 1) self.assertEqual(len(data.value_types), 1) self.assertEqual(len(data.values), 1) - diff --git a/force_bdss/io/workflow_writer.py b/force_bdss/io/workflow_writer.py index cbc9a7b8277a2925d2a8788813802e52af30548b..b757d039c7346b4a48db2371b84b018255ec6420 100644 --- a/force_bdss/io/workflow_writer.py +++ b/force_bdss/io/workflow_writer.py @@ -39,7 +39,6 @@ class WorkflowWriter(HasStrictTraits): wf_data["multi_criteria_optimizer"]["model_data"]["parameters"] = parameters_data # noqa - kpic_data = [] for kpic in workflow.kpi_calculators: kpic_data.append({ diff --git a/force_bdss/mco/parameters/core_mco_parameters.py b/force_bdss/mco/parameters/core_mco_parameters.py index 072d0a2a072086bce78232a88aee192e6f0025ad..35e46232380252818ed2878b0f78cb8aba5af414 100644 --- a/force_bdss/mco/parameters/core_mco_parameters.py +++ b/force_bdss/mco/parameters/core_mco_parameters.py @@ -26,5 +26,7 @@ def all_core_factories(): """Produces a list of all factories contained in this module.""" import inspect - return [c for c in inspect.getmodule(all_core_factories).__dict__.values() - if inspect.isclass(c) and issubclass(c, BaseMCOParameterFactory)] + return [c() for c in inspect.getmodule(all_core_factories).__dict__.values() + if inspect.isclass(c) and + c is not BaseMCOParameterFactory and + issubclass(c, BaseMCOParameterFactory)] diff --git a/force_bdss/mco/parameters/tests/test_core_mco_parameters.py b/force_bdss/mco/parameters/tests/test_core_mco_parameters.py index feec858f0680403d83baffd28918542cc92ae67b..af6f4c96ab0b6536e44fd2d5465a7dd3934eb396 100644 --- a/force_bdss/mco/parameters/tests/test_core_mco_parameters.py +++ b/force_bdss/mco/parameters/tests/test_core_mco_parameters.py @@ -6,9 +6,9 @@ from force_bdss.mco.parameters.base_mco_parameter_factory import \ class TestCoreMCOParameters(unittest.TestCase): - def test_all_classes(self): + def test_all_factories(self): factories = core_mco_parameters.all_core_factories() - self.assertNotEqual(len(factories), 0) + self.assertEqual(len(factories), 1) for f in factories: - self.assertTrue(issubclass(f, BaseMCOParameterFactory)) + self.assertIsInstance(f, BaseMCOParameterFactory) diff --git a/force_bdss/tests/fixtures/test_csv.json b/force_bdss/tests/fixtures/test_csv.json index f061c1092201a1cb409595a1d002ea3a85d57166..85fb4fb8dcf7dd7b7d858e61c7f9b1d2173a1147 100644 --- a/force_bdss/tests/fixtures/test_csv.json +++ b/force_bdss/tests/fixtures/test_csv.json @@ -2,13 +2,14 @@ "version": "1", "workflow": { "multi_criteria_optimizer": { - "id": "force.bdss.bundles.enthought.dakota", + "id": "force.bdss.bundle.enthought.dakota", "model_data": { + "parameters" : [] } }, "data_sources": [ { - "id": "force.bdss.bundles.enthought.csv_extractor", + "id": "force.bdss.bundle.enthought.csv_extractor", "model_data": { "filename": "foo.csv", "row": 3, @@ -17,7 +18,7 @@ } }, { - "id": "force.bdss.bundles.enthought.csv_extractor", + "id": "force.bdss.bundle.enthought.csv_extractor", "model_data": { "filename": "foo.csv", "row": 3, @@ -28,7 +29,7 @@ ], "kpi_calculators": [ { - "id": "force.bdss.bundles.enthought.kpi_adder", + "id": "force.bdss.bundle.enthought.kpi_adder", "model_data": { "cuba_type_in": "PRESSURE", "cuba_type_out": "TOTAL_PRESSURE"