Beispiel #1
0
    def setUp(self):
        self.room = Room("Just outside a dark cave.", "")
        self.actor = TargettableObject("a decapitated knight",
                                       set(['shiny', 'dead']),
                                       self.room)
        self.roomtarget = TargettableObject("a killer rabbit",
                                            set(['bunny', 'fluffy', "rabbit",
                                                 'murderous', "killer"]),
                                            self.room)
        self.invtarget = NamedObject("a surprised-looking decapitated head",
                                     "Boris", set(["head", "dead"]),
                                     self.actor.inventory)
        self.otherroom = Room("Just inside a dark cave.", "")
        self.exit = TargettableExitObject(self.room, self.otherroom,
                                          "the mouth of a cave", 
                                          set(["cave", "mouth"]))

        self.room.add(self.actor)
        self.room.add(self.roomtarget)
        self.room.add(self.invtarget)
        self.room.add(self.exit)

        self.setup_for_object(self.actor)

        self.info = MockInfo(self.actor)
Beispiel #2
0
 def setUp(self):
     self.room = AnonyRoom()
     self.actor = MUDObject(self.room)
     self.target = TargettableObject("", set(['rabbit']), self.room)
     self.onlooker = MUDObject(self.room)
     self.other_room_target = TargettableObject('', set(), None)
     self.setup_for_object(self.actor)
     self.setup_for_object(self.target)
     self.setup_for_object(self.onlooker)
     self.info = LineInfo(instigator=self.actor)
Beispiel #3
0
 def setUp(self):
     self.room = AnonyRoom()
     self.target = TargettableObject('a killer rabbit',
                                     set(['killer', 'rabbit']), self.room)
     self.actor = MUDObject(self.room)
     self.setup_for_object(self.actor)
     self.setup_for_object(self.target)
     self.goodblob, = object_pattern.parseString('killer rabbit')
     self.badblob, = object_pattern.parseString("bogus bunny")
     self.info = MockInfo(self.actor)
Beispiel #4
0
 def setUp(self):
     self.room = AnonyRoom()
     self.actor = MUDObject(self.room)
     self.target = TargettableObject("a killer rabbit", set(['bunny',
                                                             'killer',
                                                             'rabbit']),
                                     self.room)
     self.setup_for_object(self.actor)
     self.setup_for_object(self.target)
     self.info = MockInfo(self.actor)
Beispiel #5
0
 def setUp(self):
     self.room = AnonyRoom()
     self.target = TargettableObject(
         "a killer rabbit", set(['killer', 'rabbit', 'bunny', 'fluffy']),
         self.room)
     self.setup_for_object(self.target)
     self.actor = MUDObject(self.room)
     self.setup_for_object(self.actor)
     targetSet(self.actor, "bob", self.target)
     self.info = LineInfoMockup(self.actor)
     self.bogusroom = AnonyRoom()
Beispiel #6
0
def test_matchContent_with_number():
    r = AnonyRoom()
    for n in range(10):
        o = TargettableObject('a blob', set(['blob', 'grey']), r)
        r.add(o)
        if n == 5:
            seeking = o
        if n == 0:
            first = o

    assert r.matchContent(set(['grey', 'blob']), 5) is seeking
    assert r.matchContent(set(['grey']), 0) is first
Beispiel #7
0
class TestEventSending(SetupHelper):

    def setUp(self):
        self.room = Room("Just outside a dark cave.", "")
        self.actor = TargettableObject("a decapitated knight",
                                       set(['shiny', 'dead']),
                                       self.room)
        self.roomtarget = TargettableObject("a killer rabbit",
                                            set(['bunny', 'fluffy', "rabbit",
                                                 'murderous', "killer"]),
                                            self.room)
        self.invtarget = NamedObject("a surprised-looking decapitated head",
                                     "Boris", set(["head", "dead"]),
                                     self.actor.inventory)
        self.otherroom = Room("Just inside a dark cave.", "")
        self.exit = TargettableExitObject(self.room, self.otherroom,
                                          "the mouth of a cave", 
                                          set(["cave", "mouth"]))

        self.room.add(self.actor)
        self.room.add(self.roomtarget)
        self.room.add(self.invtarget)
        self.room.add(self.exit)

        self.setup_for_object(self.actor)

        self.info = MockInfo(self.actor)

    def tearDown(self):
        self.room.remove_from_instances()
        self.actor.remove_from_instances()
        self.roomtarget.remove_from_instances()
        self.invtarget.remove_from_instances()
        NamedObject._name_registry.clear()
        self.exit.remove_from_instances()

    def test_look_at_room_TargettableObject(self):
        lookAt(self.actor, self.roomtarget)

        assert self.actor.delegate.received == [LookAtEvent(self.roomtarget)]

    def test_look_at_inventory_TargettableObject(self):
        lookAt(self.actor, self.invtarget)

        assert self.actor.delegate.received == [LookAtEvent(self.invtarget)]
        
    def test_look_at_nowhere(self):
        lookAt(self.actor, MUDObject(None))

        assert self.actor.delegate.received == [UnfoundObjectEvent()]

    def test_look_at_room(self):
        lookRoom(self.actor)

        assert self.actor.delegate.received == [LookRoomEvent(self.room)]

    def test_look_at_exit(self):
        lookAt(self.actor, self.exit)

        assert self.actor.delegate.received == [LookRoomEvent(self.otherroom)]

    def test_look_at_parsing_no_at(self):
        lookDistributor(self.actor, 'boris', self.info)

        print self.actor.delegate.received
        assert self.actor.delegate.received == [LookAtEvent(self.invtarget)]

    def test_look_at_parsing(self):
        lookDistributor(self.actor, "at killer rabbit", self.info)

        print self.actor.delegate.received
        assert self.actor.delegate.received == [LookAtEvent(self.roomtarget)]

    def test_look_at_parsing_failure(self):
        lookDistributor(self.actor, "at foobar", self.info)

        assert self.actor.delegate.received == [UnfoundObjectEvent()]

    def test_look_parsing(self):
        lookDistributor(self.actor, "", self.info)

        print self.actor.delegate.received
        assert self.actor.delegate.received == [LookRoomEvent(self.room)]
Beispiel #8
0
 def setUp(self):
     self.obj = TargettableObject("a fat elf", set(), None)
     self.setup_for_object(self.obj)
Beispiel #9
0
def test_ldesc_setting():
    obj = TargettableObject("a fat elf", set(), None)
    desc = "A really really fat elf."
    setLDesc(obj, desc)
    assert obj.ldesc == desc
Beispiel #10
0
def test_default_ldesc():
    assert TargettableObject("a fat elf", set(), None).ldesc == \
           "a fat elf. Nothing more, nothing less."