Skip to content
Snippets Groups Projects
Commit 9e5426d1 authored by martinRenou's avatar martinRenou
Browse files

Add probe mco classes

parent cce1ab66
No related branches found
No related tags found
1 merge request!101Create probe classes for tests
...@@ -2,6 +2,7 @@ from traits.api import List ...@@ -2,6 +2,7 @@ from traits.api import List
from force_bdss.factory_registry_plugin import FactoryRegistryPlugin from force_bdss.factory_registry_plugin import FactoryRegistryPlugin
from .mco import ProbeMCOFactory
from .kpi_calculator import ProbeKPICalculatorFactory from .kpi_calculator import ProbeKPICalculatorFactory
from .data_source import ProbeDataSourceFactory from .data_source import ProbeDataSourceFactory
...@@ -12,6 +13,9 @@ class ProbeFactoryRegistryPlugin(FactoryRegistryPlugin): ...@@ -12,6 +13,9 @@ class ProbeFactoryRegistryPlugin(FactoryRegistryPlugin):
data_source_factories = List() data_source_factories = List()
notification_listener_factories = List() notification_listener_factories = List()
def _mco_factories_default(self):
return [ProbeMCOFactory(self)]
def _kpi_calculator_factories_default(self): def _kpi_calculator_factories_default(self):
return [ProbeKPICalculatorFactory(self)] return [ProbeKPICalculatorFactory(self)]
......
from traits.api import Str, Type, Bool, Int
from force_bdss.core.data_value import DataValue
from force_bdss.api import (
BaseMCOModel, BaseMCO, BaseMCOFactory,
BaseMCOParameter, BaseMCOParameterFactory,
BaseMCOCommunicator
)
class ProbeMCOModel(BaseMCOModel):
pass
class ProbeMCO(BaseMCO):
run_called = Bool(False)
def run(self, model):
self.run_called = True
class ProbeParameter(BaseMCOParameter):
pass
class RangedParameterFactory(BaseMCOParameterFactory):
id = Str("enthought.test.mco_parameter")
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("enthought.test.mco")
model_class = Type(ProbeMCOModel)
communicator_class = Type(ProbeMCOCommunicator)
mco_class = Type(ProbeMCO)
def create_model(self, model_data=None):
return self.model_class(
self,
**model_data
)
def create_communicator(self):
return self.communicator_class(self)
def create_optimizer(self):
return self.mco_class(self)
def parameter_factories(self):
return []
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment