class TesterForListening(object): def setUp(self): self.obj = MUDObject(None) self.obj.addDelegate(DelegateHelper(self.obj)) def test_unregister(self): self.obj.removeDelegate(self.obj.delegate) def test_event_passing(self): self.obj.receiveEvent(BaseEvent()) assert self.obj.delegate.received == [BaseEvent()] def test_event_flushing(self): self.obj.eventFlush() assert self.obj.delegate.flushed def test_bad_unregister(self): self.obj.delegates.remove(self.obj.delegate) try: self.obj.removeDelegate(self.obj.delegate) except ValueError: pass else: assert False def test_bad_register(self): try: self.obj.addDelegate(self.obj.delegate) except ValueError: pass else: assert False
class TestActionsAndEvents(SetupHelper): def setUp(self): self.obj = MUDObject(None) self.setup_for_object(self.obj) def test_deaf_on_success(self): deafOn(self.obj) assert self.obj.delegate.received == [DeafnessOnEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_on_failure(self): self.obj.deaf = True deafOn(self.obj) assert self.obj.delegate.received == [DeafnessOnAlreadyEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_off_failure(self): deafOff(self.obj) assert self.obj.delegate.received == [DeafnessOffAlreadyEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_off_success(self): self.obj.deaf = True deafOff(self.obj) assert self.obj.delegate.received == [DeafnessOffEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_on_success_with_parsing(self): deafDistributor(self.obj, 'on', None) assert self.obj.delegate.received == [DeafnessOnEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_on_failure_with_parsing(self): self.obj.deaf = True deafDistributor(self.obj, 'on', None) assert self.obj.delegate.received == [DeafnessOnAlreadyEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_off_failure_with_parsing(self): deafDistributor(self.obj, 'off', None) assert self.obj.delegate.received == [DeafnessOffAlreadyEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_off_success_with_parsing(self): self.obj.deaf = True deafDistributor(self.obj, 'off', None) assert self.obj.delegate.received == [DeafnessOffEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_interesting_but_correct_syntaxes(self): for cmd in [" %s", "%s ", "\t%s ", "%s\t", "\t %s", "\r\t%s", "%s\r ", "%s \r ", "%s", "%s \t", "%s foo", "%sbar"]: deafDistributor(self.obj, cmd % 'on', None) deafDistributor(self.obj, cmd % 'off', None) assert self.obj.delegate.received == [DeafnessOnEvent(), DeafnessOffEvent()], \ "Failed on %r, self.delegate.received is %r" % \ (cmd, self.delegate.received) self.obj.delegate.received = [] deafDistributor(self.obj, cmd % 'ON', None) deafDistributor(self.obj, cmd % 'OFF', None) assert self.obj.delegate.received == [DeafnessOnEvent(), DeafnessOffEvent()], \ "Failed on %r, self.delegate.received is %r" % \ (cmd, self.delegate.received) self.obj.delegate.received = [] def test_wrong_syntax(self): for cmd in ['this', 'is', 'all wrong', 'and', 'should', 'not', 'turn', 'it on', 'or off']: deafDistributor(self.obj, cmd, None) assert self.obj.delegate.received == \ [BadSyntaxEvent(syntaxmessage)],\ "Failed on %r, self.delegate.received is %r" % \ (cmd, self.delegate.received) self.obj.delegate.received = [] def test_AudibleEvent_filtering(self): self.obj.deaf = True self.obj.receiveEvent(AudibleEvent()) print self.obj.delegate.received assert self.obj.delegate.received == []
class TestActionsAndEvents(SetupHelper): def setUp(self): self.obj = MUDObject(None) self.setup_for_object(self.obj) def test_deaf_on_success(self): deafOn(self.obj) assert self.obj.delegate.received == [DeafnessOnEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_on_failure(self): self.obj.deaf = True deafOn(self.obj) assert self.obj.delegate.received == [DeafnessOnAlreadyEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_off_failure(self): deafOff(self.obj) assert self.obj.delegate.received == [DeafnessOffAlreadyEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_off_success(self): self.obj.deaf = True deafOff(self.obj) assert self.obj.delegate.received == [DeafnessOffEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_on_success_with_parsing(self): deafDistributor(self.obj, 'on', None) assert self.obj.delegate.received == [DeafnessOnEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_on_failure_with_parsing(self): self.obj.deaf = True deafDistributor(self.obj, 'on', None) assert self.obj.delegate.received == [DeafnessOnAlreadyEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_off_failure_with_parsing(self): deafDistributor(self.obj, 'off', None) assert self.obj.delegate.received == [DeafnessOffAlreadyEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_deaf_off_success_with_parsing(self): self.obj.deaf = True deafDistributor(self.obj, 'off', None) assert self.obj.delegate.received == [DeafnessOffEvent()], \ "self.delegate.received is %r" % self.delegate.received def test_interesting_but_correct_syntaxes(self): for cmd in [ " %s", "%s ", "\t%s ", "%s\t", "\t %s", "\r\t%s", "%s\r ", "%s \r ", "%s", "%s \t", "%s foo", "%sbar" ]: deafDistributor(self.obj, cmd % 'on', None) deafDistributor(self.obj, cmd % 'off', None) assert self.obj.delegate.received == [DeafnessOnEvent(), DeafnessOffEvent()], \ "Failed on %r, self.delegate.received is %r" % \ (cmd, self.delegate.received) self.obj.delegate.received = [] deafDistributor(self.obj, cmd % 'ON', None) deafDistributor(self.obj, cmd % 'OFF', None) assert self.obj.delegate.received == [DeafnessOnEvent(), DeafnessOffEvent()], \ "Failed on %r, self.delegate.received is %r" % \ (cmd, self.delegate.received) self.obj.delegate.received = [] def test_wrong_syntax(self): for cmd in [ 'this', 'is', 'all wrong', 'and', 'should', 'not', 'turn', 'it on', 'or off' ]: deafDistributor(self.obj, cmd, None) assert self.obj.delegate.received == \ [BadSyntaxEvent(syntaxmessage)],\ "Failed on %r, self.delegate.received is %r" % \ (cmd, self.delegate.received) self.obj.delegate.received = [] def test_AudibleEvent_filtering(self): self.obj.deaf = True self.obj.receiveEvent(AudibleEvent()) print self.obj.delegate.received assert self.obj.delegate.received == []