Skip to content
Snippets Groups Projects
Commit efd5d7a5 authored by Stefano Borini's avatar Stefano Borini
Browse files

Merge branch 'master' into release-0.1.0

parents ed97fdcf d927c5ab
No related branches found
No related tags found
1 merge request!104Release 0.1.0
Showing
with 0 additions and 291 deletions
from force_bdss.api import BaseDataSource
class DummyDataSource(BaseDataSource):
def run(self, model, parameters):
return parameters
def slots(self, model):
return (), ()
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)
from force_bdss.api import BaseDataSourceModel
class DummyDataSourceModel(BaseDataSourceModel):
pass
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, ((), ()))
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
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 (), ()
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)
from force_bdss.api import BaseKPICalculatorModel
class DummyKPICalculatorModel(BaseKPICalculatorModel):
pass
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), ((), ()))
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
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")
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)
from force_bdss.api import BaseNotificationListenerModel
class DummyNotificationListenerModel(BaseNotificationListenerModel):
pass
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")
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)
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