예제 #1
0
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
예제 #2
0
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
예제 #3
0
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 == []
예제 #4
0
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 == []