diff --git a/force_bdss/core_plugins/dummy/csv_extractor/tests/__init__.py b/force_bdss/core_plugins/dummy/csv_extractor/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_bundle.py b/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_bundle.py new file mode 100644 index 0000000000000000000000000000000000000000..b5a563f889a698c349918bccd5b38f30dd445a20 --- /dev/null +++ b/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_bundle.py @@ -0,0 +1,24 @@ +import unittest + +from force_bdss.core_plugins.dummy.tests.data_source_bundle_test_mixin import \ + DataSourceBundleTestMixin +from force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_bundle import \ + CSVExtractorBundle +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 TestCSVExtractorBundle(DataSourceBundleTestMixin, unittest.TestCase): + @property + def bundle_class(self): + return CSVExtractorBundle + + @property + def model_class(self): + return CSVExtractorModel + + @property + def data_source_class(self): + return CSVExtractorDataSource 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 new file mode 100644 index 0000000000000000000000000000000000000000..1be1beb2559ce8aaa208b6bad69ba94718cb7b4a --- /dev/null +++ b/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py @@ -0,0 +1,33 @@ +import unittest + +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: + import mock +except ImportError: + from unittest import mock + + +class TestCSVExtractorDataSource(unittest.TestCase): + def setUp(self): + self.bundle = mock.Mock(spec=BaseDataSourceBundle) + + def test_initialization(self): + ds = CSVExtractorDataSource(self.bundle) + self.assertEqual(ds.bundle, self.bundle) + + def test_run(self): + ds = CSVExtractorDataSource(self.bundle) + model = CSVExtractorModel(self.bundle) + model.filename = fixtures.get("foo.csv") + mock_params = mock.Mock() + mock_params.values = [1.0] + result = ds.run(model, mock_params) + self.assertIsInstance(result, DataSourceResult) diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/tests/__init__.py b/force_bdss/core_plugins/dummy/dummy_dakota/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_bundle.py b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_bundle.py new file mode 100644 index 0000000000000000000000000000000000000000..b455c6d08d6e21659b0cb2346a41823b505f8c74 --- /dev/null +++ b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_bundle.py @@ -0,0 +1,43 @@ +import unittest + +from envisage.plugin import Plugin + +from force_bdss.core_plugins.dummy.dummy_dakota.dakota_bundle import \ + DummyDakotaBundle +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 TestDakotaBundle(unittest.TestCase): + def setUp(self): + self.plugin = mock.Mock(spec=Plugin) + + def test_initialization(self): + bundle = DummyDakotaBundle(self.plugin) + self.assertIn("dummy_dakota", bundle.id) + self.assertEqual(bundle.plugin, self.plugin) + + def test_create_model(self): + bundle = DummyDakotaBundle(self.plugin) + model = bundle.create_model({}) + self.assertIsInstance(model, DummyDakotaModel) + + model = bundle.create_model() + self.assertIsInstance(model, DummyDakotaModel) + + def test_create_mco(self): + bundle = DummyDakotaBundle(self.plugin) + ds = bundle.create_optimizer() + self.assertIsInstance(ds, DummyDakotaOptimizer) + + def test_create_communicator(self): + bundle = DummyDakotaBundle(self.plugin) + ds = bundle.create_optimizer() + self.assertIsInstance(ds, DummyDakotaOptimizer) 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 new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 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 new file mode 100644 index 0000000000000000000000000000000000000000..a77e99a6f1b2730222a73ad6d369beb071f8151b --- /dev/null +++ b/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source.py @@ -0,0 +1,19 @@ +import unittest + +from force_bdss.data_sources.base_data_source_bundle import \ + BaseDataSourceBundle +from force_bdss.data_sources.tests.test_base_data_source import DummyDataSource + +try: + import mock +except ImportError: + from unittest import mock + + +class TestDummyDataSource(unittest.TestCase): + def setUp(self): + self.bundle = mock.Mock(spec=BaseDataSourceBundle) + + def test_initialization(self): + ds = DummyDataSource(self.bundle) + self.assertEqual(ds.bundle, self.bundle) diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_bundle.py b/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_bundle.py new file mode 100644 index 0000000000000000000000000000000000000000..617c4edfd73c77c2144f30e04d4473a0eadd4a22 --- /dev/null +++ b/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_bundle.py @@ -0,0 +1,24 @@ +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_bundle import DummyDataSourceBundle +from force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source_model\ + import DummyDataSourceModel +from force_bdss.core_plugins.dummy.tests.data_source_bundle_test_mixin import \ + DataSourceBundleTestMixin + + +class TestDummyDataSourceBundle(DataSourceBundleTestMixin, unittest.TestCase): + @property + def bundle_class(self): + return DummyDataSourceBundle + + @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/tests/__init__.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/force_bdss/core_plugins/dummy/kpi_adder/tests/__init__.py b/force_bdss/core_plugins/dummy/kpi_adder/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/force_bdss/core_plugins/dummy/tests/__init__.py b/force_bdss/core_plugins/dummy/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/force_bdss/core_plugins/dummy/tests/data_source_bundle_test_mixin.py b/force_bdss/core_plugins/dummy/tests/data_source_bundle_test_mixin.py new file mode 100644 index 0000000000000000000000000000000000000000..011a2b3f99f00b176810426b2687942092778fe7 --- /dev/null +++ b/force_bdss/core_plugins/dummy/tests/data_source_bundle_test_mixin.py @@ -0,0 +1,44 @@ +from envisage.plugin import Plugin + +try: + import mock +except ImportError: + from unittest import mock + + +class DataSourceBundleTestMixin(object): + def setUp(self): + self.plugin = mock.Mock(spec=Plugin) + super(DataSourceBundleTestMixin, self).setUp() + + # Note: we can't use metaclasses. Apparently using six.with_metaclass + # breaks the unittest TestCase mechanism. py3 metaclassing works. + @property + def bundle_class(self): + raise NotImplementedError() + + @property + def model_class(self): + raise NotImplementedError() + + @property + def data_source_class(self): + raise NotImplementedError() + + def test_initialization(self): + bundle = self.bundle_class(self.plugin) + self.assertNotEqual(bundle.id, "") + self.assertEqual(bundle.plugin, self.plugin) + + def test_create_model(self): + bundle = self.bundle_class(self.plugin) + model = bundle.create_model({}) + self.assertIsInstance(model, self.model_class) + + model = bundle.create_model() + self.assertIsInstance(model, self.model_class) + + def test_create_data_source(self): + bundle = self.bundle_class(self.plugin) + ds = bundle.create_data_source() + self.assertIsInstance(ds, self.data_source_class)