Ejemplo n.º 1
0
 def test_legend_static_npc(self):
     """  """
     npc = NPC(self.redis)
     villian = NPC(self.redis)
     villian.name.fullname = "jango fett"
     legend = Legend(self.redis, {'npc': npc, 'villain': villian})
     self.assertIn(villian.name.fullname, legend.text)
Ejemplo n.º 2
0
    def test_generated_race(self):
        """  """
        # only human is in the npc_race array
        self.redis.lpush('npc_race', 'human')

        npc = NPC(self.redis)
        self.assertEqual('human', npc.race)
        npc = NPC(self.redis, {})
        self.assertEqual('human', npc.race)
Ejemplo n.º 3
0
    def test_races(self):
        """  """
        self.redis.lpush('npc_race', 'kobold')

        npc = NPC(self.redis, {'race': 'kobold'})
        self.assertIn('kobold', npc.race)
        self.assertEqual('Kole', npc.name.fullname)

        with self.assertRaisesRegexp(
                Exception,
                'turkeys is not a valid race and has no associated data'):
            npc = NPC(self.redis, {'race': 'turkeys'})
Ejemplo n.º 4
0
def generatenpc():
    """Generate an NPC"""

    features = feature_filter('npc')
    features['deity'] = Deity(app.server)
    tempobj = NPC(app.server, features)
    return render_template('npc.html', tempobj=tempobj)
Ejemplo n.º 5
0
 def test_static_npc(self):
     """  """
     npc = NPC(self.redis)
     grafitti = Grafitti(self.redis, {'npc': npc})
     self.assertEqual(
         'The following message is written in Gnomish with slime: "The warrior tried to protect us, but was too late..." The message is signed with a hand print. You\'d guess the message is less than a day old.',
         grafitti.text)
     self.assertEqual('Tom', grafitti.npcname)
Ejemplo n.º 6
0
    def test_motivation_w_fear(self):
        """  """

        npc = NPC(self.redis)
        motivation = Motivation(self.redis, {'npc': npc, 'kind': 'fear'})
        self.assertNotEqual(motivation.text, '')
        self.assertEqual(motivation.npc, npc)
        self.assertNotEqual('%s' % motivation, '')
Ejemplo n.º 7
0
    def test_static_cuisine(self):
        """  """
        creator=NPC(self.redis)
        region = Region(self.redis)

        cuisine = Cuisine(self.redis,{ 'creator':creator, 'region':region, 'text': 'Tacos.' } )
        self.assertEqual('Tacos.', cuisine.text)
        self.assertEqual(creator, cuisine.creator)
        self.assertEqual(region, cuisine.region)
        self.assertEqual("Tacos.", str(cuisine))
Ejemplo n.º 8
0
    def test_names(self):
        """  """
        self.redis.lpush('npc_race', 'human')
        self.redis.lpush('humanname_title', 'Lady')
        self.redis.lpush('humanname_trailer', 'Esq.')

        npc = NPC(self.redis, {'race': 'human'})
        self.assertEqual(npc.race, 'human')
        self.assertEqual('Lady Drucilla LaSalvae Esq.', npc.name.fullname)
        self.assertEqual('Lady Drucilla LaSalvae Esq.', str(npc))
Ejemplo n.º 9
0
    def test_race_details(self):
        """  """
        self.redis.lpush('npc_race', 'human')

        npc = NPC(self.redis, {'race': 'human'})
        self.assertEqual(npc.race, 'human')

        self.assertEqual(npc.details['name'], 'Human')
        self.assertEqual(npc.details['size'], 'medium')
        self.assertEqual(npc.details['description'],
                         'quick growth and adaptability')
Ejemplo n.º 10
0
    def test_motivations(self):
        """ Test NPC Motivations """
        #Our Static Motivation
        self.redis.lpush('npc_race', 'human')
        self.redis.lpush('npc_race', 'kobold')

        motivation = Motivation(self.redis)

        npc = NPC(self.redis, {'race': 'human'})
        self.assertNotEqual('', npc.race)
        self.assertNotEqual('', npc.motivation.text)
        #This should be random, not our static
        self.assertNotEqual(motivation, npc.motivation)
        self.assertEqual('to gain the respect of her peers',
                         npc.motivation.text)

        npc = NPC(self.redis, {'race': 'human', 'motivation': motivation})
        #This should be our static Motivation
        self.assertEqual(motivation, npc.motivation)
        self.assertEqual('to gain the respect of her peers',
                         npc.motivation.text)
Ejemplo n.º 11
0
    def test_phobias(self):
        """ Test NPC Phobias """
        #Our Static Phobia
        phobia = Phobia(self.redis)
        self.redis.lpush('npc_race', 'human')

        npc = NPC(self.redis, {'race': 'human'})
        self.assertNotEqual('', npc.race)
        self.assertNotEqual('', npc.phobia.text)
        #This should be random, not our static
        self.assertNotEqual(phobia, npc.phobia)
        self.assertEqual(
            'You have moderate Ablutophobia, which is a fear of washing or bathing.',
            npc.phobia.text)

        npc = NPC(self.redis, {'race': 'human', 'phobia': phobia})
        #This should be our static Phobia
        self.assertEqual(phobia, npc.phobia)
        self.assertEqual(
            'You have moderate Ablutophobia, which is a fear of washing or bathing.',
            npc.phobia.text)
Ejemplo n.º 12
0
def generatecurrency():
    """Generate a currency"""
    features = feature_filter('currency')
    titletext = 'Spare Some Change?'
    features['npc'] = NPC(app.server)
    if ('count' in request.args and valid_count(request.args['count'])):
        currencys = []
        for _ in xrange(int(request.args['count'])):
            currencys.append(Currency(app.server, features))
            features['seed'] = set_seed()
        return render_template('oneliner.html', oneliners=currencys,
                               oneliner=currencys[0], titletext=titletext, generator='currency')
    else:
        currency = Currency(app.server, features)
        return render_template('oneliner.html', oneliner=currency, titletext=titletext, generator='currency')
Ejemplo n.º 13
0
def generaterumor():
    """Generate a rumor"""
    features = feature_filter('rumor')
    titletext = 'Did You Hear?'
    features['npc'] = NPC(app.server)
    if ('count' in request.args and valid_count(request.args['count'])):
        rumors = []
        for _ in xrange(int(request.args['count'])):
            rumors.append(Rumor(app.server, features))
            features['seed'] = set_seed()
        return render_template('oneliner.html', oneliners=rumors,
                               oneliner=rumors[0], titletext=titletext, generator='rumor')
    else:
        rumor = Rumor(app.server, features)
        return render_template('oneliner.html', oneliner=rumor, titletext=titletext, generator='rumor')
Ejemplo n.º 14
0
def generatemotivation():
    """Generate a motivation"""
    features = feature_filter('motivation')
    titletext = 'I\'m Motivated...'
    features['npc'] = NPC(app.server)
    if ('count' in request.args and valid_count(request.args['count'])):
        motivations = []
        for _ in xrange(int(request.args['count'])):
            motivations.append(Motivation(app.server, features))
            features['seed'] = set_seed()
        return render_template('oneliner.html', oneliners=motivations,
                               oneliner=motivations[0], titletext=titletext, generator='motivation')
    else:
        motivation = Motivation(app.server, features)
        return render_template('oneliner.html', oneliner=motivation, titletext=titletext, generator='motivation')
Ejemplo n.º 15
0
def generatejobposting():
    """Generate a jobposting"""

    features = feature_filter('jobposting')
    titletext = 'Help Wanted!'
    features['npc'] = NPC(app.server)
    if ('count' in request.args and valid_count(request.args['count'])):
        jobpostings = []
        for _ in xrange(int(request.args['count'])):
            jobpostings.append(JobPosting(app.server, features))
            features['seed'] = set_seed()
        return render_template('oneliner.html', oneliners=jobpostings,
                               oneliner=jobpostings[0], titletext=titletext, generator='jobposting')
    else:
        jobposting = JobPosting(app.server, features)
        return render_template('oneliner.html', oneliner=jobposting, titletext=titletext, generator='jobposting')
Ejemplo n.º 16
0
def generatemisfire():
    """Generate a misfire"""

    features = feature_filter('misfire')
    titletext = 'My Spell Misfired!'
    features['npc'] = NPC(app.server)
    if ('count' in request.args and valid_count(request.args['count'])):
        misfires = []
        for _ in xrange(int(request.args['count'])):
            misfires.append(Misfire(app.server, features))
            features['seed'] = set_seed()
        return render_template('oneliner.html', oneliners=misfires,
                               oneliner=misfires[0], titletext=titletext, generator='misfire')
    else:
        misfire = Misfire(app.server, features)
        return render_template('oneliner.html', oneliner=misfire, titletext=titletext, generator='misfire')
Ejemplo n.º 17
0
def generategrafitti():
    """Generate a grafitti"""

    features = feature_filter('grafitti')
    titletext = 'Scrawled on a Nearby Wall...'
    features['npc'] = NPC(app.server, {})
    if ('count' in request.args and valid_count(request.args['count'])):
        grafittis = []
        for _ in xrange(int(request.args['count'])):
            grafittis.append(Grafitti(app.server, features))
            features['seed'] = set_seed()
        return render_template('oneliner.html', oneliners=grafittis,
                               oneliner=grafittis[0], titletext=titletext, generator='grafitti')
    else:
        grafitti = Grafitti(app.server, features)
        return render_template('oneliner.html', oneliner=grafitti, titletext=titletext, generator='grafitti')
Ejemplo n.º 18
0
def generateevent():
    """Generate a event"""

    features = feature_filter('event')
    titletext = 'Look over there...'
    features['npc'] = NPC(app.server)
    if ('count' in request.args and valid_count(request.args['count'])):
        events = []
        for _ in xrange(int(request.args['count'])):
            events.append(Event(app.server, features))
            features['seed'] = set_seed()
        return render_template('oneliner.html', oneliners=events,
                               oneliner=events[0], titletext=titletext, generator='event')
    else:
        event = Event(app.server, features)
        return render_template('oneliner.html', oneliner=event, titletext=titletext, generator='event')
Ejemplo n.º 19
0
def generateresource():
    """Generate a resource"""

    features = feature_filter('resource')
    titletext = 'At Your Disposal...'
    features['npc'] = NPC(app.server)
    if ('count' in request.args and valid_count(request.args['count'])):
        resources = []
        for _ in xrange(int(request.args['count'])):
            resources.append(Resource(app.server, features))
            features['seed'] = set_seed()
        return render_template('oneliner.html', oneliners=resources,
                               oneliner=resources[0], titletext=titletext, generator='resource')
    else:
        resource = Resource(app.server, features)
        return render_template('oneliner.html', oneliner=resource, titletext=titletext, generator='resource')
Ejemplo n.º 20
0
def generatebond():
    """Generate a bond"""

    features = feature_filter('bond')
    titletext = 'The Ties that Bind Us...'
    features['npc'] = NPC(app.server, {})
    if ('count' in request.args and valid_count(request.args['count'])):
        bonds = []
        for _ in xrange(int(request.args['count'])):
            bonds.append(Bond(app.server, features))
            features['seed'] = set_seed()
        return render_template('oneliner.html', oneliners=bonds,
                               oneliner=bonds[0], titletext=titletext, generator='bond')
    else:
        bond = Bond(app.server, features)
        return render_template('oneliner.html', oneliner=bond, titletext=titletext, generator='bond')
Ejemplo n.º 21
0
 def test_organization(self):
     """  """
     leader = NPC(self.redis)
     name = Name(self.redis, 'organization', {'leader': leader})
     self.assertEqual('organization', str(name.namesource))
     print "organization:  %s | %s | %s" % (name.fullname, name.shortname,
                                            name.formalname)
     self.assertEqual(str(name.fullname), str(name.formalname))
     self.assertNotIn('{{', str(name.fullname))
     self.assertNotIn('}}', str(name.fullname))
     self.assertNotIn('params', str(name.fullname))
     self.assertNotIn('{{', str(name.shortname))
     self.assertNotIn('}}', str(name.shortname))
     self.assertNotIn('params', str(name.shortname))
     self.assertNotIn('{{', str(name.formalname))
     self.assertNotIn('}}', str(name.formalname))
     self.assertNotIn('params', str(name.formalname))
Ejemplo n.º 22
0
 def test_wanted_static_npc(self):
     """  """
     npc = NPC(self.redis)
     wanted = Wanted(self.redis, {'npc':npc})
     self.assertEquals(npc, wanted.npc)
Ejemplo n.º 23
0
 def test_jobposting_static_npc(self):
     """  """
     npc = NPC(self.redis)
     jobposting = JobPosting(self.redis, {'npc': npc})
     self.assertEquals(npc, jobposting.npc)
Ejemplo n.º 24
0
 def test_static_person(self):
     """  """
     npc = NPC(self.redis, {'fullname': 'baba'})
     rumor = Rumor(self.redis, {'victim': npc})
     self.assertEqual('Tom Gyro quietly maimed Tom Gyro last year.', rumor.text)