diff --git a/force_bdss/cli/tests/test_execution.py b/force_bdss/cli/tests/test_execution.py deleted file mode 100644 index 24bf92bcd5915c4b411baa68b6e2f4f6c914519c..0000000000000000000000000000000000000000 --- a/force_bdss/cli/tests/test_execution.py +++ /dev/null @@ -1,54 +0,0 @@ -import unittest -import subprocess -import os -from contextlib import contextmanager - -from force_bdss.tests import fixtures - - -@contextmanager -def cd(dir): - cwd = os.getcwd() - os.chdir(dir) - try: - yield - finally: - os.chdir(cwd) - - -def fixture_dir(): - return os.path.join( - os.path.dirname(os.path.abspath(__file__)), - "fixtures") - - -class TestExecution(unittest.TestCase): - def test_plain_invocation_mco(self): - with cd(fixtures.dirpath()): - out = subprocess.check_call(["force_bdss", "test_csv.json"]) - self.assertEqual(out, 0) - - def test_plain_invocation_evaluate(self): - with cd(fixtures.dirpath()): - proc = subprocess.Popen([ - "force_bdss", "--evaluate", "test_csv.json"], - stdin=subprocess.PIPE, - stdout=subprocess.PIPE) - proc.communicate(b"1") - retcode = proc.wait() - self.assertEqual(retcode, 0) - - def test_unsupported_file_input(self): - with cd(fixtures.dirpath()): - with self.assertRaises(subprocess.CalledProcessError): - subprocess.check_call(["force_bdss", "test_csv_v2.json"]) - - def test_corrupted_file_input(self): - with cd(fixtures.dirpath()): - with self.assertRaises(subprocess.CalledProcessError): - subprocess.check_call(["force_bdss", - "test_csv_corrupted.json"]) - - -if __name__ == '__main__': - unittest.main() diff --git a/force_bdss/core_plugins/__init__.py b/force_bdss/core_plugins/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/__init__.py b/force_bdss/core_plugins/dummy/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/csv_extractor/__init__.py b/force_bdss/core_plugins/dummy/csv_extractor/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 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 deleted file mode 100644 index 36f729720f8933fe6121d1c820bcb6f09ea662f0..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_data_source.py +++ /dev/null @@ -1,31 +0,0 @@ -import csv -from force_bdss.api import BaseDataSource, DataValue -from force_bdss.core.slot import Slot - - -class CSVExtractorDataSource(BaseDataSource): - def run(self, model, parameters): - with open(model.filename) as csvfile: - reader = csv.reader(csvfile) - for rowindex, row in enumerate(reader): - if rowindex < model.row: - continue - elif rowindex == model.row: - return [ - DataValue( - type=model.cuba_type, - value=float(row[model.column]) - ) - ] - else: - break - - raise IndexError("Could not find specified data.") - - def slots(self, model): - return ( - (), - ( - Slot(type=model.cuba_type), - ) - ) diff --git a/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_factory.py b/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_factory.py deleted file mode 100644 index db28075d1e265b57909c1d20a202fae800702722..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_factory.py +++ /dev/null @@ -1,21 +0,0 @@ -from traits.api import String - -from force_bdss.api import factory_id, BaseDataSourceFactory - -from .csv_extractor_model import CSVExtractorModel -from .csv_extractor_data_source import CSVExtractorDataSource - - -class CSVExtractorFactory(BaseDataSourceFactory): - id = String(factory_id("enthought", "csv_extractor")) - - name = String("CSV Extractor") - - def create_model(self, model_data=None): - if model_data is None: - model_data = {} - - return CSVExtractorModel(self, **model_data) - - def create_data_source(self): - return CSVExtractorDataSource(self) diff --git a/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_model.py b/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_model.py deleted file mode 100644 index a8c4a0a6952d609e12d0476dac10169ed7bbbedc..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_model.py +++ /dev/null @@ -1,14 +0,0 @@ -from traits.api import Int, String, on_trait_change, File - -from force_bdss.api import BaseDataSourceModel - - -class CSVExtractorModel(BaseDataSourceModel): - filename = File() - row = Int() - column = Int() - cuba_type = String() - - @on_trait_change("cuba_type") - def _notify_changes_slots(self): - self.changes_slots = True diff --git a/force_bdss/core_plugins/dummy/csv_extractor/tests/__init__.py b/force_bdss/core_plugins/dummy/csv_extractor/tests/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 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 deleted file mode 100644 index 89f8f80617397648f3ca6c8e5b7be6b7bb338e14..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py +++ /dev/null @@ -1,62 +0,0 @@ -import unittest - -from force_bdss.core.data_value import DataValue -from force_bdss.core.slot import Slot -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_factory import \ - BaseDataSourceFactory -from force_bdss.tests import fixtures - -try: - import mock -except ImportError: - from unittest import mock - - -class TestCSVExtractorDataSource(unittest.TestCase): - def setUp(self): - self.factory = mock.Mock(spec=BaseDataSourceFactory) - - def test_initialization(self): - ds = CSVExtractorDataSource(self.factory) - self.assertEqual(ds.factory, self.factory) - - def test_run(self): - ds = CSVExtractorDataSource(self.factory) - model = CSVExtractorModel(self.factory) - model.filename = fixtures.get("foo.csv") - model.row = 3 - model.column = 5 - mock_params = [] - result = ds.run(model, mock_params) - self.assertIsInstance(result, list) - self.assertEqual(len(result), 1) - self.assertIsInstance(result[0], DataValue) - self.assertEqual(result[0].value, 42) - - def test_run_with_exception(self): - ds = CSVExtractorDataSource(self.factory) - model = CSVExtractorModel(self.factory) - model.filename = fixtures.get("foo.csv") - mock_params = [] - model.row = 30 - model.column = 5 - with self.assertRaises(IndexError): - ds.run(model, mock_params) - - model.row = 3 - model.column = 50 - with self.assertRaises(IndexError): - ds.run(model, mock_params) - - def test_slots(self): - ds = CSVExtractorDataSource(self.factory) - model = CSVExtractorModel(self.factory) - slots = ds.slots(model) - self.assertEqual(len(slots), 2) - self.assertEqual(len(slots[0]), 0) - self.assertEqual(len(slots[1]), 1) - self.assertIsInstance(slots[1][0], Slot) diff --git a/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_factory.py b/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_factory.py deleted file mode 100644 index 54f72f88bf927fd0f3a744ea6dbd5912c8ad97ef..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_factory.py +++ /dev/null @@ -1,24 +0,0 @@ -import unittest - -from force_bdss.core_plugins.dummy.tests.data_source_factory_test_mixin \ - import DataSourceFactoryTestMixin -from force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_factory import \ - CSVExtractorFactory -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 - - -class TestCSVExtractorFactory(DataSourceFactoryTestMixin, unittest.TestCase): - @property - def factory_class(self): - return CSVExtractorFactory - - @property - def model_class(self): - return CSVExtractorModel - - @property - def data_source_class(self): - return CSVExtractorDataSource diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/__init__.py b/force_bdss/core_plugins/dummy/dummy_dakota/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_communicator.py b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_communicator.py deleted file mode 100644 index fbcb6f97be913b4aec2bea05a91f48a709bf6bf0..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_communicator.py +++ /dev/null @@ -1,22 +0,0 @@ -import sys - -from force_bdss.api import ( - BaseMCOCommunicator, - DataValue) - - -class DummyDakotaCommunicator(BaseMCOCommunicator): - def receive_from_mco(self, model): - data = sys.stdin.read() - values = list(map(float, data.split())) - value_names = [p.name for p in model.parameters] - value_types = [p.type for p in model.parameters] - - return [ - DataValue(type=type_, name=name, value=value) - for type_, name, value in zip( - value_types, value_names, values)] - - 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/dakota_factory.py b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_factory.py deleted file mode 100644 index 6e6c5ccbe164cb5bbeee657f63b673a5b48f06c8..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_factory.py +++ /dev/null @@ -1,30 +0,0 @@ -from traits.api import String -from force_bdss.api import factory_id, BaseMCOFactory -from force_bdss.core_plugins.dummy.dummy_dakota.parameters import \ - RangedMCOParameterFactory - -from .dakota_communicator import DummyDakotaCommunicator -from .dakota_model import DummyDakotaModel -from .dakota_optimizer import DummyDakotaOptimizer - - -class DummyDakotaFactory(BaseMCOFactory): - id = String(factory_id("enthought", "dummy_dakota")) - - name = "Dummy Dakota" - - def create_model(self, model_data=None): - if model_data is None: - model_data = {} - return DummyDakotaModel(self, **model_data) - - def create_optimizer(self): - return DummyDakotaOptimizer(self) - - def create_communicator(self): - return DummyDakotaCommunicator(self) - - def parameter_factories(self): - return [ - RangedMCOParameterFactory(self) - ] diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_model.py b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_model.py deleted file mode 100644 index 65150979e82bf7dfe79074baf5f978053a23ef1b..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_model.py +++ /dev/null @@ -1,5 +0,0 @@ -from force_bdss.api import BaseMCOModel - - -class DummyDakotaModel(BaseMCOModel): - pass diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_optimizer.py b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_optimizer.py deleted file mode 100644 index 96d5fe70a617c0401f72df5e62555c0d602cd7f6..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_optimizer.py +++ /dev/null @@ -1,50 +0,0 @@ -import subprocess -import sys -import itertools -import collections - -from force_bdss.api import BaseMCO - - -def rotated_range(start, stop, starting_value): - r = list(range(start, stop)) - start_idx = r.index(starting_value) - d = collections.deque(r) - d.rotate(-start_idx) - return list(d) - - -class DummyDakotaOptimizer(BaseMCO): - def run(self, model): - parameters = model.parameters - - values = [] - for p in parameters: - values.append( - rotated_range(int(p.lower_bound), - int(p.upper_bound), - int(p.initial_value)) - ) - - value_iterator = itertools.product(*values) - - application = self.factory.plugin.application - - self.started = True - for value in value_iterator: - ps = subprocess.Popen( - [sys.argv[0], - "--evaluate", - application.workflow_filepath], - stdout=subprocess.PIPE, - stdin=subprocess.PIPE) - - out = ps.communicate( - " ".join([str(v) for v in value]).encode("utf-8")) - out_data = out[0].decode("utf-8").split() - self.new_data = { - 'input': tuple(value), - 'output': tuple(out_data) - } - - self.finished = True diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/parameters.py b/force_bdss/core_plugins/dummy/dummy_dakota/parameters.py deleted file mode 100644 index d15c6c6f26390b9ad1a4c7941f1e52a5ac7ba8df..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_dakota/parameters.py +++ /dev/null @@ -1,22 +0,0 @@ -from traits.api import Float - -from force_bdss.ids import mco_parameter_id -from force_bdss.mco.parameters.base_mco_parameter import BaseMCOParameter -from force_bdss.mco.parameters.base_mco_parameter_factory import \ - BaseMCOParameterFactory - - -class RangedMCOParameter(BaseMCOParameter): - """Expresses a MCO parameter that has a range between two floating - point values.""" - initial_value = Float(0.0) - lower_bound = Float(0.0) - upper_bound = Float(1.0) - - -class RangedMCOParameterFactory(BaseMCOParameterFactory): - """The factory of the above model""" - id = mco_parameter_id("enthought", "dummy_dakota", "ranged") - model_class = RangedMCOParameter - name = "Range" - description = "A ranged parameter in floating point values." diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/tests/__init__.py b/force_bdss/core_plugins/dummy/dummy_dakota/tests/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 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 deleted file mode 100644 index 361e4f51944cd6d49688724891ffd0b3becb12ca..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py +++ /dev/null @@ -1,51 +0,0 @@ -import unittest - -from force_bdss.core.data_value import DataValue - -try: - import mock -except ImportError: - from unittest import mock - -from envisage.plugin import Plugin - -from force_bdss.core_plugins.dummy.dummy_dakota.dakota_factory import ( - DummyDakotaFactory) - -from force_bdss.mco.parameters.base_mco_parameter_factory import \ - BaseMCOParameterFactory -from force_bdss.core_plugins.dummy.dummy_dakota.parameters import \ - RangedMCOParameter - - -class TestDakotaCommunicator(unittest.TestCase): - def test_receive_from_mco(self): - factory = DummyDakotaFactory(mock.Mock(spec=Plugin)) - mock_parameter_factory = mock.Mock(spec=BaseMCOParameterFactory) - model = factory.create_model() - model.parameters = [ - RangedMCOParameter(mock_parameter_factory) - ] - comm = factory.create_communicator() - - with mock.patch("sys.stdin") as stdin: - stdin.read.return_value = "1" - - data = comm.receive_from_mco(model) - self.assertIsInstance(data, list) - self.assertEqual(len(data), 1) - self.assertEqual(data[0].value, 1) - self.assertEqual(data[0].type, "") - - def test_send_to_mco(self): - factory = DummyDakotaFactory(mock.Mock(spec=Plugin)) - model = factory.create_model() - comm = factory.create_communicator() - - with mock.patch("sys.stdout") as stdout: - dv = DataValue(value=100) - comm.send_to_mco(model, [dv, dv]) - self.assertEqual(stdout.write.call_args[0][0], '100 100') - - comm.send_to_mco(model, []) - self.assertEqual(stdout.write.call_args[0][0], '') diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_factory.py b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_factory.py deleted file mode 100644 index e9d515a3908b982d1af9a5e38824e0c967af07c6..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_factory.py +++ /dev/null @@ -1,47 +0,0 @@ -import unittest - -from envisage.plugin import Plugin - -from force_bdss.core_plugins.dummy.dummy_dakota.dakota_factory import \ - DummyDakotaFactory -from force_bdss.core_plugins.dummy.dummy_dakota.dakota_model import \ - DummyDakotaModel -from force_bdss.core_plugins.dummy.dummy_dakota.dakota_optimizer import \ - DummyDakotaOptimizer - -try: - import mock -except ImportError: - from unittest import mock - - -class TestDakotaFactory(unittest.TestCase): - def setUp(self): - self.plugin = mock.Mock(spec=Plugin) - - def test_initialization(self): - factory = DummyDakotaFactory(self.plugin) - self.assertIn("dummy_dakota", factory.id) - self.assertEqual(factory.plugin, self.plugin) - - def test_create_model(self): - factory = DummyDakotaFactory(self.plugin) - model = factory.create_model({}) - self.assertIsInstance(model, DummyDakotaModel) - - model = factory.create_model() - self.assertIsInstance(model, DummyDakotaModel) - - def test_create_mco(self): - factory = DummyDakotaFactory(self.plugin) - ds = factory.create_optimizer() - self.assertIsInstance(ds, DummyDakotaOptimizer) - - def test_create_communicator(self): - factory = DummyDakotaFactory(self.plugin) - ds = factory.create_optimizer() - self.assertIsInstance(ds, DummyDakotaOptimizer) - - def test_parameter_factories(self): - factory = DummyDakotaFactory(self.plugin) - self.assertNotEqual(len(factory.parameter_factories()), 0) diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_optimizer.py b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_optimizer.py deleted file mode 100644 index 34e5c186341bde5ce073c99c49d484ce4c9c4068..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_optimizer.py +++ /dev/null @@ -1,50 +0,0 @@ -import unittest - -from force_bdss.core_plugins.dummy.dummy_dakota.parameters import ( - RangedMCOParameter, - RangedMCOParameterFactory -) -from force_bdss.core_plugins.dummy.dummy_dakota.dakota_model import ( - DummyDakotaModel -) -from force_bdss.mco.base_mco_factory import BaseMCOFactory - -try: - import mock -except ImportError: - from unittest import mock - -from force_bdss.core_plugins.dummy.dummy_dakota.dakota_optimizer import \ - DummyDakotaOptimizer - - -class TestDakotaOptimizer(unittest.TestCase): - def setUp(self): - self.factory = mock.Mock(spec=BaseMCOFactory) - self.factory.plugin = mock.Mock() - self.factory.plugin.application = mock.Mock() - self.factory.plugin.application.workflow_filepath = "whatever" - - def test_initialization(self): - opt = DummyDakotaOptimizer(self.factory) - self.assertEqual(opt.factory, self.factory) - - def test_run(self): - opt = DummyDakotaOptimizer(self.factory) - model = DummyDakotaModel(self.factory) - model.parameters = [ - RangedMCOParameter( - mock.Mock(spec=RangedMCOParameterFactory), - lower_bound=1, - upper_bound=3, - initial_value=2) - ] - - mock_process = mock.Mock() - mock_process.communicate = mock.Mock(return_value=(b"1 2 3", b"")) - - with mock.patch("subprocess.Popen") as mock_popen: - mock_popen.return_value = mock_process - opt.run(model) - - self.assertEqual(mock_popen.call_count, 2) diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/__init__.py b/force_bdss/core_plugins/dummy/dummy_data_source/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source.py b/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source.py deleted file mode 100644 index ac4dc61f73b6c3d9f8609187695242e852492172..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source.py +++ /dev/null @@ -1,9 +0,0 @@ -from force_bdss.api import BaseDataSource - - -class DummyDataSource(BaseDataSource): - def run(self, model, parameters): - return parameters - - def slots(self, model): - return (), () diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_factory.py b/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_factory.py deleted file mode 100644 index 9743e72bd8ff86698b2d18d947a9d794e1b5f3df..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_factory.py +++ /dev/null @@ -1,16 +0,0 @@ -from force_bdss.api import BaseDataSourceFactory, factory_id -from .dummy_data_source_model import DummyDataSourceModel -from .dummy_data_source import DummyDataSource - - -class DummyDataSourceFactory(BaseDataSourceFactory): - id = factory_id("enthought", "dummy_data_source") - - def create_model(self, model_data=None): - if model_data is None: - model_data = {} - - return DummyDataSourceModel(self, **model_data) - - def create_data_source(self): - return DummyDataSource(self) diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_model.py b/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_model.py deleted file mode 100644 index a79145f9bd9966a4834edb8ede4e89aa5500cebc..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_model.py +++ /dev/null @@ -1,5 +0,0 @@ -from force_bdss.api import BaseDataSourceModel - - -class DummyDataSourceModel(BaseDataSourceModel): - pass diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/tests/__init__.py b/force_bdss/core_plugins/dummy/dummy_data_source/tests/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source.py b/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source.py deleted file mode 100644 index db0b6e4912ba7dd9eb647463d528dd298a10d9b0..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source.py +++ /dev/null @@ -1,29 +0,0 @@ -import unittest - -from force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source import \ - DummyDataSource -from force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source_model\ - import \ - DummyDataSourceModel -from force_bdss.data_sources.base_data_source_factory import \ - BaseDataSourceFactory - -try: - import mock -except ImportError: - from unittest import mock - - -class TestDummyDataSource(unittest.TestCase): - def setUp(self): - self.factory = mock.Mock(spec=BaseDataSourceFactory) - - def test_initialization(self): - ds = DummyDataSource(self.factory) - self.assertEqual(ds.factory, self.factory) - - def test_slots(self): - ds = DummyDataSource(self.factory) - model = DummyDataSourceModel(self.factory) - slots = ds.slots(model) - self.assertEqual(slots, ((), ())) diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_factory.py b/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_factory.py deleted file mode 100644 index 84e2a9ccf5c1a691bd95701d66263479cf7e7a90..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_factory.py +++ /dev/null @@ -1,25 +0,0 @@ -import unittest - -from force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source import \ - DummyDataSource -from force_bdss.core_plugins.dummy.dummy_data_source\ - .dummy_data_source_factory import DummyDataSourceFactory -from force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source_model\ - import DummyDataSourceModel -from force_bdss.core_plugins.dummy.tests.data_source_factory_test_mixin \ - import DataSourceFactoryTestMixin - - -class TestDummyDataSourceFactory( - DataSourceFactoryTestMixin, unittest.TestCase): - @property - def factory_class(self): - return DummyDataSourceFactory - - @property - def model_class(self): - return DummyDataSourceModel - - @property - def data_source_class(self): - return DummyDataSource diff --git a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/__init__.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 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 deleted file mode 100644 index 3e035cb77ed03c4ccd01960978eca8222f7a26c8..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator.py +++ /dev/null @@ -1,9 +0,0 @@ -from force_bdss.api import BaseKPICalculator - - -class DummyKPICalculator(BaseKPICalculator): - def run(self, model, data_source_results): - return data_source_results - - def slots(self, model): - return (), () diff --git a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_factory.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_factory.py deleted file mode 100644 index 18176e362a03266c344f6d99ecf0c507e40a8443..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_factory.py +++ /dev/null @@ -1,19 +0,0 @@ -from traits.api import String -from force_bdss.api import factory_id, BaseKPICalculatorFactory -from .dummy_kpi_calculator import DummyKPICalculator -from .dummy_kpi_calculator_model import DummyKPICalculatorModel - - -class DummyKPICalculatorFactory(BaseKPICalculatorFactory): - id = String(factory_id("enthought", "dummy_kpi_calculator")) - - name = String("Dummy KPI") - - def create_model(self, model_data=None): - if model_data is None: - model_data = {} - - return DummyKPICalculatorModel(self, **model_data) - - def create_kpi_calculator(self): - return DummyKPICalculator(self) diff --git a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_model.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_model.py deleted file mode 100644 index d72ee3f4556297d5ce718fbfaf6b8e555e018d8d..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_model.py +++ /dev/null @@ -1,5 +0,0 @@ -from force_bdss.api import BaseKPICalculatorModel - - -class DummyKPICalculatorModel(BaseKPICalculatorModel): - pass diff --git a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/__init__.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator.py deleted file mode 100644 index 08aedc3e6f6e58b292276f8bd331efaa6e5e5de2..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator.py +++ /dev/null @@ -1,29 +0,0 @@ -import unittest - -try: - import mock -except ImportError: - from unittest import mock - -from force_bdss.core_plugins.dummy.dummy_kpi_calculator.dummy_kpi_calculator \ - import DummyKPICalculator -from force_bdss.core_plugins.dummy.dummy_kpi_calculator \ - .dummy_kpi_calculator_factory import DummyKPICalculatorFactory -from force_bdss.core_plugins.dummy.dummy_kpi_calculator \ - .dummy_kpi_calculator_model import DummyKPICalculatorModel - - -class TestDummyKPICalculator(unittest.TestCase): - def test_run(self): - factory = mock.Mock(spec=DummyKPICalculatorFactory) - kpic = DummyKPICalculator(factory) - model = DummyKPICalculatorModel(factory) - input_ = [] - output = kpic.run(model, []) - self.assertEqual(input_, output) - - def test_slots(self): - factory = mock.Mock(spec=DummyKPICalculatorFactory) - kpic = DummyKPICalculator(factory) - model = DummyKPICalculatorModel(factory) - self.assertEqual(kpic.slots(model), ((), ())) diff --git a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator_factory.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator_factory.py deleted file mode 100644 index 263611acc9e3c269552462b7dd4f1528dec9e4db..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator_factory.py +++ /dev/null @@ -1,30 +0,0 @@ -import unittest - -from force_bdss.core_plugins.dummy.dummy_kpi_calculator.dummy_kpi_calculator\ - import \ - DummyKPICalculator -from force_bdss.core_plugins.dummy.dummy_kpi_calculator\ - .dummy_kpi_calculator_factory import \ - DummyKPICalculatorFactory -from force_bdss.core_plugins.dummy.dummy_kpi_calculator\ - .dummy_kpi_calculator_model import \ - DummyKPICalculatorModel -from force_bdss.core_plugins.dummy.tests.kpi_calculator_factory_test_mixin \ - import \ - KPICalculatorFactoryTestMixin - - -class TestDummyKPICalculatorFactory( - KPICalculatorFactoryTestMixin, unittest.TestCase): - - @property - def factory_class(self): - return DummyKPICalculatorFactory - - @property - def kpi_calculator_class(self): - return DummyKPICalculator - - @property - def model_class(self): - return DummyKPICalculatorModel diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/__init__.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py deleted file mode 100644 index d8d72417135abc21b32c6483c00f53958e11cf91..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py +++ /dev/null @@ -1,24 +0,0 @@ -from __future__ import print_function - -from force_bdss.api import ( - BaseNotificationListener, - MCOStartEvent, - MCOFinishEvent, - MCOProgressEvent -) - - -class DummyNotificationListener(BaseNotificationListener): - def deliver(self, event): - if isinstance(event, (MCOStartEvent, MCOFinishEvent)): - print(event.__class__.__name__) - elif isinstance(event, MCOProgressEvent): - print(event.__class__.__name__, event.input, event.output) - else: - print(event.__class__.__name__) - - def initialize(self, model): - print("Initializing") - - def finalize(self): - print("Finalizing") diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_factory.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_factory.py deleted file mode 100644 index e8e7c37e202def30541b77353921d087fc97b6d1..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_factory.py +++ /dev/null @@ -1,23 +0,0 @@ -from traits.api import String - -from force_bdss.api import ( - factory_id, - BaseNotificationListenerFactory) - -from .dummy_notification_listener import DummyNotificationListener -from .dummy_notification_listener_model import DummyNotificationListenerModel - - -class DummyNotificationListenerFactory(BaseNotificationListenerFactory): - id = String(factory_id("enthought", "dummy_notification_listener")) - - name = String("Dummy Notification Listener") - - def create_model(self, model_data=None): - if model_data is None: - model_data = {} - - return DummyNotificationListenerModel(self, **model_data) - - def create_listener(self): - return DummyNotificationListener(self) diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_model.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_model.py deleted file mode 100644 index 0e2c5babca7c8b79501fdf064e728a77a5eaebc5..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener_model.py +++ /dev/null @@ -1,5 +0,0 @@ -from force_bdss.api import BaseNotificationListenerModel - - -class DummyNotificationListenerModel(BaseNotificationListenerModel): - pass diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/__init__.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/test_dummy_notification_listener.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/test_dummy_notification_listener.py deleted file mode 100644 index 82741a48cbf9da91e31916eddc5aa17505640bb2..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/test_dummy_notification_listener.py +++ /dev/null @@ -1,37 +0,0 @@ -import unittest - -from force_bdss.api import MCOStartEvent, MCOProgressEvent, MCOFinishEvent -from force_bdss.notification_listeners.base_notification_listener_factory \ - import \ - BaseNotificationListenerFactory -from force_bdss.notification_listeners.base_notification_listener_model \ - import \ - BaseNotificationListenerModel -from force_bdss.tests.utils import captured_output - -try: - import mock -except ImportError: - from unittest import mock - -from force_bdss.core_plugins.dummy.dummy_notification_listener \ - .dummy_notification_listener import \ - DummyNotificationListener - - -class TestDummyNotificationListener(unittest.TestCase): - def test_initialization(self): - listener = DummyNotificationListener( - mock.Mock(spec=BaseNotificationListenerFactory)) - model = mock.Mock(spec=BaseNotificationListenerModel) - with captured_output() as (out, err): - listener.initialize(model) - listener.deliver(MCOStartEvent()) - listener.deliver(MCOProgressEvent()) - listener.deliver(MCOFinishEvent()) - listener.finalize() - - self.assertEqual( - out.getvalue(), - "Initializing\nMCOStartEvent\nMCOProgressEvent () ()\n" - "MCOFinishEvent\nFinalizing\n") diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/test_dummy_notification_listener_factory.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/test_dummy_notification_listener_factory.py deleted file mode 100644 index 10af546d7900afe7559f1cea610b8e744140eee2..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/test_dummy_notification_listener_factory.py +++ /dev/null @@ -1,26 +0,0 @@ - -import unittest - -from envisage.plugin import Plugin - -from force_bdss.core_plugins.dummy.dummy_notification_listener\ - .dummy_notification_listener_factory import \ - DummyNotificationListenerFactory - -try: - import mock -except ImportError: - from unittest import mock - - -class TestDummyNotificationListenerFactory(unittest.TestCase): - def test_create_methods(self): - factory = DummyNotificationListenerFactory(mock.Mock(spec=Plugin)) - model = factory.create_model() - self.assertEqual(model.factory, factory) - - model = factory.create_model({}) - self.assertEqual(model.factory, factory) - - listener = factory.create_listener() - self.assertEqual(listener.factory, factory) diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/test_dummy_notification_listener_model.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/test_dummy_notification_listener_model.py deleted file mode 100644 index 94f3294334377541e7cd08eb30f31cdd5aa18604..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_notification_listener/tests/test_dummy_notification_listener_model.py +++ /dev/null @@ -1,20 +0,0 @@ -import unittest - -from force_bdss.core_plugins.dummy.dummy_notification_listener\ - .dummy_notification_listener_factory import \ - DummyNotificationListenerFactory -from force_bdss.core_plugins.dummy.dummy_notification_listener\ - .dummy_notification_listener_model import \ - DummyNotificationListenerModel - -try: - import mock -except ImportError: - from unittest import mock - - -class TestDummyNotificationListenerModel(unittest.TestCase): - def test_initialization(self): - factory = mock.Mock(spec=DummyNotificationListenerFactory) - model = DummyNotificationListenerModel(factory) - self.assertEqual(model.factory, factory) diff --git a/force_bdss/core_plugins/dummy/dummy_plugin.py b/force_bdss/core_plugins/dummy/dummy_plugin.py deleted file mode 100644 index 766186f03a3330002830dad4c180f9098a88bfe2..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/dummy_plugin.py +++ /dev/null @@ -1,32 +0,0 @@ -from force_bdss.api import BaseExtensionPlugin, plugin_id -from .dummy_notification_listener.dummy_notification_listener_factory import ( - DummyNotificationListenerFactory -) -from .csv_extractor.csv_extractor_factory import CSVExtractorFactory -from .power_evaluator.power_evaluator_factory import PowerEvaluatorFactory -from .kpi_adder.kpi_adder_factory import KPIAdderFactory -from .dummy_dakota.dakota_factory import DummyDakotaFactory -from .dummy_data_source.dummy_data_source_factory import DummyDataSourceFactory -from .dummy_kpi_calculator.dummy_kpi_calculator_factory import ( - DummyKPICalculatorFactory -) - - -class DummyPlugin(BaseExtensionPlugin): - id = plugin_id("enthought", "DummyPlugin") - - def _data_source_factories_default(self): - return [DummyDataSourceFactory(self), - CSVExtractorFactory(self), - PowerEvaluatorFactory(self)] - - def _mco_factories_default(self): - return [DummyDakotaFactory(self)] - - def _kpi_calculator_factories_default(self): - return [DummyKPICalculatorFactory(self), - KPIAdderFactory(self)] - - def _notification_listener_factories_default(self): - return [DummyNotificationListenerFactory(self), - ] diff --git a/force_bdss/core_plugins/dummy/kpi_adder/__init__.py b/force_bdss/core_plugins/dummy/kpi_adder/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 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 deleted file mode 100644 index 793810e6c714a0e7e433355c409fd25ffebe27d9..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_calculator.py +++ /dev/null @@ -1,31 +0,0 @@ -from force_bdss.api import BaseKPICalculator, DataValue -from force_bdss.core.slot import Slot - - -class KPIAdderCalculator(BaseKPICalculator): - def run(self, model, data_source_results): - sum = 0.0 - - for res in data_source_results: - if res.type != model.cuba_type_in: - continue - - sum += res.value - - return [ - DataValue( - type=model.cuba_type_out, - value=sum - )] - - def slots(self, model): - return ( - ( - Slot(type=model.cuba_type_in), - Slot(type=model.cuba_type_in), - Slot(type=model.cuba_type_in), - ), - ( - Slot(type=model.cuba_type_out), - ) - ) diff --git a/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_factory.py b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_factory.py deleted file mode 100644 index f001ff5b719abfc67a6bc2f4b4cf830e27a28709..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_factory.py +++ /dev/null @@ -1,21 +0,0 @@ -from traits.api import String - -from force_bdss.api import factory_id, BaseKPICalculatorFactory - -from .kpi_adder_model import KPIAdderModel -from .kpi_adder_calculator import KPIAdderCalculator - - -class KPIAdderFactory(BaseKPICalculatorFactory): - id = String(factory_id("enthought", "kpi_adder")) - - name = String("KPI Adder") - - def create_model(self, model_data=None): - if model_data is None: - model_data = {} - - return KPIAdderModel(self, **model_data) - - def create_kpi_calculator(self): - return KPIAdderCalculator(self) diff --git a/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_model.py b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_model.py deleted file mode 100644 index cf8d0e3eda867c5b92f4e9a3839145f3375b494a..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_model.py +++ /dev/null @@ -1,12 +0,0 @@ -from traits.api import String, on_trait_change - -from force_bdss.api import BaseKPICalculatorModel - - -class KPIAdderModel(BaseKPICalculatorModel): - cuba_type_in = String() - cuba_type_out = String() - - @on_trait_change("cuba_type_in,cuba_type_out") - def _notify_slots_changed(self): - self.changes_slots = True diff --git a/force_bdss/core_plugins/dummy/kpi_adder/tests/__init__.py b/force_bdss/core_plugins/dummy/kpi_adder/tests/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_calculator.py b/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_calculator.py deleted file mode 100644 index d12f68990f72a2534405b6b93423f1daae7c7c0b..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_calculator.py +++ /dev/null @@ -1,35 +0,0 @@ -import unittest - -from force_bdss.core.data_value import DataValue -from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_model import \ - KPIAdderModel -from force_bdss.kpi.base_kpi_calculator_factory import BaseKPICalculatorFactory - -try: - import mock -except ImportError: - from unittest import mock - -from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_calculator import \ - KPIAdderCalculator - - -class TestKPIAdderCalculator(unittest.TestCase): - def test_basic_functionality(self): - kpic = KPIAdderCalculator(mock.Mock(spec=BaseKPICalculatorFactory)) - model = KPIAdderModel(mock.Mock(spec=BaseKPICalculatorFactory)) - model.cuba_type_in = "PRESSURE" - model.cuba_type_out = "TOTAL_PRESSURE" - dv1 = DataValue(type="PRESSURE", value=10) - dv2 = DataValue(type="PRESSURE", value=30) - dv3 = DataValue(type="VOLUME", value=100) - res = kpic.run(model, [dv1, dv2, dv3]) - self.assertEqual(res[0].type, "TOTAL_PRESSURE") - self.assertEqual(res[0].value, 40) - - def test_slots(self): - kpic = KPIAdderCalculator(mock.Mock(spec=BaseKPICalculatorFactory)) - model = KPIAdderModel(mock.Mock(spec=BaseKPICalculatorFactory)) - in_slot, out_slot = kpic.slots(model) - self.assertEqual(len(in_slot), 3) - self.assertEqual(len(out_slot), 1) diff --git a/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_factory.py b/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_factory.py deleted file mode 100644 index ee5d96488a3ce505a6f792982c8ebf4c7ec2c976..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_factory.py +++ /dev/null @@ -1,27 +0,0 @@ -import unittest - -from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_factory import \ - KPIAdderFactory -from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_calculator import \ - KPIAdderCalculator -from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_model import \ - KPIAdderModel -from force_bdss.core_plugins.dummy.tests.kpi_calculator_factory_test_mixin \ - import \ - KPICalculatorFactoryTestMixin - - -class TestDummyKPICalculatorFactory( - KPICalculatorFactoryTestMixin, unittest.TestCase): - - @property - def factory_class(self): - return KPIAdderFactory - - @property - def kpi_calculator_class(self): - return KPIAdderCalculator - - @property - def model_class(self): - return KPIAdderModel diff --git a/force_bdss/core_plugins/dummy/power_evaluator/__init__.py b/force_bdss/core_plugins/dummy/power_evaluator/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/power_evaluator/power_evaluator_data_source.py b/force_bdss/core_plugins/dummy/power_evaluator/power_evaluator_data_source.py deleted file mode 100644 index d8eb722ea6e3f485d3311d869a4709b2cdc5d3cb..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/power_evaluator/power_evaluator_data_source.py +++ /dev/null @@ -1,24 +0,0 @@ -import math - -from force_bdss.api import BaseDataSource, DataValue -from force_bdss.core.slot import Slot - - -class PowerEvaluatorDataSource(BaseDataSource): - def run(self, model, parameters): - x = parameters[0].value - return [ - DataValue( - type=model.cuba_type_out, - value=math.pow(x, model.power) - )] - - def slots(self, model): - return ( - ( - Slot(type=model.cuba_type_in), - ), - ( - Slot(type=model.cuba_type_out), - ) - ) diff --git a/force_bdss/core_plugins/dummy/power_evaluator/power_evaluator_factory.py b/force_bdss/core_plugins/dummy/power_evaluator/power_evaluator_factory.py deleted file mode 100644 index ebd3aacf8fcd9b6a5e229756ad64a13ce9d97087..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/power_evaluator/power_evaluator_factory.py +++ /dev/null @@ -1,21 +0,0 @@ -from traits.api import String - -from force_bdss.api import factory_id, BaseDataSourceFactory - -from .power_evaluator_model import PowerEvaluatorModel -from .power_evaluator_data_source import PowerEvaluatorDataSource - - -class PowerEvaluatorFactory(BaseDataSourceFactory): - id = String(factory_id("enthought", "power_evaluator")) - - name = String("Power Evaluator") - - def create_model(self, model_data=None): - if model_data is None: - model_data = {} - - return PowerEvaluatorModel(self, **model_data) - - def create_data_source(self): - return PowerEvaluatorDataSource(self) diff --git a/force_bdss/core_plugins/dummy/power_evaluator/power_evaluator_model.py b/force_bdss/core_plugins/dummy/power_evaluator/power_evaluator_model.py deleted file mode 100644 index 14a2efcdb09959339213906051933ce303f18850..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/power_evaluator/power_evaluator_model.py +++ /dev/null @@ -1,13 +0,0 @@ -from traits.api import Float, String, on_trait_change - -from force_bdss.api import BaseDataSourceModel - - -class PowerEvaluatorModel(BaseDataSourceModel): - power = Float(1.0) - cuba_type_in = String() - cuba_type_out = String() - - @on_trait_change("cuba_type_in,cuba_type_out") - def _notify_changes_slots(self): - self.changes_slots = True diff --git a/force_bdss/core_plugins/dummy/power_evaluator/tests/__init__.py b/force_bdss/core_plugins/dummy/power_evaluator/tests/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/power_evaluator/tests/test_power_evaluator_data_source.py b/force_bdss/core_plugins/dummy/power_evaluator/tests/test_power_evaluator_data_source.py deleted file mode 100644 index f4d35ac929110d6a3ee513c62a1580f72aeaba04..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/power_evaluator/tests/test_power_evaluator_data_source.py +++ /dev/null @@ -1,57 +0,0 @@ -import unittest - -from force_bdss.core.data_value import DataValue -from force_bdss.core.slot import Slot -from force_bdss.core_plugins.dummy.power_evaluator.power_evaluator_data_source import PowerEvaluatorDataSource # noqa -from force_bdss.core_plugins.dummy.power_evaluator.power_evaluator_model import PowerEvaluatorModel # noqa -from force_bdss.data_sources.base_data_source_factory import \ - BaseDataSourceFactory - -try: - import mock -except ImportError: - from unittest import mock - - -class TestPowerEvaluatorDataSource(unittest.TestCase): - def setUp(self): - self.factory = mock.Mock(spec=BaseDataSourceFactory) - - def test_initialization(self): - ds = PowerEvaluatorDataSource(self.factory) - self.assertEqual(ds.factory, self.factory) - - def test_run(self): - ds = PowerEvaluatorDataSource(self.factory) - model = PowerEvaluatorModel(self.factory) - model.power = 2 - mock_params = [DataValue(value=5, type="METER")] - result = ds.run(model, mock_params) - self.assertIsInstance(result, list) - self.assertEqual(len(result), 1) - self.assertIsInstance(result[0], DataValue) - self.assertEqual(result[0].value, 25) - - def test_run_with_exception(self): - ds = PowerEvaluatorDataSource(self.factory) - model = PowerEvaluatorModel(self.factory) - mock_params = [] - model.power = 3 - with self.assertRaises(IndexError): - ds.run(model, mock_params) - - def test_slots(self): - ds = PowerEvaluatorDataSource(self.factory) - model = PowerEvaluatorModel(self.factory) - slots = ds.slots(model) - self.assertEqual(len(slots), 2) - self.assertEqual(len(slots[0]), 1) - self.assertEqual(len(slots[1]), 1) - self.assertIsInstance(slots[0][0], Slot) - self.assertIsInstance(slots[1][0], Slot) - - model.cuba_type_in = 'METER' - model.cuba_type_out = 'METER' - slots = ds.slots(model) - self.assertEqual(slots[0][0].type, 'METER') - self.assertEqual(slots[1][0].type, 'METER') diff --git a/force_bdss/core_plugins/dummy/power_evaluator/tests/test_power_evaluator_factory.py b/force_bdss/core_plugins/dummy/power_evaluator/tests/test_power_evaluator_factory.py deleted file mode 100644 index 5df8c8f9e796042aaa8a8e0b8c4bd4500dfe4ea3..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/power_evaluator/tests/test_power_evaluator_factory.py +++ /dev/null @@ -1,22 +0,0 @@ -import unittest - -from force_bdss.core_plugins.dummy.tests.data_source_factory_test_mixin \ - import DataSourceFactoryTestMixin -from force_bdss.core_plugins.dummy.power_evaluator.power_evaluator_factory import PowerEvaluatorFactory # noqa -from force_bdss.core_plugins.dummy.power_evaluator.power_evaluator_data_source import PowerEvaluatorDataSource # noqa -from force_bdss.core_plugins.dummy.power_evaluator.power_evaluator_model import PowerEvaluatorModel # noqa - - -class TestPowerEvaluatorFactory(DataSourceFactoryTestMixin, - unittest.TestCase): - @property - def factory_class(self): - return PowerEvaluatorFactory - - @property - def model_class(self): - return PowerEvaluatorModel - - @property - def data_source_class(self): - return PowerEvaluatorDataSource diff --git a/force_bdss/core_plugins/dummy/tests/__init__.py b/force_bdss/core_plugins/dummy/tests/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy/tests/data_source_factory_test_mixin.py b/force_bdss/core_plugins/dummy/tests/data_source_factory_test_mixin.py deleted file mode 100644 index 21aeb4a27ccee69e21d4f6e458f8a90866699ac5..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/tests/data_source_factory_test_mixin.py +++ /dev/null @@ -1,44 +0,0 @@ -from envisage.plugin import Plugin - -try: - import mock -except ImportError: - from unittest import mock - - -class DataSourceFactoryTestMixin(object): - def setUp(self): - self.plugin = mock.Mock(spec=Plugin) - super(DataSourceFactoryTestMixin, self).setUp() - - # Note: we can't use metaclasses. Apparently using six.with_metaclass - # breaks the unittest TestCase mechanism. py3 metaclassing works. - @property - def factory_class(self): - raise NotImplementedError() - - @property - def model_class(self): - raise NotImplementedError() - - @property - def data_source_class(self): - raise NotImplementedError() - - def test_initialization(self): - factory = self.factory_class(self.plugin) - self.assertNotEqual(factory.id, "") - self.assertEqual(factory.plugin, self.plugin) - - def test_create_model(self): - factory = self.factory_class(self.plugin) - model = factory.create_model({}) - self.assertIsInstance(model, self.model_class) - - model = factory.create_model() - self.assertIsInstance(model, self.model_class) - - def test_create_data_source(self): - factory = self.factory_class(self.plugin) - ds = factory.create_data_source() - self.assertIsInstance(ds, self.data_source_class) diff --git a/force_bdss/core_plugins/dummy/tests/kpi_calculator_factory_test_mixin.py b/force_bdss/core_plugins/dummy/tests/kpi_calculator_factory_test_mixin.py deleted file mode 100644 index 9cc48275302d03a0d2785d9dac8624630d597f7d..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/tests/kpi_calculator_factory_test_mixin.py +++ /dev/null @@ -1,42 +0,0 @@ -try: - import mock -except ImportError: - from unittest import mock - -from envisage.api import Plugin - - -class KPICalculatorFactoryTestMixin(object): - def setUp(self): - self.plugin = mock.Mock(spec=Plugin) - super(KPICalculatorFactoryTestMixin, self).setUp() - - @property - def factory_class(self): - raise NotImplementedError() - - @property - def model_class(self): - raise NotImplementedError() - - @property - def kpi_calculator_class(self): - raise NotImplementedError() - - def test_initialization(self): - factory = self.factory_class(self.plugin) - self.assertNotEqual(factory.id, "") - self.assertEqual(factory.plugin, self.plugin) - - def test_create_model(self): - factory = self.factory_class(self.plugin) - model = factory.create_model({}) - self.assertIsInstance(model, self.model_class) - - model = factory.create_model() - self.assertIsInstance(model, self.model_class) - - def test_create_kpi_calculator(self): - factory = self.factory_class(self.plugin) - ds = factory.create_kpi_calculator() - self.assertIsInstance(ds, self.kpi_calculator_class) diff --git a/force_bdss/core_plugins/dummy/tests/test_direct_execution.py b/force_bdss/core_plugins/dummy/tests/test_direct_execution.py deleted file mode 100644 index b0f34b63318eb18f32cc6633230842f61a7177b3..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy/tests/test_direct_execution.py +++ /dev/null @@ -1,61 +0,0 @@ -import unittest -from traits.api import List - -from envisage.application import Application - -from force_bdss.factory_registry_plugin import FactoryRegistryPlugin -from force_bdss.cli.tests.test_execution import cd - -try: - import mock -except ImportError: - from unittest import mock - -from force_bdss.core_evaluation_driver import CoreEvaluationDriver -from force_bdss.core_plugins.dummy.dummy_plugin import DummyPlugin -from force_bdss.tests import fixtures - - -class DummyFactoryRegistryPlugin(FactoryRegistryPlugin): - mco_factories = List() - kpi_calculator_factories = List() - data_source_factories = List() - notification_listener_factories = List() - - -def mock_factory_registry_plugin(): - plugin = DummyPlugin() - factory_registry_plugin = DummyFactoryRegistryPlugin() - factory_registry_plugin.mco_factories = plugin.mco_factories - factory_registry_plugin.kpi_calculator_factories = \ - plugin.kpi_calculator_factories - factory_registry_plugin.data_source_factories = \ - plugin.data_source_factories - factory_registry_plugin.notification_listener_factories = \ - plugin.notification_listener_factories - return factory_registry_plugin - - -class TestDirectExecution(unittest.TestCase): - def setUp(self): - self.mock_factory_registry_plugin = mock_factory_registry_plugin() - application = mock.Mock(spec=Application) - application.get_plugin = mock.Mock( - return_value=self.mock_factory_registry_plugin - ) - application.workflow_filepath = fixtures.get("test_csv.json") - self.mock_application = application - - def test_initialization(self): - driver = CoreEvaluationDriver( - application=self.mock_application, - ) - with cd(fixtures.dirpath()), \ - mock.patch("sys.stdin") as stdin, \ - mock.patch("sys.stdout") as stdout: - - stdin.read.return_value = "1" - driver.application_started() - write_args = stdout.write.call_args - - self.assertEqual(write_args[0][0], "85.0") diff --git a/force_bdss/tests/probe_classes/mco.py b/force_bdss/tests/probe_classes/mco.py index 89c2c2f12537dc69b256d21258133d8d3cdd7094..369048452513afd0c0b2d8d096f1a7f0082e4c30 100644 --- a/force_bdss/tests/probe_classes/mco.py +++ b/force_bdss/tests/probe_classes/mco.py @@ -1,4 +1,4 @@ -from traits.api import Str, Type, Bool, Int, Function +from traits.api import Str, Type, Bool, Int, Function, List from force_bdss.ids import mco_parameter_id, factory_id from force_bdss.core.data_value import DataValue @@ -31,7 +31,7 @@ class ProbeParameter(BaseMCOParameter): pass -class RangedParameterFactory(BaseMCOParameterFactory): +class ProbeParameterFactory(BaseMCOParameterFactory): id = Str(mco_parameter_id("enthought", "test_mco", "test")) model_class = Type(ProbeParameter) @@ -62,6 +62,8 @@ class ProbeMCOFactory(BaseMCOFactory): mco_class = Type(ProbeMCO) + probe_parameter_factories = List(Type(ProbeParameterFactory)) + nb_output_data_values = Int(0) def create_model(self, model_data=None): diff --git a/setup.py b/setup.py index 98309fea96f60e657927d47f03738ff2d052db01..398cc334c522a7a69aa393142a0b26b7548841e2 100644 --- a/setup.py +++ b/setup.py @@ -28,9 +28,6 @@ setup( 'console_scripts': [ 'force_bdss = force_bdss.cli.force_bdss:run', ], - "force.bdss.extensions": [ - "dummy = force_bdss.core_plugins.dummy.dummy_plugin:DummyPlugin", - ] }, packages=find_packages(), install_requires=[