def test_make_aspect_from_assemblage(self): factory = Assemblage(components=[Portable]) aspect = Aspect.make_from(factory) self.assertTrue(aspect.is_interested_in(self.cat)) self.assertFalse(aspect.is_interested_in(self.plant)) self.assertFalse(aspect.is_interested_in(self.bathtub)) self.assertTrue(aspect.is_interested_in(self.brains)) self.assertFalse(aspect.is_interested_in(self.zombie)) self.assertEqual(aspect.select_entities(self.entities), set([self.cat, self.brains]))
import random import re from braga import Aspect from braga.examples import duel from hogwarts.engine.Command import Command, ChangefulCommand from hogwarts.engine.exceptions import LogicError player_aspect = Aspect.make_from(duel.player_factory) # Command Responses def _look(world, player): return player.location.description def _inventory(world, player): return '/n'.join([thing.name for thing in player.inventory]) def _red_sparks(world, player): return "A stream of red sparks shoots out the end of your wand!\n\nJustin's wand spins out of his hand and flies to you.\nYour casting skill for the expelliarmus spell has increased." def _get_skill(world, player): return "\n".join([ str(player.skill), "Your chance of success is {}/20.".format( _get_expelliarmus_skill(player)) ])