diff --git a/doc/source/api/force_bdss.core_plugins.dummy.csv_extractor.rst b/doc/source/api/force_bdss.core_plugins.dummy.csv_extractor.rst deleted file mode 100644 index 42bd5aeb3e66f886afce795c6b6263cef236955d..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.csv_extractor.rst +++ /dev/null @@ -1,45 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.csv\_extractor package -========================================================= - -Subpackages ------------ - -.. toctree:: - - force_bdss.core_plugins.dummy.csv_extractor.tests - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.csv\_extractor\.csv\_extractor\_data\_source module --------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_data_source - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.csv\_extractor\.csv\_extractor\_factory module ---------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_factory - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.csv\_extractor\.csv\_extractor\_model module -------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_model - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.csv_extractor - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.csv_extractor.tests.rst b/doc/source/api/force_bdss.core_plugins.dummy.csv_extractor.tests.rst deleted file mode 100644 index d1f1dff383e786f01fe04283564f6db5cd410b85..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.csv_extractor.tests.rst +++ /dev/null @@ -1,30 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.csv\_extractor\.tests package -================================================================ - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.csv\_extractor\.tests\.test\_csv\_extractor\_data\_source module ---------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.csv_extractor.tests.test_csv_extractor_data_source - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.csv\_extractor\.tests\.test\_csv\_extractor\_factory module ----------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.csv_extractor.tests.test_csv_extractor_factory - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.csv_extractor.tests - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.dummy_dakota.rst b/doc/source/api/force_bdss.core_plugins.dummy.dummy_dakota.rst deleted file mode 100644 index 6092e644d113891668713407b6415b7b7269c58f..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.dummy_dakota.rst +++ /dev/null @@ -1,61 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.dummy\_dakota package -======================================================== - -Subpackages ------------ - -.. toctree:: - - force_bdss.core_plugins.dummy.dummy_dakota.tests - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.dummy\_dakota\.dakota\_communicator module ------------------------------------------------------------------------------ - -.. automodule:: force_bdss.core_plugins.dummy.dummy_dakota.dakota_communicator - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_dakota\.dakota\_factory module ------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_dakota.dakota_factory - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_dakota\.dakota\_model module ----------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_dakota.dakota_model - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_dakota\.dakota\_optimizer module --------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_dakota.dakota_optimizer - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_dakota\.parameters module -------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_dakota.parameters - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_dakota - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.dummy_dakota.tests.rst b/doc/source/api/force_bdss.core_plugins.dummy.dummy_dakota.tests.rst deleted file mode 100644 index 1982bc3830431453920de51ca442726e6b0b8444..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.dummy_dakota.tests.rst +++ /dev/null @@ -1,38 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.dummy\_dakota\.tests package -=============================================================== - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.dummy\_dakota\.tests\.test\_dakota\_communicator module ------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_dakota.tests.test_dakota_communicator - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_dakota\.tests\.test\_dakota\_factory module -------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_dakota.tests.test_dakota_factory - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_dakota\.tests\.test\_dakota\_optimizer module ---------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_dakota.tests.test_dakota_optimizer - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_dakota.tests - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.dummy_data_source.rst b/doc/source/api/force_bdss.core_plugins.dummy.dummy_data_source.rst deleted file mode 100644 index 1f144b3a36e8b7144f4960ddf95df6bd8039d4bb..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.dummy_data_source.rst +++ /dev/null @@ -1,45 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.dummy\_data\_source package -============================================================== - -Subpackages ------------ - -.. toctree:: - - force_bdss.core_plugins.dummy.dummy_data_source.tests - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.dummy\_data\_source\.dummy\_data\_source module ----------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_data\_source\.dummy\_data\_source\_factory module -------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source_factory - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_data\_source\.dummy\_data\_source\_model module ------------------------------------------------------------------------------------------ - -.. automodule:: force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source_model - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_data_source - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.dummy_data_source.tests.rst b/doc/source/api/force_bdss.core_plugins.dummy.dummy_data_source.tests.rst deleted file mode 100644 index f41ad6161fc216ac23ea4edc2cb443c81c686fc2..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.dummy_data_source.tests.rst +++ /dev/null @@ -1,30 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.dummy\_data\_source\.tests package -===================================================================== - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.dummy\_data\_source\.tests\.test\_dummy\_data\_source module ------------------------------------------------------------------------------------------------ - -.. automodule:: force_bdss.core_plugins.dummy.dummy_data_source.tests.test_dummy_data_source - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_data\_source\.tests\.test\_dummy\_data\_source\_factory module --------------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_data_source.tests.test_dummy_data_source_factory - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_data_source.tests - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.dummy_kpi_calculator.rst b/doc/source/api/force_bdss.core_plugins.dummy.dummy_kpi_calculator.rst deleted file mode 100644 index 421db22ab8d35b7bb5c25f9d3a6bee716a7a9e1a..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.dummy_kpi_calculator.rst +++ /dev/null @@ -1,45 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.dummy\_kpi\_calculator package -================================================================= - -Subpackages ------------ - -.. toctree:: - - force_bdss.core_plugins.dummy.dummy_kpi_calculator.tests - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.dummy\_kpi\_calculator\.dummy\_kpi\_calculator module ----------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_kpi_calculator.dummy_kpi_calculator - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_kpi\_calculator\.dummy\_kpi\_calculator\_factory module -------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_kpi_calculator.dummy_kpi_calculator_factory - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_kpi\_calculator\.dummy\_kpi\_calculator\_model module ------------------------------------------------------------------------------------------------ - -.. automodule:: force_bdss.core_plugins.dummy.dummy_kpi_calculator.dummy_kpi_calculator_model - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_kpi_calculator - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.dummy_kpi_calculator.tests.rst b/doc/source/api/force_bdss.core_plugins.dummy.dummy_kpi_calculator.tests.rst deleted file mode 100644 index 1b91f02857b5e94760007256a5d2a387a603f64b..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.dummy_kpi_calculator.tests.rst +++ /dev/null @@ -1,30 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.dummy\_kpi\_calculator\.tests package -======================================================================== - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.dummy\_kpi\_calculator\.tests\.test\_dummy\_kpi\_calculator module ------------------------------------------------------------------------------------------------------ - -.. automodule:: force_bdss.core_plugins.dummy.dummy_kpi_calculator.tests.test_dummy_kpi_calculator - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_kpi\_calculator\.tests\.test\_dummy\_kpi\_calculator\_factory module --------------------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_kpi_calculator.tests.test_dummy_kpi_calculator_factory - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_kpi_calculator.tests - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.dummy_notification_listener.rst b/doc/source/api/force_bdss.core_plugins.dummy.dummy_notification_listener.rst deleted file mode 100644 index ba025ccb2cd742b0a78c972c5dc0cde819bf681b..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.dummy_notification_listener.rst +++ /dev/null @@ -1,45 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.dummy\_notification\_listener package -======================================================================== - -Subpackages ------------ - -.. toctree:: - - force_bdss.core_plugins.dummy.dummy_notification_listener.tests - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.dummy\_notification\_listener\.dummy\_notification\_listener module ------------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_notification_listener.dummy_notification_listener - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_notification\_listener\.dummy\_notification\_listener\_factory module ---------------------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_notification_listener.dummy_notification_listener_factory - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_notification\_listener\.dummy\_notification\_listener\_model module -------------------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_notification_listener.dummy_notification_listener_model - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_notification_listener - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.dummy_notification_listener.tests.rst b/doc/source/api/force_bdss.core_plugins.dummy.dummy_notification_listener.tests.rst deleted file mode 100644 index 6cdd3cfb2883620aed7b76ad3f57a8ed3052982c..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.dummy_notification_listener.tests.rst +++ /dev/null @@ -1,38 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.dummy\_notification\_listener\.tests package -=============================================================================== - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.dummy\_notification\_listener\.tests\.test\_dummy\_notification\_listener module -------------------------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_notification_listener.tests.test_dummy_notification_listener - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_notification\_listener\.tests\.test\_dummy\_notification\_listener\_factory module ----------------------------------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_notification_listener.tests.test_dummy_notification_listener_factory - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.dummy\_notification\_listener\.tests\.test\_dummy\_notification\_listener\_model module --------------------------------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_notification_listener.tests.test_dummy_notification_listener_model - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_notification_listener.tests - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.kpi_adder.rst b/doc/source/api/force_bdss.core_plugins.dummy.kpi_adder.rst deleted file mode 100644 index 6167c3fa1dda8df9a20fa7c589ca235ed0626a3c..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.kpi_adder.rst +++ /dev/null @@ -1,45 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.kpi\_adder package -===================================================== - -Subpackages ------------ - -.. toctree:: - - force_bdss.core_plugins.dummy.kpi_adder.tests - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.kpi\_adder\.kpi\_adder\_calculator module ----------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_calculator - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.kpi\_adder\.kpi\_adder\_factory module -------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_factory - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.kpi\_adder\.kpi\_adder\_model module ------------------------------------------------------------------------ - -.. automodule:: force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_model - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.kpi_adder - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.kpi_adder.tests.rst b/doc/source/api/force_bdss.core_plugins.dummy.kpi_adder.tests.rst deleted file mode 100644 index 4412e8305e7018f5ebe2937df8330fbeb5d19e5a..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.kpi_adder.tests.rst +++ /dev/null @@ -1,30 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.kpi\_adder\.tests package -============================================================ - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.kpi\_adder\.tests\.test\_kpi\_adder\_calculator module ------------------------------------------------------------------------------------------ - -.. automodule:: force_bdss.core_plugins.dummy.kpi_adder.tests.test_kpi_adder_calculator - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.kpi\_adder\.tests\.test\_kpi\_adder\_factory module --------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.kpi_adder.tests.test_kpi_adder_factory - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.kpi_adder.tests - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.power_evaluator.rst b/doc/source/api/force_bdss.core_plugins.dummy.power_evaluator.rst deleted file mode 100644 index 6313c008200eeb92b48d6be5fe6effe04d213588..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.power_evaluator.rst +++ /dev/null @@ -1,45 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.power\_evaluator package -=========================================================== - -Subpackages ------------ - -.. toctree:: - - force_bdss.core_plugins.dummy.power_evaluator.tests - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.power\_evaluator\.power\_evaluator\_data\_source module ------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.power_evaluator.power_evaluator_data_source - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.power\_evaluator\.power\_evaluator\_factory module -------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.power_evaluator.power_evaluator_factory - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.power\_evaluator\.power\_evaluator\_model module ------------------------------------------------------------------------------------ - -.. automodule:: force_bdss.core_plugins.dummy.power_evaluator.power_evaluator_model - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.power_evaluator - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.power_evaluator.tests.rst b/doc/source/api/force_bdss.core_plugins.dummy.power_evaluator.tests.rst deleted file mode 100644 index 51a90e8b88ac81fe94a675a03c9d6df8b4cc6f6f..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.power_evaluator.tests.rst +++ /dev/null @@ -1,30 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.power\_evaluator\.tests package -================================================================== - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.power\_evaluator\.tests\.test\_power\_evaluator\_data\_source module -------------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.power_evaluator.tests.test_power_evaluator_data_source - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.power\_evaluator\.tests\.test\_power\_evaluator\_factory module --------------------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.power_evaluator.tests.test_power_evaluator_factory - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.power_evaluator.tests - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.rst b/doc/source/api/force_bdss.core_plugins.dummy.rst deleted file mode 100644 index 17e91bfed1c38b78b21a9ed0de9dd067a6073679..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.rst +++ /dev/null @@ -1,36 +0,0 @@ -force\_bdss\.core\_plugins\.dummy package -========================================= - -Subpackages ------------ - -.. toctree:: - - force_bdss.core_plugins.dummy.csv_extractor - force_bdss.core_plugins.dummy.dummy_dakota - force_bdss.core_plugins.dummy.dummy_data_source - force_bdss.core_plugins.dummy.dummy_kpi_calculator - force_bdss.core_plugins.dummy.dummy_notification_listener - force_bdss.core_plugins.dummy.kpi_adder - force_bdss.core_plugins.dummy.power_evaluator - force_bdss.core_plugins.dummy.tests - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.dummy\_plugin module -------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.dummy_plugin - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.dummy.tests.rst b/doc/source/api/force_bdss.core_plugins.dummy.tests.rst deleted file mode 100644 index 41e0d30f54f5152cd8b92191219a3177ce662036..0000000000000000000000000000000000000000 --- a/doc/source/api/force_bdss.core_plugins.dummy.tests.rst +++ /dev/null @@ -1,38 +0,0 @@ -force\_bdss\.core\_plugins\.dummy\.tests package -================================================ - -Submodules ----------- - -force\_bdss\.core\_plugins\.dummy\.tests\.data\_source\_factory\_test\_mixin module ------------------------------------------------------------------------------------ - -.. automodule:: force_bdss.core_plugins.dummy.tests.data_source_factory_test_mixin - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.tests\.kpi\_calculator\_factory\_test\_mixin module --------------------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.tests.kpi_calculator_factory_test_mixin - :members: - :undoc-members: - :show-inheritance: - -force\_bdss\.core\_plugins\.dummy\.tests\.test\_direct\_execution module ------------------------------------------------------------------------- - -.. automodule:: force_bdss.core_plugins.dummy.tests.test_direct_execution - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: force_bdss.core_plugins.dummy.tests - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/source/api/force_bdss.core_plugins.rst b/doc/source/api/force_bdss.core_plugins.rst index d667de4d88ad1e3f3b4ee21977731d9091daad0b..cce8a4b89316d59c4cf8b5b07faa094ac31b95f8 100644 --- a/doc/source/api/force_bdss.core_plugins.rst +++ b/doc/source/api/force_bdss.core_plugins.rst @@ -1,13 +1,6 @@ force\_bdss\.core\_plugins package ================================== -Subpackages ------------ - -.. toctree:: - - force_bdss.core_plugins.dummy - Module contents --------------- diff --git a/doc/source/api/force_bdss.tests.probe_classes.rst b/doc/source/api/force_bdss.tests.probe_classes.rst new file mode 100644 index 0000000000000000000000000000000000000000..acdf96347ff91d3908ea8bb7aa35aef3dc5d6683 --- /dev/null +++ b/doc/source/api/force_bdss.tests.probe_classes.rst @@ -0,0 +1,62 @@ +force\_bdss\.tests\.probe\_classes package +========================================== + +Submodules +---------- + +force\_bdss\.tests\.probe\_classes\.data\_source module +------------------------------------------------------- + +.. automodule:: force_bdss.tests.probe_classes.data_source + :members: + :undoc-members: + :show-inheritance: + +force\_bdss\.tests\.probe\_classes\.evaluator\_factory module +------------------------------------------------------------- + +.. automodule:: force_bdss.tests.probe_classes.evaluator_factory + :members: + :undoc-members: + :show-inheritance: + +force\_bdss\.tests\.probe\_classes\.factory\_registry\_plugin module +-------------------------------------------------------------------- + +.. automodule:: force_bdss.tests.probe_classes.factory_registry_plugin + :members: + :undoc-members: + :show-inheritance: + +force\_bdss\.tests\.probe\_classes\.kpi\_calculator module +---------------------------------------------------------- + +.. automodule:: force_bdss.tests.probe_classes.kpi_calculator + :members: + :undoc-members: + :show-inheritance: + +force\_bdss\.tests\.probe\_classes\.mco module +---------------------------------------------- + +.. automodule:: force_bdss.tests.probe_classes.mco + :members: + :undoc-members: + :show-inheritance: + +force\_bdss\.tests\.probe\_classes\.notification\_listener module +----------------------------------------------------------------- + +.. automodule:: force_bdss.tests.probe_classes.notification_listener + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: force_bdss.tests.probe_classes + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/api/force_bdss.tests.rst b/doc/source/api/force_bdss.tests.rst index 6350da69650311ac06548905d9d6582165b7eee8..36c2088f59119ce57a6c27425af6543a28fec273 100644 --- a/doc/source/api/force_bdss.tests.rst +++ b/doc/source/api/force_bdss.tests.rst @@ -7,6 +7,7 @@ Subpackages .. toctree:: force_bdss.tests.fixtures + force_bdss.tests.probe_classes Submodules ---------- diff --git a/force_bdss/cli/tests/test_execution.py b/force_bdss/cli/tests/test_execution.py index 24bf92bcd5915c4b411baa68b6e2f4f6c914519c..3fbf57fb179b41dea4232cacd0067a89562288f6 100644 --- a/force_bdss/cli/tests/test_execution.py +++ b/force_bdss/cli/tests/test_execution.py @@ -25,13 +25,13 @@ def fixture_dir(): class TestExecution(unittest.TestCase): def test_plain_invocation_mco(self): with cd(fixtures.dirpath()): - out = subprocess.check_call(["force_bdss", "test_csv.json"]) + out = subprocess.check_call(["force_bdss", "test_empty.json"]) self.assertEqual(out, 0) def test_plain_invocation_evaluate(self): with cd(fixtures.dirpath()): proc = subprocess.Popen([ - "force_bdss", "--evaluate", "test_csv.json"], + "force_bdss", "--evaluate", "test_empty.json"], stdin=subprocess.PIPE, stdout=subprocess.PIPE) proc.communicate(b"1") diff --git a/force_bdss/core_evaluation_driver.py b/force_bdss/core_evaluation_driver.py index f0347cff034a10ea8fe54339a9ce41048507fff9..33fc4755a456ad4c0609b0365c643e8f844641a5 100644 --- a/force_bdss/core_evaluation_driver.py +++ b/force_bdss/core_evaluation_driver.py @@ -30,6 +30,10 @@ class CoreEvaluationDriver(BaseCoreDriver): sys.exit(1) mco_model = workflow.mco + if mco_model is None: + print("No MCO defined. Nothing to do. Exiting.") + sys.exit(0) + mco_factory = mco_model.factory mco_communicator = mco_factory.create_communicator() diff --git a/force_bdss/core_mco_driver.py b/force_bdss/core_mco_driver.py index fb4171427dadcf58e98b7342fef214b6fd375df4..478499af138b50ee6ecdd1abe0ca95e583d37e85 100644 --- a/force_bdss/core_mco_driver.py +++ b/force_bdss/core_mco_driver.py @@ -48,6 +48,10 @@ class CoreMCODriver(BaseCoreDriver): sys.exit(1) mco_model = workflow.mco + if mco_model is None: + print("No MCO defined. Nothing to do. Exiting.") + sys.exit(0) + mco_factory = mco_model.factory return mco_factory.create_optimizer() diff --git a/force_bdss/core_plugins/__init__.py b/force_bdss/core_plugins/__init__.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..604490c9bcc99bda43360f97c7e2dbe106950a80 100644 --- a/force_bdss/core_plugins/__init__.py +++ b/force_bdss/core_plugins/__init__.py @@ -0,0 +1,4 @@ +""" +Here we host the core plugins. They ship with the BDSS and are always +available. They provide a form of "standard library" of functionality. +""" 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/mco/base_mco_communicator.py b/force_bdss/mco/base_mco_communicator.py index 22f023346bf5c234d848b9593c63ce49d8d7da85..fce0753a1988930ba5f24562503c47fbf02fcc54 100644 --- a/force_bdss/mco/base_mco_communicator.py +++ b/force_bdss/mco/base_mco_communicator.py @@ -19,8 +19,9 @@ class BaseMCOCommunicator(ABCHasStrictTraits): #: A reference to the factory factory = Instance(IMCOFactory) - def __init__(self, factory): + def __init__(self, factory, *args, **kwargs): self.factory = factory + super(BaseMCOCommunicator, self).__init__(*args, **kwargs) @abc.abstractmethod def receive_from_mco(self, model): diff --git a/force_bdss/mco/parameters/base_mco_parameter_factory.py b/force_bdss/mco/parameters/base_mco_parameter_factory.py index ecce688715c8ce2fdcb0764bf0dabae2f05c215d..6ea3ceba0700860028b65a2a17b9b6065dbb228c 100644 --- a/force_bdss/mco/parameters/base_mco_parameter_factory.py +++ b/force_bdss/mco/parameters/base_mco_parameter_factory.py @@ -27,9 +27,9 @@ class BaseMCOParameterFactory(HasStrictTraits): # The model class to instantiate when create_model is called. model_class = Type('BaseMCOParameter') - def __init__(self, mco_factory): + def __init__(self, mco_factory, *args, **kwargs): self.mco_factory = mco_factory - super(BaseMCOParameterFactory, self).__init__() + super(BaseMCOParameterFactory, self).__init__(*args, **kwargs) def create_model(self, data_values=None): """Creates the instance of the model class and returns it. diff --git a/force_bdss/tests/fixtures/test_empty.json b/force_bdss/tests/fixtures/test_empty.json new file mode 100644 index 0000000000000000000000000000000000000000..4984d568725e4fca080c28f36d2fc9bf72bf1cca --- /dev/null +++ b/force_bdss/tests/fixtures/test_empty.json @@ -0,0 +1,12 @@ +{ + "version": "1", + "workflow": { + "mco": null, + "data_sources": [ + ], + "kpi_calculators": [ + ], + "notification_listeners": [ + ] + } +} diff --git a/force_bdss/tests/fixtures/test_null.json b/force_bdss/tests/fixtures/test_null.json index 04d2d8b7f438864a7dfe8b277a7f42d78576cdd7..8a0a016aed40e63b7ae68981e7a89bf39ec1867a 100644 --- a/force_bdss/tests/fixtures/test_null.json +++ b/force_bdss/tests/fixtures/test_null.json @@ -2,7 +2,7 @@ "version": "1", "workflow": { "mco": { - "id": "force.bdss.enthought.factory.null_mco", + "id": "force.bdss.enthought.factory.test_mco", "model_data": { "parameters" : [ ] @@ -10,7 +10,7 @@ }, "data_sources": [ { - "id": "force.bdss.enthought.factory.null_ds", + "id": "force.bdss.enthought.factory.test_ds", "model_data": { "input_slot_maps": [ ], @@ -21,7 +21,7 @@ ], "kpi_calculators": [ { - "id": "force.bdss.enthought.factory.null_kpic", + "id": "force.bdss.enthought.factory.test_kpic", "model_data": { "input_slot_maps": [ ], @@ -32,7 +32,7 @@ ], "notification_listeners": [ { - "id": "force.bdss.enthought.factory.null_nl", + "id": "force.bdss.enthought.factory.test_nl", "model_data": { } } diff --git a/force_bdss/core_plugins/dummy/__init__.py b/force_bdss/tests/probe_classes/__init__.py similarity index 100% rename from force_bdss/core_plugins/dummy/__init__.py rename to force_bdss/tests/probe_classes/__init__.py diff --git a/force_bdss/tests/probe_classes/data_source.py b/force_bdss/tests/probe_classes/data_source.py new file mode 100644 index 0000000000000000000000000000000000000000..f50f81a083eaddbf051134db1ca7b697501baf45 --- /dev/null +++ b/force_bdss/tests/probe_classes/data_source.py @@ -0,0 +1,73 @@ +from traits.api import Bool, Function, Str, Int, on_trait_change, Type + +from force_bdss.ids import factory_id +from force_bdss.api import ( + BaseDataSourceFactory, BaseDataSourceModel, BaseDataSource, + Slot +) + +from .evaluator_factory import ProbeEvaluatorFactory + + +def run_func(*args, **kwargs): + return [] + + +class ProbeDataSource(BaseDataSource): + run_function = Function(default_value=run_func) + + run_called = Bool(False) + slots_called = Bool(False) + + def run(self, model, parameters): + self.run_called = True + return self.run_function(model, parameters) + + def slots(self, model): + self.slots_called = True + return ( + tuple(Slot(type=model.input_slots_type) + for _ in range(model.input_slots_size)) + ), ( + tuple(Slot(type=model.output_slots_type) + for _ in range(model.output_slots_size)) + ) + + +class ProbeDataSourceModel(BaseDataSourceModel): + input_slots_type = Str('PRESSURE') + output_slots_type = Str('PRESSURE') + + input_slots_size = Int(0) + output_slots_size = Int(0) + + @on_trait_change('input_slots_type,output_slots_type,' + 'input_slots_size,output_slots_size') + def update_slots(self): + self.changes_slots = True + + +class ProbeDataSourceFactory(BaseDataSourceFactory, + ProbeEvaluatorFactory): + id = Str(factory_id("enthought", "test_ds")) + name = Str('test_data_source') + + model_class = Type(ProbeDataSourceModel) + + def create_model(self, model_data=None): + if model_data is None: + model_data = {} + return self.model_class( + factory=self, + input_slots_type=self.input_slots_type, + output_slots_type=self.output_slots_type, + input_slots_size=self.input_slots_size, + output_slots_size=self.output_slots_size, + **model_data + ) + + def create_data_source(self): + return ProbeDataSource( + factory=self, + run_function=self.run_function, + ) diff --git a/force_bdss/tests/probe_classes/evaluator_factory.py b/force_bdss/tests/probe_classes/evaluator_factory.py new file mode 100644 index 0000000000000000000000000000000000000000..7bcc07295dba9de6ce6d2508ba3c5b63d47a0c0b --- /dev/null +++ b/force_bdss/tests/probe_classes/evaluator_factory.py @@ -0,0 +1,28 @@ +try: + import mock +except ImportError: + from unittest import mock + +from envisage.plugin import Plugin + +from traits.api import HasStrictTraits, Function, Str, Int + + +def run_func(*args, **kwargs): + return [] + + +class ProbeEvaluatorFactory(HasStrictTraits): + def __init__(self, plugin=None, *args, **kwargs): + if plugin is None: + plugin = mock.Mock(Plugin) + super(ProbeEvaluatorFactory, self).__init__( + plugin=plugin, *args, **kwargs) + + run_function = Function(default_value=run_func) + + input_slots_type = Str('PRESSURE') + output_slots_type = Str('PRESSURE') + + input_slots_size = Int(0) + output_slots_size = Int(0) diff --git a/force_bdss/tests/probe_classes/factory_registry_plugin.py b/force_bdss/tests/probe_classes/factory_registry_plugin.py new file mode 100644 index 0000000000000000000000000000000000000000..ddf39c96e7d643b197466db80baaee2fc294ec78 --- /dev/null +++ b/force_bdss/tests/probe_classes/factory_registry_plugin.py @@ -0,0 +1,27 @@ +from traits.api import List + +from force_bdss.factory_registry_plugin import FactoryRegistryPlugin + +from .mco import ProbeMCOFactory +from .kpi_calculator import ProbeKPICalculatorFactory +from .data_source import ProbeDataSourceFactory +from .notification_listener import ProbeNotificationListenerFactory + + +class ProbeFactoryRegistryPlugin(FactoryRegistryPlugin): + mco_factories = List() + kpi_calculator_factories = List() + data_source_factories = List() + notification_listener_factories = List() + + def _mco_factories_default(self): + return [ProbeMCOFactory(self)] + + def _kpi_calculator_factories_default(self): + return [ProbeKPICalculatorFactory(self)] + + def _data_source_factories_default(self): + return [ProbeDataSourceFactory(self)] + + def _notification_listener_factories_default(self): + return [ProbeNotificationListenerFactory(self)] diff --git a/force_bdss/tests/probe_classes/kpi_calculator.py b/force_bdss/tests/probe_classes/kpi_calculator.py new file mode 100644 index 0000000000000000000000000000000000000000..befdfb1366b869a600a94780356445dbcc6dabb1 --- /dev/null +++ b/force_bdss/tests/probe_classes/kpi_calculator.py @@ -0,0 +1,73 @@ +from traits.api import Bool, Function, Str, Int, on_trait_change, Type + +from force_bdss.ids import factory_id +from force_bdss.api import ( + BaseKPICalculatorFactory, BaseKPICalculatorModel, BaseKPICalculator, + Slot +) + +from .evaluator_factory import ProbeEvaluatorFactory + + +def run_func(*args, **kwargs): + return [] + + +class ProbeKPICalculator(BaseKPICalculator): + run_function = Function(default_value=run_func) + + run_called = Bool(False) + slots_called = Bool(False) + + def run(self, model, parameters): + self.run_called = True + return self.run_function(model, parameters) + + def slots(self, model): + self.slots_called = True + return ( + tuple(Slot(type=model.input_slots_type) + for _ in range(model.input_slots_size)) + ), ( + tuple(Slot(type=model.output_slots_type) + for _ in range(model.output_slots_size)) + ) + + +class ProbeKPICalculatorModel(BaseKPICalculatorModel): + input_slots_type = Str('PRESSURE') + output_slots_type = Str('PRESSURE') + + input_slots_size = Int(0) + output_slots_size = Int(0) + + @on_trait_change('input_slots_type,output_slots_type,' + 'input_slots_size,output_slots_size') + def update_slots(self): + self.changes_slots = True + + +class ProbeKPICalculatorFactory(BaseKPICalculatorFactory, + ProbeEvaluatorFactory): + id = Str(factory_id("enthought", "test_kpic")) + name = Str('test_kpi_calculator') + + model_class = Type(ProbeKPICalculatorModel) + + def create_model(self, model_data=None): + if model_data is None: + model_data = {} + return self.model_class( + factory=self, + input_slots_type=self.input_slots_type, + output_slots_type=self.output_slots_type, + input_slots_size=self.input_slots_size, + output_slots_size=self.output_slots_size, + **model_data + ) + + def create_kpi_calculator(self): + return ProbeKPICalculator( + factory=self, + run_function=self.run_function, + ) diff --git a/force_bdss/tests/probe_classes/mco.py b/force_bdss/tests/probe_classes/mco.py new file mode 100644 index 0000000000000000000000000000000000000000..369048452513afd0c0b2d8d096f1a7f0082e4c30 --- /dev/null +++ b/force_bdss/tests/probe_classes/mco.py @@ -0,0 +1,86 @@ +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 +from force_bdss.api import ( + BaseMCOModel, BaseMCO, BaseMCOFactory, + BaseMCOParameter, BaseMCOParameterFactory, + BaseMCOCommunicator +) + + +class ProbeMCOModel(BaseMCOModel): + pass + + +def run_func(*args, **kwargs): + return [] + + +class ProbeMCO(BaseMCO): + run_function = Function(default_value=run_func) + + run_called = Bool(False) + + def run(self, model): + self.run_called = True + return self.run_function(model) + + +class ProbeParameter(BaseMCOParameter): + pass + + +class ProbeParameterFactory(BaseMCOParameterFactory): + id = Str(mco_parameter_id("enthought", "test_mco", "test")) + + model_class = Type(ProbeParameter) + + +class ProbeMCOCommunicator(BaseMCOCommunicator): + send_called = Bool(False) + receive_called = Bool(False) + + nb_output_data_values = Int(0) + + def send_to_mco(self, model, kpi_results): + self.send_called = True + + def receive_from_mco(self, model): + self.receive_called = True + return [ + DataValue() for _ in range(self.nb_output_data_values) + ] + + +class ProbeMCOFactory(BaseMCOFactory): + id = Str(factory_id("enthought", "test_mco")) + + model_class = Type(ProbeMCOModel) + + communicator_class = Type(ProbeMCOCommunicator) + + mco_class = Type(ProbeMCO) + + probe_parameter_factories = List(Type(ProbeParameterFactory)) + + nb_output_data_values = Int(0) + + def create_model(self, model_data=None): + if model_data is None: + model_data = {} + return self.model_class( + self, + **model_data + ) + + def create_communicator(self): + return self.communicator_class( + self, + nb_output_data_values=self.nb_output_data_values) + + def create_optimizer(self): + return self.mco_class(self) + + def parameter_factories(self): + return [] diff --git a/force_bdss/tests/probe_classes/notification_listener.py b/force_bdss/tests/probe_classes/notification_listener.py new file mode 100644 index 0000000000000000000000000000000000000000..dc69480b5cb87fed0f9e43003322e634d527c7f5 --- /dev/null +++ b/force_bdss/tests/probe_classes/notification_listener.py @@ -0,0 +1,67 @@ +from traits.api import Bool, Str, Type, Function, Any + +from force_bdss.ids import factory_id +from force_bdss.api import ( + BaseNotificationListener, BaseNotificationListenerModel, + BaseNotificationListenerFactory) + + +def pass_function(*args, **kwargs): + pass + + +class ProbeNotificationListener(BaseNotificationListener): + initialize_called = Bool(False) + deliver_called = Bool(False) + finalize_called = Bool(False) + + initialize_function = Function(default_value=pass_function) + deliver_function = Function(default_value=pass_function) + finalize_function = Function(default_value=pass_function) + + initialize_call_args = Any() + deliver_call_args = Any() + finalize_call_args = Any(([], {})) + + def initialize(self, model): + self.initialize_called = True + self.initialize_call_args = ([model], {}) + self.initialize_function(model) + + def deliver(self, event): + self.deliver_called = True + self.deliver_call_args = ([event], {}) + self.deliver_function(event) + + def finalize(self): + self.finalize_called = True + self.finalize_function() + + +class ProbeNotificationListenerModel(BaseNotificationListenerModel): + pass + + +class ProbeNotificationListenerFactory(BaseNotificationListenerFactory): + id = Str(factory_id("enthought", "test_nl")) + name = "test_notification_listener" + + model_class = Type(ProbeNotificationListenerModel) + + listener_class = Type(ProbeNotificationListener) + + initialize_function = Function(default_value=pass_function) + deliver_function = Function(default_value=pass_function) + finalize_function = Function(default_value=pass_function) + + def create_listener(self): + return self.listener_class( + self, + initialize_function=self.initialize_function, + deliver_function=self.deliver_function, + finalize_function=self.finalize_function) + + def create_model(self, model_data=None): + if model_data is None: + model_data = {} + return self.model_class(self, **model_data) diff --git a/force_bdss/tests/test_core_evaluation_driver.py b/force_bdss/tests/test_core_evaluation_driver.py index 43101a3361b416e1330b7fd226aaab69cda83877..77058e5957621fcf6279d9a0e197f8203d5cae99 100644 --- a/force_bdss/tests/test_core_evaluation_driver.py +++ b/force_bdss/tests/test_core_evaluation_driver.py @@ -1,34 +1,15 @@ import unittest -from traits.api import Float, List +from force_bdss.tests.probe_classes.factory_registry_plugin import \ + ProbeFactoryRegistryPlugin +from force_bdss.tests.probe_classes.mco import ProbeMCOFactory +from force_bdss.tests.probe_classes.data_source import ProbeDataSourceFactory +from force_bdss.tests.probe_classes.kpi_calculator import ( + ProbeKPICalculatorFactory) from force_bdss.core.input_slot_map import InputSlotMap -from force_bdss.factory_registry_plugin import FactoryRegistryPlugin from force_bdss.core.data_value import DataValue from force_bdss.core.slot import Slot -from force_bdss.data_sources.base_data_source import BaseDataSource -from force_bdss.data_sources.base_data_source_factory import \ - BaseDataSourceFactory -from force_bdss.data_sources.base_data_source_model import BaseDataSourceModel -from force_bdss.ids import mco_parameter_id, factory_id -from force_bdss.kpi.base_kpi_calculator import BaseKPICalculator -from force_bdss.kpi.base_kpi_calculator_factory import BaseKPICalculatorFactory -from force_bdss.kpi.base_kpi_calculator_model import BaseKPICalculatorModel -from force_bdss.mco.base_mco import BaseMCO -from force_bdss.mco.base_mco_factory import BaseMCOFactory -from force_bdss.mco.base_mco_communicator import BaseMCOCommunicator -from force_bdss.mco.base_mco_model import BaseMCOModel -from force_bdss.mco.parameters.base_mco_parameter import BaseMCOParameter -from force_bdss.mco.parameters.base_mco_parameter_factory import \ - BaseMCOParameterFactory -from force_bdss.notification_listeners.base_notification_listener import \ - BaseNotificationListener -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 import fixtures try: @@ -42,212 +23,12 @@ from force_bdss.core_evaluation_driver import CoreEvaluationDriver, \ _bind_data_values, _compute_layer_results -class NullMCOModel(BaseMCOModel): - pass - - -class NullMCO(BaseMCO): - def run(self, model): - pass - - -class RangedParameter(BaseMCOParameter): - initial_value = Float() - lower_bound = Float() - upper_bound = Float() - - -class RangedParameterFactory(BaseMCOParameterFactory): - id = mco_parameter_id("enthought", "null_mco", "null") - model_class = RangedParameter - - -class NullMCOCommunicator(BaseMCOCommunicator): - def send_to_mco(self, model, kpi_results): - pass - - def receive_from_mco(self, model): - return [] - - -class OneDataValueMCOCommunicator(BaseMCOCommunicator): - """A communicator that returns one single datavalue, for testing purposes. - """ - def send_to_mco(self, model, kpi_results): - pass - - def receive_from_mco(self, model): - return [ - DataValue() - ] - - -class NullMCOFactory(BaseMCOFactory): - id = factory_id("enthought", "null_mco") - - def create_model(self, model_data=None): - return NullMCOModel(self, **model_data) - - def create_communicator(self): - return NullMCOCommunicator(self) - - def create_optimizer(self): - return NullMCO(self) - - def parameter_factories(self): - return [] - - -class NullKPICalculatorModel(BaseKPICalculatorModel): - pass - - -class NullKPICalculator(BaseKPICalculator): - def run(self, model, data_source_results): - return [] - - def slots(self, model): - return (), () - - -class BrokenOneValueKPICalculator(BaseKPICalculator): - def run(self, model, data_source_results): - return [DataValue()] - - def slots(self, model): - return (), () - - -class OneValueKPICalculator(BaseKPICalculator): - def run(self, model, data_source_results): - return [DataValue()] - - def slots(self, model): - return (), (Slot(), ) - - -class NullKPICalculatorFactory(BaseKPICalculatorFactory): - id = factory_id("enthought", "null_kpic") - name = "null_kpic" - - def create_model(self, model_data=None): - return NullKPICalculatorModel(self) - - def create_kpi_calculator(self): - return NullKPICalculator(self) - - -class NullDataSourceModel(BaseDataSourceModel): - pass - - -class NullDataSource(BaseDataSource): - def run(self, model, parameters): - return [] - - def slots(self, model): - return (), () - - -class BrokenOneValueDataSource(BaseDataSource): - """Incorrect data source implementation whose run returns a data value - but no slot was specified for it.""" - def run(self, model, parameters): - return [DataValue()] - - def slots(self, model): - return (), () - - -class OneValueDataSource(BaseDataSource): - """Incorrect data source implementation whose run returns a data value - but no slot was specified for it.""" - def run(self, model, parameters): - return [DataValue()] - - def slots(self, model): - return (), ( - Slot(), - ) - - -class TwoInputsThreeOutputsDataSource(BaseDataSource): - """Incorrect data source implementation whose run returns a data value - but no slot was specified for it.""" - def run(self, model, parameters): - return [DataValue(value=1), DataValue(value=2), DataValue(value=3)] - - def slots(self, model): - return ( - (Slot(), Slot()), - (Slot(), Slot(), Slot()) - ) - - -class NullDataSourceFactory(BaseDataSourceFactory): - id = factory_id("enthought", "null_ds") - name = "null_ds" - - def create_model(self, model_data=None): - return NullDataSourceModel(self) - - def create_data_source(self): - return NullDataSource(self) - - -class NullNotificationListener(BaseNotificationListener): - def initialize(self, model): - pass - - def deliver(self, event): - pass - - def finalize(self): - pass - - -class NullNotificationListenerModel(BaseNotificationListenerModel): - pass - - -class NullNotificationListenerFactory(BaseNotificationListenerFactory): - id = factory_id("enthought", "null_nl") - name = "null_nl" - - def create_listener(self): - return NullNotificationListener(self) - - def create_model(self, model_data=None): - return NullNotificationListenerModel(self) - - -class DummyFactoryRegistryPlugin(FactoryRegistryPlugin): - mco_factories = List() - kpi_calculator_factories = List() - data_source_factories = List() - notification_listener_factories = List() - - -def mock_factory_registry_plugin(): - factory_registry_plugin = DummyFactoryRegistryPlugin() - factory_registry_plugin.mco_factories = [ - NullMCOFactory(factory_registry_plugin)] - factory_registry_plugin.kpi_calculator_factories = [ - NullKPICalculatorFactory(factory_registry_plugin)] - factory_registry_plugin.data_source_factories = [ - NullDataSourceFactory(factory_registry_plugin)] - factory_registry_plugin.notification_listener_factories = [ - NullNotificationListenerFactory(factory_registry_plugin) - ] - return factory_registry_plugin - - class TestCoreEvaluationDriver(unittest.TestCase): def setUp(self): - self.mock_factory_registry_plugin = mock_factory_registry_plugin() + self.factory_registry_plugin = ProbeFactoryRegistryPlugin() application = mock.Mock(spec=Application) application.get_plugin = mock.Mock( - return_value=self.mock_factory_registry_plugin + return_value=self.factory_registry_plugin ) application.workflow_filepath = fixtures.get("test_null.json") self.mock_application = application @@ -259,78 +40,93 @@ class TestCoreEvaluationDriver(unittest.TestCase): driver.application_started() def test_error_for_non_matching_mco_parameters(self): - factory = self.mock_factory_registry_plugin.mco_factories[0] - with mock.patch.object(factory.__class__, - "create_communicator") as create_comm: - create_comm.return_value = OneDataValueMCOCommunicator( - factory) - driver = CoreEvaluationDriver( - application=self.mock_application, - ) - with self.assertRaisesRegexp( - RuntimeError, - "The number of data values returned by the MCO"): - driver.application_started() + mco_factories = self.factory_registry_plugin.mco_factories + mco_factories[0] = ProbeMCOFactory( + None, + nb_output_data_values=1) + driver = CoreEvaluationDriver( + application=self.mock_application) + with self.assertRaisesRegexp( + RuntimeError, + "The number of data values returned by the MCO"): + driver.application_started() def test_error_for_incorrect_output_slots(self): - factory = self.mock_factory_registry_plugin.data_source_factories[0] - with mock.patch.object(factory.__class__, - "create_data_source") as create_ds: - create_ds.return_value = BrokenOneValueDataSource(factory) - driver = CoreEvaluationDriver( - application=self.mock_application, - ) - with self.assertRaisesRegexp( - RuntimeError, - "The number of data values \(1 values\)" - " returned by 'null_ds' does not match" - " the number of output slots"): - driver.application_started() + data_source_factories = \ + self.factory_registry_plugin.data_source_factories + + def run(self, *args, **kwargs): + return [DataValue()] + data_source_factories[0] = ProbeDataSourceFactory( + None, + run_function=run) + driver = CoreEvaluationDriver( + application=self.mock_application) + with self.assertRaisesRegexp( + RuntimeError, + "The number of data values \(1 values\)" + " returned by 'test_data_source' does not match" + " the number of output slots"): + driver.application_started() def test_error_for_missing_ds_output_names(self): - factory = self.mock_factory_registry_plugin.data_source_factories[0] - with mock.patch.object(factory.__class__, - "create_data_source") as create_ds: - create_ds.return_value = OneValueDataSource(factory) - driver = CoreEvaluationDriver( - application=self.mock_application, - ) - with self.assertRaisesRegexp( - RuntimeError, - "The number of data values \(1 values\)" - " returned by 'null_ds' does not match" - " the number of user-defined names"): - driver.application_started() + data_source_factories = \ + self.factory_registry_plugin.data_source_factories + + def run(self, *args, **kwargs): + return [DataValue()] + data_source_factories[0] = ProbeDataSourceFactory( + None, + run_function=run, + output_slots_size=1) + driver = CoreEvaluationDriver( + application=self.mock_application, + ) + with self.assertRaisesRegexp( + RuntimeError, + "The number of data values \(1 values\)" + " returned by 'test_data_source' does not match" + " the number of user-defined names"): + driver.application_started() def test_error_for_incorrect_kpic_output_slots(self): - factory = self.mock_factory_registry_plugin.kpi_calculator_factories[0] - with mock.patch.object(factory.__class__, - "create_kpi_calculator") as create_kpic: - create_kpic.return_value = BrokenOneValueKPICalculator(factory) - driver = CoreEvaluationDriver( - application=self.mock_application, - ) - with self.assertRaisesRegexp( - RuntimeError, - "The number of data values \(1 values\)" - " returned by 'null_kpic' does not match" - " the number of output slots"): - driver.application_started() + kpi_calculator_factories = \ + self.factory_registry_plugin.kpi_calculator_factories + + def run(self, *args, **kwargs): + return [DataValue()] + kpi_calculator_factories[0] = ProbeKPICalculatorFactory( + None, + run_function=run) + driver = CoreEvaluationDriver( + application=self.mock_application, + ) + with self.assertRaisesRegexp( + RuntimeError, + "The number of data values \(1 values\)" + " returned by 'test_kpi_calculator' does not match" + " the number of output slots"): + driver.application_started() def test_error_for_missing_kpic_output_names(self): - factory = self.mock_factory_registry_plugin.kpi_calculator_factories[0] - with mock.patch.object(factory.__class__, - "create_kpi_calculator") as create_kpic: - create_kpic.return_value = OneValueKPICalculator(factory) - driver = CoreEvaluationDriver( - application=self.mock_application, - ) - with self.assertRaisesRegexp( - RuntimeError, - "The number of data values \(1 values\)" - " returned by 'null_kpic' does not match" - " the number of user-defined names"): - driver.application_started() + kpi_calculator_factories = \ + self.factory_registry_plugin.kpi_calculator_factories + + def run(self, *args, **kwargs): + return [DataValue()] + kpi_calculator_factories[0] = ProbeKPICalculatorFactory( + None, + run_function=run, + output_slots_size=1) + driver = CoreEvaluationDriver( + application=self.mock_application, + ) + with self.assertRaisesRegexp( + RuntimeError, + "The number of data values \(1 values\)" + " returned by 'test_kpi_calculator' does not match" + " the number of user-defined names"): + driver.application_started() def test_bind_data_values(self): data_values = [ @@ -377,7 +173,6 @@ class TestCoreEvaluationDriver(unittest.TestCase): _bind_data_values(data_values, slot_map, slots) def test_compute_layer_results(self): - data_values = [ DataValue(name="foo"), DataValue(name="bar"), @@ -385,11 +180,14 @@ class TestCoreEvaluationDriver(unittest.TestCase): DataValue(name="quux") ] - mock_ds_factory = mock.Mock(spec=BaseDataSourceFactory) - mock_ds_factory.name = "mock factory" - mock_ds_factory.create_data_source.return_value = \ - TwoInputsThreeOutputsDataSource(mock_ds_factory) - evaluator_model = NullDataSourceModel(factory=mock_ds_factory) + def run(self, *args, **kwargs): + return [DataValue(value=1), DataValue(value=2), DataValue(value=3)] + ds_factory = ProbeDataSourceFactory( + None, + input_slots_size=2, + output_slots_size=3, + run_function=run) + evaluator_model = ds_factory.create_model() evaluator_model.input_slot_maps = [ InputSlotMap(name="foo"), diff --git a/force_bdss/tests/test_core_mco_driver.py b/force_bdss/tests/test_core_mco_driver.py index 3a4b33f2d9f15205bf9ebb8debafe85ec088c534..057be4b47a51a72f7998ca9abd2fb24af1cf00ae 100644 --- a/force_bdss/tests/test_core_mco_driver.py +++ b/force_bdss/tests/test_core_mco_driver.py @@ -1,13 +1,11 @@ import unittest from testfixtures import LogCapture +from force_bdss.tests.probe_classes.factory_registry_plugin import \ + ProbeFactoryRegistryPlugin from force_bdss.core_driver_events import ( MCOStartEvent, MCOFinishEvent, MCOProgressEvent) -from force_bdss.notification_listeners.base_notification_listener import \ - BaseNotificationListener from force_bdss.tests import fixtures -from force_bdss.tests.test_core_evaluation_driver import \ - mock_factory_registry_plugin try: import mock @@ -19,12 +17,16 @@ from envisage.api import Application from force_bdss.core_mco_driver import CoreMCODriver +def raise_exception(*args, **kwargs): + raise Exception() + + class TestCoreMCODriver(unittest.TestCase): def setUp(self): - self.mock_factory_registry_plugin = mock_factory_registry_plugin() + self.factory_registry_plugin = ProbeFactoryRegistryPlugin() application = mock.Mock(spec=Application) application.get_plugin = mock.Mock( - return_value=self.mock_factory_registry_plugin + return_value=self.factory_registry_plugin ) application.workflow_filepath = fixtures.get("test_null.json") self.mock_application = application @@ -53,45 +55,36 @@ class TestCoreMCODriver(unittest.TestCase): application=self.mock_application, ) listener = driver.listeners[0] - mock_deliver = mock.Mock() - listener.__dict__["deliver"] = mock_deliver driver.mco.started = True - self.assertIsInstance(mock_deliver.call_args[0][0], MCOStartEvent) + self.assertIsInstance(listener.deliver_call_args[0][0], MCOStartEvent) def test_finished_event_handling(self): driver = CoreMCODriver( application=self.mock_application, ) listener = driver.listeners[0] - mock_deliver = mock.Mock() - listener.__dict__["deliver"] = mock_deliver driver.mco.finished = True - self.assertIsInstance(mock_deliver.call_args[0][0], MCOFinishEvent) + self.assertIsInstance(listener.deliver_call_args[0][0], MCOFinishEvent) def test_progress_event_handling(self): driver = CoreMCODriver( application=self.mock_application, ) listener = driver.listeners[0] - mock_deliver = mock.Mock() - listener.__dict__["deliver"] = mock_deliver driver.mco.new_data = {'input': (1, 2), 'output': (3, 4)} - self.assertIsInstance(mock_deliver.call_args[0][0], MCOProgressEvent) - self.assertEqual(mock_deliver.call_args[0][0].input, (1, 2)) - self.assertEqual(mock_deliver.call_args[0][0].output, (3, 4)) + self.assertIsInstance( + listener.deliver_call_args[0][0], + MCOProgressEvent) + self.assertEqual(listener.deliver_call_args[0][0].input, (1, 2)) + self.assertEqual(listener.deliver_call_args[0][0].output, (3, 4)) def test_listener_init_exception(self): driver = CoreMCODriver( application=self.mock_application, ) - registry = self.mock_factory_registry_plugin + registry = self.factory_registry_plugin factory = registry.notification_listener_factories[0] - mock_create_listener = mock.Mock() - mock_listener = mock.Mock(spec=BaseNotificationListener) - mock_create_listener.return_value = mock_listener - mock_listener.initialize = mock.Mock() - mock_listener.initialize.side_effect = Exception() - factory.__dict__["create_listener"] = mock_create_listener + factory.initialize_function = raise_exception with LogCapture() as capture: listeners = driver.listeners @@ -99,7 +92,7 @@ class TestCoreMCODriver(unittest.TestCase): ("force_bdss.core_mco_driver", "ERROR", "Failed to create or initialize listener with id " - "force.bdss.enthought.factory.null_nl: ")) + "force.bdss.enthought.factory.test_nl: ")) self.assertEqual(len(listeners), 0) @@ -108,18 +101,16 @@ class TestCoreMCODriver(unittest.TestCase): application=self.mock_application, ) listener = driver.listeners[0] - mock_deliver = mock.Mock() - listener.__dict__["deliver"] = mock_deliver - mock_deliver.side_effect = Exception() + listener.deliver_function = raise_exception with LogCapture() as capture: driver.mco.started = True - self.assertTrue(mock_deliver.called) + self.assertTrue(listener.deliver_called) capture.check( ("force_bdss.core_mco_driver", "ERROR", "Exception while delivering to listener " - "NullNotificationListener: ")) + "ProbeNotificationListener: ")) def test_finalize_error(self): driver = CoreMCODriver( @@ -128,14 +119,11 @@ class TestCoreMCODriver(unittest.TestCase): driver.application_started() listener = driver.listeners[0] - mock_finalize = mock.Mock() - listener.__dict__["finalize"] = mock_finalize - mock_finalize.side_effect = Exception() - + listener.finalize_function = raise_exception with LogCapture() as capture: driver.application_stopping() capture.check( ("force_bdss.core_mco_driver", "ERROR", "Exception while finalizing listener " - "NullNotificationListener: ")) + "ProbeNotificationListener: ")) diff --git a/setup.py b/setup.py index a459f65f90103a4864d8aa3282a863af2018ace1..40e184df965b9bb87766eab6e8d1384b71f0f349 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=[