예제 #1
0
파일: observer_test.py 프로젝트: Bklyn/Tron
class ObservableTestCase(TestCase):

    @setup
    def setup_observer(self):
        self.obs = Observable()

    def test_attach(self):
        func = lambda: 1
        self.obs.attach('a', func)
        assert_equal(len(self.obs._observers), 1)
        assert_equal(self.obs._observers['a'], [func])

    def test_listen_seq(self):
        func = lambda: 1
        self.obs.attach(['a', 'b'], func)
        assert_equal(len(self.obs._observers), 2)
        assert_equal(self.obs._observers['a'], [func])
        assert_equal(self.obs._observers['b'], [func])

    def test_notify(self):
        handler = turtle.Turtle()
        self.obs.attach(['a', 'b'], handler)
        self.obs.notify('a')
        assert_equal(len(handler.handler.calls), 1)
        self.obs.notify('b')
        assert_equal(len(handler.handler.calls), 2)
예제 #2
0
class TestObservable(TestCase):
    @setup
    def setup_observer(self):
        self.obs = Observable()

    def test_attach(self):
        def func():
            return 1

        self.obs.attach('a', func)
        assert_equal(len(self.obs._observers), 1)
        assert_equal(self.obs._observers['a'], [func])

    def test_listen_seq(self):
        def func():
            return 1

        self.obs.attach(['a', 'b'], func)
        assert_equal(len(self.obs._observers), 2)
        assert_equal(self.obs._observers['a'], [func])
        assert_equal(self.obs._observers['b'], [func])

    def test_notify(self):
        handler = mock.MagicMock()
        self.obs.attach(['a', 'b'], handler)
        self.obs.notify('a')
        assert_equal(len(handler.handler.mock_calls), 1)
        self.obs.notify('b')
        assert_equal(len(handler.handler.mock_calls), 2)
예제 #3
0
class ObservableTestCase(TestCase):
    @setup
    def setup_observer(self):
        self.obs = Observable()

    def test_attach(self):
        func = lambda: 1
        self.obs.attach('a', func)
        assert_equal(len(self.obs._observers), 1)
        assert_equal(self.obs._observers['a'], [func])

    def test_listen_seq(self):
        func = lambda: 1
        self.obs.attach(['a', 'b'], func)
        assert_equal(len(self.obs._observers), 2)
        assert_equal(self.obs._observers['a'], [func])
        assert_equal(self.obs._observers['b'], [func])

    def test_notify(self):
        handler = turtle.Turtle()
        self.obs.attach(['a', 'b'], handler)
        self.obs.notify('a')
        assert_equal(len(handler.handler.calls), 1)
        self.obs.notify('b')
        assert_equal(len(handler.handler.calls), 2)
예제 #4
0
class TestObserver(TestCase):
    @setup
    def setup_observer(self):
        self.obs = Observable()

    def test_watch(self):
        event = "FIVE"
        handler = MockObserver(self.obs, event)

        self.obs.notify(event)
        assert_equal(handler.has_watched, 1)
        self.obs.notify("other event")
        assert_equal(handler.has_watched, 1)
        self.obs.notify(event)
        assert_equal(handler.has_watched, 2)