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

Refactor

parent d932092c
No related branches found
No related tags found
1 merge request!101Create probe classes for tests
...@@ -5,7 +5,8 @@ except ImportError: ...@@ -5,7 +5,8 @@ except ImportError:
from envisage.plugin import Plugin from envisage.plugin import Plugin
from traits.api import HasStrictTraits, Bool, Function, Str, Int, Dict from traits.api import (HasStrictTraits, Bool, Function, Str, Int, Dict,
on_trait_change)
from force_bdss.api import ( from force_bdss.api import (
BaseKPICalculatorFactory, BaseKPICalculatorModel, BaseKPICalculator, BaseKPICalculatorFactory, BaseKPICalculatorModel, BaseKPICalculator,
...@@ -13,15 +14,9 @@ from force_bdss.api import ( ...@@ -13,15 +14,9 @@ from force_bdss.api import (
) )
class ProbeEvaluator(HasStrictTraits): class ProbeEvaluator(BaseKPICalculator):
run_function = Function run_function = Function
input_slots_type = Str('PRESSURE')
output_slots_type = Str('PRESSURE')
input_slots_size = Int(0)
output_slots_size = Int(0)
run_called = Bool(False) run_called = Bool(False)
slots_called = Bool(False) slots_called = Bool(False)
...@@ -32,11 +27,11 @@ class ProbeEvaluator(HasStrictTraits): ...@@ -32,11 +27,11 @@ class ProbeEvaluator(HasStrictTraits):
def slots(self, model): def slots(self, model):
self.slots_called = True self.slots_called = True
return ( return (
tuple(Slot(type=self.input_slots_type) tuple(Slot(type=model.input_slots_type)
for _ in range(self.input_slots_size)) for _ in range(model.input_slots_size))
), ( ), (
tuple(Slot(type=self.output_slots_type) tuple(Slot(type=model.output_slots_type)
for _ in range(self.output_slots_size)) for _ in range(model.output_slots_size))
) )
...@@ -59,17 +54,17 @@ class ProbeEvaluatorFactory(HasStrictTraits): ...@@ -59,17 +54,17 @@ class ProbeEvaluatorFactory(HasStrictTraits):
model_data = Dict() model_data = Dict()
class ProbeKPICalculator(BaseKPICalculator, ProbeEvaluator):
pass
class ProbeKPICalculatorModel(BaseKPICalculatorModel): class ProbeKPICalculatorModel(BaseKPICalculatorModel):
def __init__(self, factory, model_data, *args, **kwargs): input_slots_type = Str('PRESSURE')
for key, value in model_data.items(): output_slots_type = Str('PRESSURE')
setattr(self, key, value)
input_slots_size = Int(0)
output_slots_size = Int(0)
super(ProbeKPICalculatorModel, self).__init__( @on_trait_change('input_slots_type,output_slots_type,'
self, factory, *args, **kwargs) 'input_slots_size,output_slots_size')
def update_slots(self):
self.changes_slots = True
class ProbeKPICalculatorFactory(BaseKPICalculatorFactory, class ProbeKPICalculatorFactory(BaseKPICalculatorFactory,
...@@ -77,15 +72,19 @@ class ProbeKPICalculatorFactory(BaseKPICalculatorFactory, ...@@ -77,15 +72,19 @@ class ProbeKPICalculatorFactory(BaseKPICalculatorFactory,
id = Str('enthought.test.kpi_calculator') id = Str('enthought.test.kpi_calculator')
name = Str('test_kpi_calculator') name = Str('test_kpi_calculator')
def create_model(self, model_data=None): model_class = ProbeKPICalculatorModel
return ProbeKPICalculatorModel(self, self.model_data)
def create_kpi_calculator(self): def create_model(self, model_data=None):
return ProbeKPICalculator( return self.model_class(
factory=self, factory=self,
run_function=self.run_function,
input_slots_type=self.input_slots_type, input_slots_type=self.input_slots_type,
output_slots_type=self.output_slots_type, output_slots_type=self.output_slots_type,
input_slots_size=self.input_slots_size, input_slots_size=self.input_slots_size,
output_slots_size=self.output_slots_size output_slots_size=self.output_slots_size
) )
def create_kpi_calculator(self):
return ProbeEvaluator(
factory=self,
run_function=self.run_function,
)
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