From 0df633d95589d1f0306af5b5e6fe75a73c1bc60c Mon Sep 17 00:00:00 2001 From: Stefano Borini <sborini@enthought.com> Date: Fri, 28 Jul 2017 10:30:55 +0100 Subject: [PATCH] Increase coverage --- .../dummy/csv_extractor/tests/__init__.py | 0 .../tests/test_csv_extractor_bundle.py | 24 ++++++++++ .../tests/test_csv_extractor_data_source.py | 33 ++++++++++++++ .../dummy/dummy_dakota/tests/__init__.py | 0 .../dummy_dakota/tests/test_dakota_bundle.py | 43 ++++++++++++++++++ .../dummy/dummy_data_source/tests/__init__.py | 0 .../tests/test_dummy_data_source.py | 19 ++++++++ .../tests/test_dummy_data_source_bundle.py | 24 ++++++++++ .../dummy_kpi_calculator/tests/__init__.py | 0 .../dummy/kpi_adder/tests/__init__.py | 0 .../core_plugins/dummy/tests/__init__.py | 0 .../tests/data_source_bundle_test_mixin.py | 44 +++++++++++++++++++ 12 files changed, 187 insertions(+) create mode 100644 force_bdss/core_plugins/dummy/csv_extractor/tests/__init__.py create mode 100644 force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_bundle.py create mode 100644 force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py create mode 100644 force_bdss/core_plugins/dummy/dummy_dakota/tests/__init__.py create mode 100644 force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_bundle.py create mode 100644 force_bdss/core_plugins/dummy/dummy_data_source/tests/__init__.py create mode 100644 force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source.py create mode 100644 force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_bundle.py create mode 100644 force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/__init__.py create mode 100644 force_bdss/core_plugins/dummy/kpi_adder/tests/__init__.py create mode 100644 force_bdss/core_plugins/dummy/tests/__init__.py create mode 100644 force_bdss/core_plugins/dummy/tests/data_source_bundle_test_mixin.py 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 0000000..e69de29 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 0000000..b5a563f --- /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 0000000..1be1beb --- /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 0000000..e69de29 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 0000000..b455c6d --- /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 0000000..e69de29 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 0000000..a77e99a --- /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 0000000..617c4ed --- /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 0000000..e69de29 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 0000000..e69de29 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 0000000..e69de29 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 0000000..011a2b3 --- /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) -- GitLab