Exemplo n.º 1
0
 def test_message_nearby_location(self):
     plaza = Location("plaza")
     road = Location("road")
     house = Location("house")
     attic = Location("attic")
     plaza.add_exits([Exit("north", road, "road leads north"), Exit("door", house, "door to a house")])
     road.add_exits([Exit("south", plaza, "plaza to the south")])
     house.add_exits([Exit("door", plaza, "door to the plaza"), Exit("ladder", attic, "dusty attic")])
     attic.add_exits([Exit("ladder", house, "the house")])
     wiretap_plaza = Wiretap(plaza)
     wiretap_road = Wiretap(road)
     wiretap_house = Wiretap(house)
     wiretap_attic = Wiretap(attic)
     util.message_nearby_locations(plaza, "boing")
     pubsub.sync()
     self.assertEqual([], wiretap_plaza.msgs, "the plaza doesnt receive tells")
     self.assertEqual([], wiretap_attic.msgs, "the attic is too far away to receive msgs")
     self.assertTrue(("road", "boing") in wiretap_road.msgs)
     self.assertTrue(
         ("road", "The sound is coming from the south.") in wiretap_road.msgs, "road should give sound direction"
     )
     self.assertTrue(("house", "boing") in wiretap_house.msgs)
     self.assertTrue(
         ("house", "You can't hear where the sound is coming from.") in wiretap_house.msgs,
         "in the house you can't locate the sound direction",
     )
Exemplo n.º 2
0
 def do_cry(self, ctx):
     self.tell_others("{Title} yells: welcome everyone!")
     message_nearby_locations(self.location, "Someone nearby is yelling: welcome everyone!")
     ctx.driver.defer(random.randint(20, 40), self.do_cry)