38 lines
1.8 KiB
Python
38 lines
1.8 KiB
Python
|
import unittest
|
||
|
|
||
|
import core.input
|
||
|
|
||
|
class config(unittest.TestCase):
|
||
|
def setUp(self):
|
||
|
self.inputObject = core.input.Object()
|
||
|
self.anotherObject = core.input.Object()
|
||
|
self.someEvent = { 'button': core.input.LEFT_MOUSE, 'instance': self.inputObject.id() }
|
||
|
self.anotherEvent = { 'button': core.input.RIGHT_MOUSE, 'instance': self.inputObject.id() }
|
||
|
self.callback = unittest.mock.MagicMock()
|
||
|
self.callback2 = unittest.mock.MagicMock()
|
||
|
|
||
|
def test_callable_gets_called(self):
|
||
|
core.input.register(self.inputObject, self.someEvent['button'], self.callback)
|
||
|
core.input.trigger(self.someEvent)
|
||
|
self.callback.assert_called_once_with(self.someEvent)
|
||
|
|
||
|
def test_different_events(self):
|
||
|
core.input.register(self.inputObject, self.someEvent['button'], self.callback)
|
||
|
core.input.register(self.inputObject, self.anotherEvent['button'], self.callback)
|
||
|
core.input.register(self.anotherObject, self.someEvent['button'], self.callback2)
|
||
|
core.input.register(self.anotherObject, self.anotherEvent['button'], self.callback2)
|
||
|
core.input.trigger(self.someEvent)
|
||
|
core.input.trigger(self.anotherEvent)
|
||
|
self.callback.assert_any_call(self.someEvent)
|
||
|
self.callback.assert_any_call(self.anotherEvent)
|
||
|
self.callback2.assert_not_called()
|
||
|
|
||
|
def test_multiple_registrations(self):
|
||
|
core.input.register(self.inputObject, self.someEvent['button'], self.callback)
|
||
|
core.input.register(self.inputObject, self.someEvent['button'], self.callback2)
|
||
|
core.input.trigger(self.someEvent)
|
||
|
self.callback.assert_called_once_with(self.someEvent)
|
||
|
self.callback2.assert_called_once_with(self.someEvent)
|
||
|
|
||
|
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|