def testMediator(self): M = FwMediator() eventgroup = "testEvents" C1 = TColleague(M, eventgroup) C2 = TColleague(M, eventgroup) assert C1.mediator == M and C2.mediator == M M.register(C1, eventgroup, "Add", "Change", "Del") M.register(C2, eventgroup, "Add", "Del") E1 = FwEventFactory(C1, "Add") E2 = FwEventFactory(C1, "Change") assert E1.eventgroup == eventgroup and E2.eventgroup == eventgroup C1.report(E1) assert C2.myevent == 1 and C1.myevent == 0 # C2 isn't registred for "Change" actions C1.report(E2) assert C2.myevent == 1 and C1.myevent == 0 # register another event M.register(C2, eventgroup, "Change") C1.report(E2) assert C2.myevent == 2 and C1.myevent == 0 # unregister from all events M.unregister(C2, eventgroup, "Add", "Change") C1.report(E1) C1.report(E2) assert C2.myevent == 2 and C1.myevent == 0