Example #1
0
    def testRemoveOneOfTwoMediatorsAndSubsequentNotify(self):
        """ViewTest: Test removing one of two Mediators and subsequent notify()"""

        view = View('test')

        view.register_mediator(utils.view.ViewTestMediator2(self))

        view.register_mediator(utils.view.ViewTestMediator3(self))

        view.notify_observers(Notification(self.NOTE1))
        self.assertEqual(True, self.lastNotification == self.NOTE1)

        view.notify_observers(Notification(self.NOTE2))
        self.assertEqual(True, self.lastNotification == self.NOTE2)

        view.notify_observers(Notification(self.NOTE3))
        self.assertEqual(True, self.lastNotification == self.NOTE3)

        view.remove_mediator(utils.view.ViewTestMediator2.NAME)

        self.assertEqual(True, view.retrieve_mediator(utils.view.ViewTestMediator2.NAME) is None)

        self.lastNotification = None

        view.notify_observers(Notification(self.NOTE1))
        self.assertEqual(True, self.lastNotification != self.NOTE1)

        view.notify_observers(Notification(self.NOTE2))
        self.assertEqual(True, self.lastNotification != self.NOTE2)

        view.notify_observers(Notification(self.NOTE3))
        self.assertEqual(True, self.lastNotification == self.NOTE3)

        self.__cleanup()
Example #2
0
    def testMediatorReregistration(self):
        """
        Tests registering the same mediator twice.
        A subsequent notification should only illicit
        one response. Also, since reregistration
        was causing 2 observers to be created, ensure
        that after removal of the mediator there will
        be no further response.

        Added for the fix deployed in version 2.0.4
        """

        view = View('test')

        view.register_mediator(utils.view.ViewTestMediator5(self))

        # try to register another instance of that mediator (uses the same NAME constant).
        view.register_mediator(utils.view.ViewTestMediator5(self))

        self.counter = 0
        view.notify_observers(Notification(self.NOTE5))
        self.assertEqual(1, self.counter)

        view.remove_mediator(utils.view.ViewTestMediator5.NAME)

        self.assertEqual(True, view.retrieve_mediator(utils.view.ViewTestMediator5.NAME ) is None)

        self.counter=0
        view.notify_observers(Notification(self.NOTE5))
        self.assertEqual(0,  self.counter)
Example #3
0
    def testRegisterAndRetrieveMediator(self):
        """ViewTest: Test register_mediator() and retrieve_mediator()"""
        view = View('test')

        viewTestMediator = utils.view.ViewTestMediator(self)
        view.register_mediator(viewTestMediator)

        mediator = view.retrieve_mediator(utils.view.ViewTestMediator.NAME)

        self.assertEqual(True, isinstance(mediator, utils.view.ViewTestMediator))
        self.__cleanup()
Example #4
0
    def testRegisterAndRemoveMediator(self):
        """ViewTest: Test register_mediator() and remove_mediator()"""
        view = View('test')

        meditr = Mediator('testing', self)
        view.register_mediator(meditr)

        removedMediator = view.remove_mediator('testing')

        self.assertEqual(True, removedMediator.get_mediator_name() == 'testing')

        self.assertEqual(True, view.retrieve_mediator('testing') is None)
        self.__cleanup()
Example #5
0
    def testSuccessiveRegisterAndRemoveMediator(self):
        """ViewTest: Test Successive register_mediator() and remove_mediator()"""
        view = View('test')

        view.register_mediator(utils.view.ViewTestMediator(self))

        self.assertEqual(True, isinstance(view.retrieve_mediator(utils.view.ViewTestMediator.NAME), utils.view.ViewTestMediator))

        view.remove_mediator(utils.view.ViewTestMediator.NAME)

        self.assertEqual(True, view.retrieve_mediator(utils.view.ViewTestMediator.NAME) is None)

        self.assertEqual(True, view.remove_mediator(utils.view.ViewTestMediator.NAME) is None)

        view.register_mediator(utils.view.ViewTestMediator(self))

        self.assertEqual(True, isinstance(view.retrieve_mediator(utils.view.ViewTestMediator.NAME), utils.view.ViewTestMediator))

        view.remove_mediator(utils.view.ViewTestMediator.NAME)

        self.assertEqual(True, view.retrieve_mediator(utils.view.ViewTestMediator.NAME) is None)

        self.__cleanup()