def test_transition_friend_to_enemy(self): self.person1.friends = set() self.person2.friends = set() self.person1.friends.add(self.person2) self.person2.friends.add(self.person1) self.person1.personality.facets = Personality.PersonalityFacet() self.person2.personality.facets = Personality.PersonalityFacet() self.person1.affinity_map = { self.person2: self.m.friends_affinity * 0.5 } self.person1.personality.interests = { 1: self.m.friends_affinity, 2: self.m.enemies_affinity } posts_to_hate = [] for x in range(2): posts_to_hate.append(Post.Post(self.person2, [ 2, ])) self.person1.process_post(posts_to_hate[0]) self.assertTrue(self.person2 in self.person1.friends, "Person2 should now be person1's friend, but is not.") self.assertTrue(self.person2 not in self.person1.enemies, "Person2 should not be person1's enemy, but is.") self.person1.process_post(posts_to_hate[1]) self.assertTrue(self.person2 not in self.person1.friends, "Person2 should not be person1's friend, but is.") self.assertTrue(self.person2 in self.person1.enemies, "Person2 should be person1's enemy, but is not.")
def test_make_enemy(self): # Disable any modifications of personality behavior self.person1.personality.facets = Personality.PersonalityFacet() self.person2.personality.facets = Personality.PersonalityFacet() self.person1.personality.interests = { 1: self.m.friends_affinity, 2: self.m.enemies_affinity } post_to_hate = Post.Post(self.person2, [ 2, ]) self.person1.process_post(post_to_hate) self.assertTrue(self.person2 in self.person1.enemies, "Person2 should now be person1's enemy, but is not.")
def static_extrovert_personalities_who_like_distant_people(model): for agent in model.agents: agent.personality.repost_probability = 0.9 agent.personality.post_probability = 0.9 agent.personality.fame = 70 agent.personality.probability_read_reposts = 0.8 #agent.interests = {1: 5, 2: -5} agent.personality.facets = Personality.LovesPeopleInOppositeHemisphere()
def test_dislike_score(self): # Disable any modifications of personality behavior self.person1.personality.facets = Personality.PersonalityFacet() self.person2.personality.facets = Personality.PersonalityFacet() self.person1.personality.interests = {1: 1, 2: -1} post_to_dislike = Post.Post(self.person2, [ 2, ]) self.person2.dispatch_post(post_to_dislike) self.person1.settle_reposts() self.assertEqual( self.person1.affinity_map[self.person2], -1, "Disliked post not scored correctly." "%r != %r map: %r" % (self.person1.affinity_map[self.person2], -1, self.person1.affinity_map))
def test_like_score(self): # Disable any modifications of personality behavior self.person1.personality.facets = Personality.PersonalityFacet() self.person2.personality.facets = Personality.PersonalityFacet() self.person1.personality.interests = {1: 1, 2: -1} post_to_like = Post.Post(self.person2, [ 1, ]) self.person2.dispatch_post(post_to_like) self.assertNotEquals(self.person1.inbox, None, "Message not arrived in inbox.") self.person1.settle_reposts() self.assertEqual( self.person1.affinity_map[self.person2], 1, "Liked post not scored correctly." "%r != %r map: %r" % (self.person1.affinity_map[self.person2], 1, self.person1.affinity_map))
def test_verify_facets_can_affect_score(self): self.person1.personality.interests={1: 1, 2: -1} # arbitrary number to cause an eventual timeout if the test is a failure for x in range(200): post_to_like = Post.Post(self.person2, [1, ]) self.person1.process_post(post_to_like) if self.person1.affinity_map[self.person2] != 1: return True self.person1.personality.facets = Personality.random_facets(self.person1.personality, self.m) self.person1.affinity_map = {} self.fail("Random personalities should have caused score deviation, but did not.")
def test_verify_facets_can_affect_score(self): self.person1.personality.interests = {1: 1, 2: -1} # arbitrary number to cause an eventual timeout if the test is a failure for x in range(200): post_to_like = Post.Post(self.person2, [ 1, ]) self.person1.process_post(post_to_like) if self.person1.affinity_map[self.person2] != 1: return True self.person1.personality.facets = Personality.random_facets( self.person1.personality, self.m) self.person1.affinity_map = {} self.fail( "Random personalities should have caused score deviation, but did not." )
def __init__(self): self.mode = MODE_COMMANDS # Other is MODE_USERPLAY where you are in control of the hero if CURSES: # Initialize curses cbreak() noecho() # Initialize the Kernel Kernel() # Set's up the socket NethackSock() # Socket observers SocketLogger( ) # This should be before other stuff for easier debugging FramebufferParser() DGLParser() # Stuff Console() Cursor() Dungeon() Hero() MonsterSpoiler() ItemDB() Inventory() # AI Personality() Senses() Pathing() # Brains curBrain = TestBrain() Kernel.instance.Personality.setBrain(curBrain) # Default brain
def doQuickSave(item): """This function forces a quick save operation.""" Personality.preQuickSave() WorldEditor.quickSave()
def doFullSave(item): """This function forces a full save and process all operation.""" Personality.preFullSave() WorldEditor.save()
def actQuickSaveExecute(): """This function forces a quick save operation.""" Personality.preQuickSave() WorldEditor.quickSave()
def actSaveProjectExecute(): """This function forces a full save and process all operation.""" Personality.preFullSave() WorldEditor.save()
def actQuickSaveExecute(): """This function forces a quick save operation.""" Personality.preQuickSave() WorldEditor.quickSave()
def actSaveProjectExecute(): """This function forces a full save and process all operation.""" Personality.preFullSave() WorldEditor.save()
def doQuickSave( item ): """This function forces a quick save operation.""" Personality.preQuickSave() WorldEditor.quickSave()
def doFullSave( item ): """This function forces a full save and process all operation.""" Personality.preFullSave() WorldEditor.save()