Beispiel #1
0
    def test_unsubscribe_all(self):
        """
        Check unsubscribe.
        """
        observer = ObserverMixin()

        def one_callback(signal):
            pass

        def another_callback(signal):
            pass

        observer.subscribe('signal1', one_callback)
        observer.subscribe('signal2', one_callback)
        self.assertEqual(2, len(observer._subscribers))
        observer.unsubscribe()
        self.assertEqual(0, len(observer._subscribers))
Beispiel #2
0
    def test_unsubscribe_all_signal(self):
        """
        Check unsubscribe for a specific signal.
        """
        observer = ObserverMixin()

        def one_callback(signal):
            pass

        def another_callback(signal):
            pass

        observer.subscribe('signal1', one_callback)
        observer.subscribe('signal1', another_callback)
        observer.subscribe('signal2', one_callback)
        self.assertEqual(2, len(observer._subscribers))
        observer.unsubscribe(name='signal1')
        self.assertEqual(2, len(observer._subscribers))
        self.assertEqual(0, len(observer._subscribers['signal1']))
        self.assertEqual(1, len(observer._subscribers['signal2']))
Beispiel #3
0
    def test_unsubscribe_callback(self):
        """
        Check unsubscribe for a specific callback.
        """
        observer = ObserverMixin()

        def one_callback(signal):
            pass

        def another_callback(signal):
            pass

        observer.subscribe('signal1', one_callback)
        observer.subscribe('signal1', another_callback)
        observer.subscribe('signal2', one_callback)
        self.assertEqual(2, len(observer._subscribers))
        observer.unsubscribe(name='signal1', callback=another_callback)
        self.assertEqual(2, len(observer._subscribers))
        self.assertEqual(1, len(observer._subscribers['signal1']))
        self.assertTrue(one_callback in observer._subscribers['signal1'])
        self.assertFalse(another_callback in observer._subscribers['signal1'])
        self.assertEqual(1, len(observer._subscribers['signal2']))