예제 #1
0
    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.")
예제 #2
0
    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.")
예제 #3
0
    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))
예제 #4
0
    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))