Example #1
0
    def test_add_panda(self):
        socialPanda = PandaSocialNetwork({})

        with self.assertRaises(PandaAlreadyThere):
            ivo = Panda("Ivo", "*****@*****.**", "male")
            socialPanda.add_panda(ivo)
            socialPanda.add_panda(ivo)
 def test_make_friends(self):
     """ Make two pandas friends, then try to make them friends again"""
     social_network = PandaSocialNetwork()
     # don't add them to the social network
     social_network.make_friends(self.ivo, self.roza)
     with self.assertRaises(PandasAlreadyFriendsError):
         social_network.make_friends(self.ivo, self.roza)
Example #3
0
 def test_make_friends(self):
     socialPanda = PandaSocialNetwork({})
     ivo = Panda("Ivo", "*****@*****.**", "male")
     rado = Panda("Rado", "*****@*****.**", "male")
     with self.assertRaises(PandasAlreadyFriends):
         socialPanda.make_friends(ivo, rado)
         socialPanda.make_friends(ivo, rado)
 def test_are_friends(self):
     social_network = PandaSocialNetwork()
     social_network.make_friends(self.ivo, self.smith)
     social_network.make_friends(self.ivo, self.roza)
     self.assertTrue(social_network.are_friends(self.ivo, self.roza))
     self.assertTrue(social_network.are_friends(self.ivo, self.smith))
     self.assertFalse(social_network.are_friends(self.roza, self.smith))
Example #5
0
 def test_are_friends(self):
     socialPanda = PandaSocialNetwork({})
     ivo = Panda("Ivo", "*****@*****.**", "male")
     rado = Panda("Rado", "*****@*****.**", "male")
     self.assertFalse(socialPanda.are_friends(ivo, rado))
     socialPanda.make_friends(ivo, rado)
     self.assertTrue(socialPanda.are_friends(ivo, rado))
 def test_are_friends(self):
     social_network = PandaSocialNetwork()
     social_network.make_friends(self.ivo, self.rado)
     social_network.make_friends(self.ivo, self.tony)
     self.assertTrue(social_network.are_friends(self.ivo, self.rado))
     self.assertTrue(social_network.are_friends(self.ivo, self.tony))
     self.assertFalse(social_network.are_friends(self.rado, self.tony))
Example #7
0
 def test_save_social_network(self):
     socialPanda = PandaSocialNetwork({})
     ivo = Panda("Ivo", "*****@*****.**", "male")
     rado = Panda("Rado", "*****@*****.**", "male")
     fil = Panda("Fil", "*****@*****.**", "male")
     hack = Panda("Hack", "*****@*****.**", "male")
     bambi = Panda("Bambi", "*****@*****.**", "female")
     spindi = Panda("Spindi", "*****@*****.**", "male")
     mecupug = Panda("Meco Pug", "*****@*****.**", "male")
     metodi = Panda("Metodi", "*****@*****.**", "male")
     ganio = Panda("Ganio", "*****@*****.**", "male")
     emo = Panda("Emo", "*****@*****.**", "male")
     natalia = Panda("Natalia", "*****@*****.**", "female")
     martina = Panda("Martina", "*****@*****.**", "female")
     socialPanda.make_friends(ivo, rado)
     socialPanda.make_friends(ivo, fil)
     socialPanda.make_friends(ivo, bambi)
     socialPanda.make_friends(spindi, mecupug)
     socialPanda.make_friends(rado, metodi)
     socialPanda.make_friends(metodi, ganio)
     socialPanda.make_friends(fil, ganio)
     socialPanda.make_friends(emo, natalia)
     socialPanda.make_friends(emo, martina)
     socialPanda.make_friends(emo, ganio)
     socialPanda.save_social_network(socialPanda.prepare_to_json())
    def setUp(self):
        self.ivo = Panda('Ivo', '*****@*****.**', 'male')
        self.rado = Panda("Rado", "*****@*****.**", "male")
        self.same_rado = Panda("Rado", "*****@*****.**", "male")
        self.tony = Panda("Tony", "*****@*****.**", "female")

        self.social_network = PandaSocialNetwork()
Example #9
0
 def test_how_many_gender_in_network(self):
     socialPanda = PandaSocialNetwork({})
     ivo = Panda("Ivo", "*****@*****.**", "male")
     rado = Panda("Rado", "*****@*****.**", "male")
     fil = Panda("Fil", "*****@*****.**", "male")
     hack = Panda("Hack", "*****@*****.**", "male")
     bambi = Panda("Bambi", "*****@*****.**", "female")
     spindi = Panda("Spindi", "*****@*****.**", "male")
     mecupug = Panda("Meco Pug", "*****@*****.**", "male")
     metodi = Panda("Metodi", "*****@*****.**", "male")
     ganio = Panda("Ganio", "*****@*****.**", "male")
     emo = Panda("Emo", "*****@*****.**", "male")
     natalia = Panda("Natalia", "*****@*****.**", "female")
     martina = Panda("Martina", "*****@*****.**", "female")
     socialPanda.make_friends(ivo, rado)
     socialPanda.make_friends(ivo, fil)
     socialPanda.make_friends(ivo, bambi)
     socialPanda.make_friends(spindi, mecupug)
     socialPanda.make_friends(rado, metodi)
     socialPanda.make_friends(metodi, ganio)
     socialPanda.make_friends(fil, ganio)
     socialPanda.make_friends(emo, natalia)
     socialPanda.make_friends(emo, martina)
     socialPanda.make_friends(emo, ganio)
     result = socialPanda.how_many_gender_in_network(2, ivo, "male")
     """
     ivo[rado, fil, bambi] # 2
     rado[ivo, metodi] # 1
     fil[ganio,ivo] # 1
     bambi[ivo] # 0
     result = 4
     """
     self.assertEqual(
         socialPanda.how_many_gender_in_network(2, ivo, "male"), result)
     result2 = socialPanda.how_many_gender_in_network(3, ivo, "male")
     """
     ivo[rado, fil, bambi] # 2
     rado[ivo, metodi] # 1
     fil[ganio,ivo] # 1
     bambi[ivo] # 0
     metodi[rado, ganio] # 0
     ganio[fil, metodi, emo] # 1
     result = 5
     """
     self.assertEqual(
         socialPanda.how_many_gender_in_network(3, ivo, "male"), result2)
     result3 = socialPanda.how_many_gender_in_network(4, ivo, "female")
     """
     ivo[rado, fil, bambi] # 1
     rado[ivo, metodi] # 0
     fil[ganio,ivo] # 0
     bambi[ivo] # 0
     metodi[rado, ganio] # 0
     ganio[fil, metodi, emo] #
     emo[natalia, martina, ganio] # 2
     result = 3
     """
     self.assertEqual(
         socialPanda.how_many_gender_in_network(4, ivo, "female"), result3)
Example #10
0
 def test_has_panda(self):
     socialPanda = PandaSocialNetwork({})
     ivo = Panda("Ivo", "*****@*****.**", "male")
     rado = Panda("Rado", "*****@*****.**", "male")
     filip = Panda("Fil", "*****@*****.**", "male")
     socialPanda.add_panda(ivo)
     socialPanda.add_panda(rado)
     self.assertTrue(socialPanda.has_panda(rado))
     self.assertFalse(socialPanda.has_panda(filip))
Example #11
0
 def test_friend_of(self):
     socialPanda = PandaSocialNetwork({})
     ivo = Panda("Ivo", "*****@*****.**", "male")
     rado = Panda("Rado", "*****@*****.**", "male")
     fil = Panda("Fil", "*****@*****.**", "male")
     hack = Panda("Hack", "*****@*****.**", "male")
     emo = Panda("Emo", "*****@*****.**", "male")
     socialPanda.make_friends(ivo, rado)
     socialPanda.make_friends(ivo, fil)
     socialPanda.make_friends(ivo, hack)
     self.assertFalse(socialPanda.friend_of(emo))
     friends_of_ivo = []
     for pandas in socialPanda.friend_of(ivo):
         friends_of_ivo.append(pandas)
     self.assertEqual(socialPanda.friend_of(ivo), friends_of_ivo)
    def setUp(self):
        self.ivo = Panda('Ivo', '*****@*****.**', 'male')
        self.ivo_copy = Panda('Ivo', '*****@*****.**', 'male')
        self.roza = Panda('Rositsa', '*****@*****.**', 'female')
        self.smith = Panda('John', '*****@*****.**', 'male')
        self.smalling = Panda('Paul', '*****@*****.**', 'male')
        self.patrice = Panda('Evra', '*****@*****.**', 'male')
        self.girl = Panda('Girl', '*****@*****.**', 'female')
        self.friendless_guy = Panda('Friendless', '*****@*****.**', 'male')

        self.social_network = PandaSocialNetwork()
        self.social_network.add_panda(self.friendless_guy)
        self.social_network.make_friends(self.ivo, self.roza)
        self.social_network.make_friends(self.ivo, self.smith)
        self.social_network.make_friends(self.ivo, self.smalling)
        self.social_network.make_friends(self.patrice, self.smalling)
        self.social_network.make_friends(self.patrice, self.girl)
Example #13
0
 def test_connection_level(self):
     socialPanda = PandaSocialNetwork({})
     ivo = Panda("Ivo", "*****@*****.**", "male")
     rado = Panda("Rado", "*****@*****.**", "male")
     fil = Panda("Fil", "*****@*****.**", "male")
     hack = Panda("Hack", "*****@*****.**", "male")
     bambi = Panda("Bambi", "*****@*****.**", "female")
     spindi = Panda("Spindi", "*****@*****.**", "male")
     mecupug = Panda("Meco Pug", "*****@*****.**", "male")
     metodi = Panda("Metodi", "*****@*****.**", "male")
     ganio = Panda("Ganio", "*****@*****.**", "male")
     socialPanda.make_friends(ivo, rado)
     socialPanda.make_friends(ivo, fil)
     socialPanda.make_friends(ivo, bambi)
     socialPanda.make_friends(spindi, mecupug)
     socialPanda.make_friends(rado, metodi)
     socialPanda.make_friends(metodi, ganio)
     socialPanda.make_friends(fil, ganio)
     friends_level = 1
     are_not_connected = -1
     shortest_path = socialPanda.connection_level(ivo, ganio)
     """
     ganio = path_to[ganio] = fil #1
     fil = path_to[fil] = ivo #2
     ivo = path_to[ivo] = None
     connection_level = 2
     """
     shortest_path2 = socialPanda.connection_level(bambi, metodi)
     """
     metodi = path_to[metodi] = rado #1
     rado = path_to[rado] = ivo #2
     ivo = path_to[ivo] = bambi #3
     bambi = path_to[bambi] = None
     connection_level = 3
     """
     self.assertEqual(socialPanda.connection_level(ivo, rado),
                      friends_level)
     self.assertFalse(socialPanda.connection_level(ivo, hack))
     self.assertEqual(socialPanda.connection_level(ivo, spindi),
                      are_not_connected)
     self.assertEqual(shortest_path, 2)
     self.assertEqual(shortest_path2, 3)
Example #14
0
    def test_are_connected(self):
        socialPanda = PandaSocialNetwork({})
        ivo = Panda("Ivo", "*****@*****.**", "male")
        rado = Panda("Rado", "*****@*****.**", "male")
        fil = Panda("Fil", "*****@*****.**", "male")
        hack = Panda("Hack", "*****@*****.**", "male")
        bambi = Panda("Bambi", "*****@*****.**", "female")
        spindi = Panda("Spindi", "*****@*****.**", "male")
        mecupug = Panda("Meco Pug", "*****@*****.**", "male")
        metodi = Panda("Metodi", "*****@*****.**", "male")
        ganio = Panda("Ganio", "*****@*****.**", "male")
        socialPanda.make_friends(ivo, rado)
        socialPanda.make_friends(ivo, fil)
        socialPanda.make_friends(ivo, bambi)
        socialPanda.make_friends(spindi, mecupug)
        socialPanda.make_friends(rado, metodi)
        socialPanda.make_friends(metodi, ganio)
        socialPanda.make_friends(fil, ganio)

        self.assertTrue(socialPanda.are_connected(ivo, rado))
        self.assertTrue(socialPanda.are_connected(ivo, ganio))
        self.assertFalse(socialPanda.are_connected(ivo, hack))
        self.assertFalse(socialPanda.are_connected(ivo, mecupug))
Example #15
0
    def test_load_social_network(self):

        socialPanda = PandaSocialNetwork({})
        network = socialPanda.load_social_network("social_network.json")
        for content in network:
            print(content)
    def test_make_friends(self):
        social_network = PandaSocialNetwork()

        social_network.make_friends(self.ivo, self.tony)
        with self.assertRaises(PandasAlreadyFriends):
            social_network.make_friends(self.ivo, self.rado)
 def test_has_panda(self):
     social_network = PandaSocialNetwork()
     social_network.add_panda(self.rado)
     self.assertTrue(social_network.has_panda(self.rado))
 def test_add_panda(self):
     social_network = PandaSocialNetwork()
     social_network.add_panda(self.rado)
     social_network.add_panda(self.tony)
     self.assertEqual(social_network.pandas, [self.rado, self.tony])
 def setUp(self):
     self.network = PandaSocialNetwork()
     self.peshko = Panda("Peshko", "*****@*****.**", "male")
     self.marto = Panda("Marto", "*****@*****.**", "male")
 def test_add_panda_already_there(self):
     """ Add a panda that's already in the social network """
     social_network = PandaSocialNetwork()
     social_network.add_panda(self.ivo)
     with self.assertRaises(PandaAlreadyThereError):
         social_network.add_panda(self.ivo)
 def test_add_panda(self):
     social_network = PandaSocialNetwork()
     social_network.add_panda(self.ivo)
     social_network.add_panda(self.roza)
     self.assertEqual(social_network.pandas, [self.ivo, self.roza])
Example #22
0
 def setUp(self):
     self.panda_social_network = PandaSocialNetwork()
 def setUp(self):
     self.network = PandaSocialNetwork()
     self.network.all_pandas = {}
     self.ivo = Panda("Ivo", "*****@*****.**", "male")
     self.pandio = Panda("Pandio", "*****@*****.**", "male")
     self.hime = Panda("Hime", "*****@*****.**", "female")