Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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 []