Exemplo n.º 1
0
def make_provider(name, needs=None, provides=None, cost=50):
    if not needs:
        needs = []
    if not provides:
        provides = []
    provider = BaseProvider()
    provider.name = name
    provider.get_provides = Mock(return_value=provides)
    provider.get_needs = Mock(return_value=needs)
    provider.get_cost = Mock(return_value=cost)
    return provider
Exemplo n.º 2
0
def make_provider(name, needs=None, provides=None, cost=50):
    if not needs:
        needs = []
    if not provides:
        provides = []
    provider = BaseProvider()
    provider.name = name
    provider.get_provides = Mock(return_value=provides)
    provider.get_needs = Mock(return_value=needs)
    provider.get_cost = Mock(return_value=cost)
    return provider
Exemplo n.º 3
0
 def setUp(self):
     self.provider = BaseProvider()
Exemplo n.º 4
0
class BaseProviderTest(unittest.TestCase):
    def setUp(self):
        self.provider = BaseProvider()

    def test_get_cost(self):
        self.assertEqual(self.provider.get_cost(), 50)
        self.provider.cost = 40
        self.assertEqual(self.provider.get_cost(), 40)

    def test_get_needs(self):
        with self.assertRaises(NotImplementedError):
            self.provider.get_needs()

    def test_get_provides(self):
        with self.assertRaises(NotImplementedError):
            self.provider.get_provides()

    def test_get_keys(self):
        with self.assertRaises(NotImplementedError):
            self.provider.get_keys()

    def test_provides(self):
        self.provider.get_provides = Mock(return_value=['attr1'])
        self.assertTrue(self.provider.provides('attr1'))
        self.assertFalse(self.provider.provides('attr2'))

    def test_get(self):
        self.provider.get_attr1 = Mock(return_value=['attr1'])
        self.assertEqual(self.provider.get('attr1', 'key'), ['attr1'])
        self.provider.get_attr1.assert_called_once_with('key')
        with self.assertRaises(NotImplementedError):
            self.provider.get('attr2', 'key')

    def test_repr(self):
        self.provider.name = 'test provider'
        self.assertEqual(str(self.provider), 'test provider')

    def test_can_load(self):
        self.provider.get_needs = Mock(return_value=['attr1'])
        self.assertTrue(self.provider.can_load('attr1'))
        self.assertFalse(self.provider.can_load('attr2'))

        self.provider.get_needs = Mock(return_value=['attr1', ['attr2', 'attr3']])
        self.assertTrue(self.provider.can_load('attr1'))
        self.assertTrue(self.provider.can_load(['attr2', 'attr3']))
        self.assertTrue(self.provider.can_load(['attr1', 'attr3']))
        self.assertFalse(self.provider.can_load(['attr3']))

    def test_laod(self):
        self.provider.load_settings = Mock()
        self.provider.load()
        self.provider.load_settings.assert_called_once_with()