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()
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)
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()
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()
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()