diff --git a/force_bdss/api.py b/force_bdss/api.py index 4f54ab3b3a75df5b49f44f94053aeb940561daa0..7480b1b5ec447f3978df3421800be225de92f510 100644 --- a/force_bdss/api.py +++ b/force_bdss/api.py @@ -3,14 +3,11 @@ from .ids import bundle_id, plugin_id # noqa from .core.data_value import DataValue # noqa from .data_sources.base_data_source_model import BaseDataSourceModel # noqa -from .data_sources.data_source_result import DataSourceResult # noqa -from .data_sources.data_source_parameters import DataSourceParameters # noqa from .data_sources.base_data_source import BaseDataSource # noqa from .data_sources.base_data_source_bundle import BaseDataSourceBundle # noqa from .data_sources.i_data_source_bundle import IDataSourceBundle # noqa from .kpi.base_kpi_calculator import BaseKPICalculator # noqa -from .kpi.kpi_calculator_result import KPICalculatorResult # noqa from .kpi.base_kpi_calculator_model import BaseKPICalculatorModel # noqa from .kpi.base_kpi_calculator_bundle import BaseKPICalculatorBundle # noqa from .kpi.i_kpi_calculator_bundle import IKPICalculatorBundle # noqa diff --git a/force_bdss/core_evaluation_driver.py b/force_bdss/core_evaluation_driver.py index 8cfe761cd513ce973186688013f4dcea56f382c6..d6f71816bc0aaf0317feae991de453acc6437f30 100644 --- a/force_bdss/core_evaluation_driver.py +++ b/force_bdss/core_evaluation_driver.py @@ -37,12 +37,12 @@ class CoreEvaluationDriver(BaseCoreDriver): for ds_model in workflow.data_sources: ds_bundle = ds_model.bundle data_source = ds_bundle.create_data_source() - ds_results.append(data_source.run(ds_model, mco_data_values)) + ds_results.extend(data_source.run(ds_model, mco_data_values)) kpi_results = [] for kpic_model in workflow.kpi_calculators: kpic_bundle = kpic_model.bundle kpi_calculator = kpic_bundle.create_kpi_calculator() - kpi_results.append(kpi_calculator.run(kpic_model, ds_results)) + kpi_results.extend(kpi_calculator.run(kpic_model, ds_results)) mco_communicator.send_to_mco(mco_model, kpi_results) diff --git a/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_data_source.py b/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_data_source.py index d159906bd9030b8d58ebaed3ff462cb8bb7c32d5..3b4858414af708ccc4419ae870c68d48b028d2e0 100644 --- a/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_data_source.py +++ b/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_data_source.py @@ -18,5 +18,5 @@ class CSVExtractorDataSource(BaseDataSource): ) ] - return None - return None + return [] + return [] diff --git a/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py b/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py index 1be1beb2559ce8aaa208b6bad69ba94718cb7b4a..0df1be2d814261327462b7e82a070325b088a9a2 100644 --- a/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py +++ b/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py @@ -1,12 +1,12 @@ import unittest +from force_bdss.core.data_value import DataValue from force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_data_source \ import CSVExtractorDataSource from force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_model import \ CSVExtractorModel from force_bdss.data_sources.base_data_source_bundle import \ BaseDataSourceBundle -from force_bdss.data_sources.data_source_result import DataSourceResult from force_bdss.tests import fixtures try: @@ -27,7 +27,11 @@ class TestCSVExtractorDataSource(unittest.TestCase): ds = CSVExtractorDataSource(self.bundle) model = CSVExtractorModel(self.bundle) model.filename = fixtures.get("foo.csv") - mock_params = mock.Mock() - mock_params.values = [1.0] + model.row = 3 + model.column = 5 + mock_params = [] result = ds.run(model, mock_params) - self.assertIsInstance(result, DataSourceResult) + self.assertIsInstance(result, list) + self.assertEqual(len(result), 1) + self.assertIsInstance(result[0], DataValue) + self.assertEqual(result[0].value, 42) diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_communicator.py b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_communicator.py index 958d5c2068e7f4dd99620b06372e016abeef207e..e1d10fda52d41edb50250fb31efde7be6c694935 100644 --- a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_communicator.py +++ b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_communicator.py @@ -17,8 +17,6 @@ class DummyDakotaCommunicator(BaseMCOCommunicator): for type_, name, value in zip( value_types, value_names, values)] - def send_to_mco(self, model, kpi_results): - data = " ".join( - [" ".join(list(map(str, r.values.tolist()))) for r in kpi_results] - ) + def send_to_mco(self, model, data_values): + data = " ".join([str(dv.value) for dv in data_values]) sys.stdout.write(data) 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 6e74d744f66e52cbb510bacde7a3879f0d200818..7954507babdd3bf3112ff8637fbd65b0056ccaa3 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 @@ -9,7 +9,6 @@ from envisage.plugin import Plugin from force_bdss.core_plugins.dummy.dummy_dakota.dakota_bundle import ( DummyDakotaBundle) -from force_bdss.data_sources.data_source_parameters import DataSourceParameters from force_bdss.mco.parameters.base_mco_parameter_factory import \ BaseMCOParameterFactory @@ -31,7 +30,7 @@ class TestDakotaCommunicator(unittest.TestCase): stdin.read.return_value = "1" data = comm.receive_from_mco(model) - self.assertIsInstance(data, DataSourceParameters) - self.assertEqual(len(data.value_names), 1) - self.assertEqual(len(data.value_types), 1) - self.assertEqual(len(data.values), 1) + self.assertIsInstance(data, list) + self.assertEqual(len(data), 1) + self.assertEqual(data[0].value, 1) + self.assertEqual(data[0].type, "") diff --git a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator.py index f1a8a168935464c02064905cd5b21a937afeb0f6..bd104731babee708112797eebe991a1ca732504e 100644 --- a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator.py +++ b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator.py @@ -1,8 +1,6 @@ -from force_bdss.api import BaseKPICalculator, bundle_id +from force_bdss.api import BaseKPICalculator class DummyKPICalculator(BaseKPICalculator): - id = bundle_id("enthought", "dummy_kpi_calculator") - def run(self, model, data_source_results): return data_source_results diff --git a/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_calculator.py b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_calculator.py index 2c24d6242a760c93956b3eb361517aad15566215..94128b30519bf6bcac5fc63e0f418cd758ea7f80 100644 --- a/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_calculator.py +++ b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_calculator.py @@ -4,12 +4,12 @@ from force_bdss.api import BaseKPICalculator, DataValue class KPIAdderCalculator(BaseKPICalculator): def run(self, model, data_source_results): sum = 0.0 - for ds_res in data_source_results: - for res in ds_res: - if res.type != model.cuba_type_in: - continue - sum += res.value + for res in data_source_results: + if res.type != model.cuba_type_in: + continue + + sum += res.value return [ DataValue( diff --git a/force_bdss/tests/test_core_evaluation_driver.py b/force_bdss/tests/test_core_evaluation_driver.py index 5be1849eba262b3460f68ad49f8e284d9bd61e77..3ce84809480eb25565fb014814feed26888313e8 100644 --- a/force_bdss/tests/test_core_evaluation_driver.py +++ b/force_bdss/tests/test_core_evaluation_driver.py @@ -53,7 +53,7 @@ class NullMCOCommunicator(BaseMCOCommunicator): pass def receive_from_mco(self, model): - pass + return [] class NullMCOBundle(BaseMCOBundle): @@ -78,7 +78,7 @@ class NullKPICalculatorModel(BaseKPICalculatorModel): class NullKPICalculator(BaseKPICalculator): def run(self, model, data_source_results): - pass + return [] class NullKPICalculatorBundle(BaseKPICalculatorBundle): @@ -95,7 +95,7 @@ class NullDataSourceModel(BaseDataSourceModel): class NullDataSource(BaseDataSource): def run(self, model, parameters): - pass + return [] class NullDataSourceBundle(BaseDataSourceBundle):