From f8cb1a7f3b0682c097dc8d78b8fff092bed3cbf3 Mon Sep 17 00:00:00 2001 From: Stefano Borini <sborini@enthought.com> Date: Wed, 26 Jul 2017 10:04:05 +0100 Subject: [PATCH] Added receive from mco test --- .../dummy/dummy_dakota/dakota_communicator.py | 2 +- .../tests/test_dakota_communicator.py | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py 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 b1ee626..9f9d441 100644 --- a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_communicator.py +++ b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_communicator.py @@ -8,7 +8,7 @@ class DummyDakotaCommunicator(BaseMCOCommunicator): def receive_from_mco(self): data = sys.stdin.read() values = list(map(float, data.split())) - value_names = [p.name for p in self.model.parameters] + value_names = [p.value_name for p in self.model.parameters] value_types = [p.value_type for p in self.model.parameters] return DataSourceParameters( 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 new file mode 100644 index 0000000..7bb6ba4 --- /dev/null +++ b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py @@ -0,0 +1,38 @@ +import unittest + +from force_bdss.bdss_application import BDSSApplication + +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 +from force_bdss.mco.parameters.core_mco_parameters import RangedMCOParameter + +try: + import mock +except ImportError: + from unittest import mock + + +class TestDakotaCommunicator(unittest.TestCase): + def test_receive_from_mco(self): + bundle = DummyDakotaBundle() + mock_application = mock.Mock(spec=BDSSApplication) + mock_parameter_factory = mock.Mock(spec=BaseMCOParameterFactory) + model = bundle.create_model() + model.parameters = [ + RangedMCOParameter(mock_parameter_factory) + ] + comm = bundle.create_communicator(mock_application, model) + + with mock.patch("sys.stdin") as stdin: + stdin.read.return_value = "1" + + data = comm.receive_from_mco() + self.assertIsInstance(data, DataSourceParameters) + self.assertEqual(len(data.value_names), 1) + self.assertEqual(len(data.value_types), 1) + self.assertEqual(len(data.values), 1) + -- GitLab