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)
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)
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'})
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)
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)
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, '')
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))
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))
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')
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)
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)
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')
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')
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')
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')
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')
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')
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')
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')
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')
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))
def test_wanted_static_npc(self): """ """ npc = NPC(self.redis) wanted = Wanted(self.redis, {'npc':npc}) self.assertEquals(npc, wanted.npc)
def test_jobposting_static_npc(self): """ """ npc = NPC(self.redis) jobposting = JobPosting(self.redis, {'npc': npc}) self.assertEquals(npc, jobposting.npc)
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)