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)
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))
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))
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()
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)
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))
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)
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)
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))
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])
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")