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_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): 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): 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.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_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 test_save_load(self): file_name = 'saved.json' self.social_network.save(file_name) loaded_social_network = PandaSocialNetwork.load(file_name) self.assertEqual(loaded_social_network.how_many_gender_in_network(1, self.friendless_guy, 'male'), 0) self.assertEqual(loaded_social_network.how_many_gender_in_network(1, self.girl, 'female'), 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))
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)
class SocialNetworkTests(unittest.TestCase): 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_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 test_has_panda(self): social_network = PandaSocialNetwork() social_network.add_panda(self.rado) self.assertTrue(social_network.has_panda(self.rado)) 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_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_load(self): file_name = 'saved.json' self.social_network.save(file_name) loaded_social_network = PandaSocialNetwork.load(file_name) self.assertEqual(loaded_social_network.how_many_gender_in_network(1, self.friendless_guy, 'male'), 0) self.assertEqual(loaded_social_network.how_many_gender_in_network(1, self.girl, 'female'), 0)
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_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_save_load(self): file_name = 'saved.json' self.social_network.save(file_name) loaded_social_network = PandaSocialNetwork.load(file_name) # test the loaded social network self.assertEqual(loaded_social_network.how_many_gender_in_network(1, self.friendless_guy, 'male'), 0) self.assertEqual(loaded_social_network.how_many_gender_in_network(1, self.girl, 'female'), 0) self.assertEqual(loaded_social_network.how_many_gender_in_network(4, self.girl, 'female'), 1) self.assertTrue(loaded_social_network.are_connected(self.ivo, self.girl)) self.assertFalse(loaded_social_network.are_connected(self.ivo, self.friendless_guy)) self.assertEqual(loaded_social_network.connection_level(self.ivo, self.roza), 1) self.assertEqual(loaded_social_network.connection_level(self.ivo, self.girl), 3) self.assertEqual(loaded_social_network.connection_level(self.ivo, self.friendless_guy), -1) self.assertFalse(loaded_social_network.friends_of(self.friendless_guy)) self.assertEqual( loaded_social_network.friends_of(self.girl), [self.patrice] # girl is friends with patrice only )
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 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 test_load_social_network(self): socialPanda = PandaSocialNetwork({}) network = socialPanda.load_social_network("social_network.json") for content in network: print(content)
def test_has_panda(self): social_network = PandaSocialNetwork() social_network.add_panda(self.rado) self.assertTrue(social_network.has_panda(self.rado))
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)
class PandaSocialNetworkTests(unittest.TestCase): def setUp(self): self.panda_social_network = PandaSocialNetwork() def test_panda_name_method_avoids_collision(self): panda = Panda('name', '*****@*****.**', 'male') self.assertEqual(panda.name(), 'name') def test_get_pandas_return_1_panda_if_1_panda_is_added(self): panda = Panda('Pesho', '*****@*****.**', 'male') self.panda_social_network.add_panda(panda) self.assertEqual(self.panda_social_network.get_pandas(), [panda]) def test_make_friends_work_properly(self): panda1 = Panda('Pesho', '*****@*****.**', 'male') panda2 = Panda('Peshoze', '*****@*****.**', 'male') self.assertEqual(0, len(self.panda_social_network.get_pandas())) self.panda_social_network.make_friends(panda1, panda2) self.assertEqual(2, len(self.panda_social_network.get_pandas())) self.assertTrue(self.panda_social_network.are_friends(panda1, panda2)) self.assertTrue(self.panda_social_network.are_friends(panda2, panda1)) def test_connection_level_for_graph_with_4_pandas(self): panda1 = Panda('name', '*****@*****.**', 'male') panda2 = Panda('name', '*****@*****.**', 'male') panda3 = Panda('name', '*****@*****.**', 'male') panda4 = Panda('name', '*****@*****.**', 'male') self.panda_social_network.make_friends(panda1, panda2) self.panda_social_network.make_friends(panda2, panda3) self.panda_social_network.make_friends(panda3, panda4) level = self.panda_social_network. \ connection_level(panda1, panda4) self.assertEqual(3, level) # self.assertEqual([panda1, panda2, panda3, panda4], list(path)) def test_connection_level_for_two_pandas_who_are_not_connected(self): panda1 = Panda('name', '*****@*****.**', 'male') panda2 = Panda('name', '*****@*****.**', 'male') self.panda_social_network.add_panda(panda1) self.panda_social_network.add_panda(panda2) self.assertEqual( self.panda_social_network.connection_level(panda1, panda2), -1) def test_friends_of_panda_with_two_friends(self): panda1 = Panda('name', '*****@*****.**', 'male') panda2 = Panda('name', '*****@*****.**', 'male') panda3 = Panda('name', '*****@*****.**', 'male') self.panda_social_network.make_friends(panda1, panda2) self.panda_social_network.make_friends(panda1, panda3) self.assertEqual(self.panda_social_network.friends_of(panda1), set([panda2, panda3])) def test_are_connected_two_pandas_that_are(self): panda1 = Panda('name', '*****@*****.**', 'male') panda2 = Panda('name', '*****@*****.**', 'male') self.panda_social_network.make_friends(panda1, panda2) self.assertTrue(self.panda_social_network.are_connected( panda1, panda2)) def test_gender_when_level_is_0(self): panda1 = Panda('name', '*****@*****.**', 'male') panda2 = Panda('name', '*****@*****.**', 'male') panda3 = Panda('name', '*****@*****.**', 'male') self.panda_social_network.make_friends(panda1, panda2) self.panda_social_network.make_friends(panda1, panda3) self.assertEqual( self.panda_social_network.how_many_gender_in_network( 1, panda1, 'male'), 2) def test_friends_of_panda_with_0_friends(self): panda1 = Panda('name', '*****@*****.**', 'male') self.panda_social_network.add_panda(panda1) self.assertEqual(self.panda_social_network.friends_of(panda1), set())
class TestPandaSocialNetwork(unittest.TestCase): def setUp(self): self.network = PandaSocialNetwork() self.peshko = Panda("Peshko", "*****@*****.**", "male") self.marto = Panda("Marto", "*****@*****.**", "male") def test_create_social_network(self): self.assertTrue(isinstance(self.network, PandaSocialNetwork)) def test_add_panda(self): self.network.add_panda(self.peshko) with self.assertRaises(PandaAlreadyThere): self.network.add_panda(self.peshko) def test_has_panda(self): self.network.add_panda(self.peshko) self.assertTrue(self.network.has_panda(self.peshko)) def test_make_friends(self): self.network.make_friends(self.peshko, self.marto) self.assertTrue(self.peshko in self.network.network_dict.keys()) self.assertTrue(self.peshko in self.network.network_dict[self.marto]) self.assertTrue(self.marto in self.network.network_dict[self.peshko]) def test_pandas_already_friends(self): self.network.make_friends(self.peshko, self.marto) with self.assertRaises(PandaAlreadyFriends): self.network.make_friends(self.marto, self.peshko) def test_are_pandas_friends(self): self.network.make_friends(self.peshko, self.marto) self.assertTrue(self.network.are_friends(self.peshko, self.marto)) def test_friends_of(self): ivo = Panda("Ivo", "*****@*****.**", "male") mina = Panda("Mina", "*****@*****.**", "female") self.assertFalse(self.network.friends_of(ivo)) self.network.make_friends(self.peshko, self.marto) self.network.make_friends(self.peshko, mina) self.assertEqual(self.network.friends_of(self.peshko), [self.marto, mina]) def test_connection_level(self): ivo = Panda("Ivo", "*****@*****.**", "male") mina = Panda("Mina", "*****@*****.**", "female") tony = Panda("Tony", "*****@*****.**", "female") self.network.make_friends(ivo, tony) self.network.make_friends(self.marto, ivo) self.network.make_friends(self.marto, self.peshko) self.network.make_friends(self.peshko, mina) self.network.make_friends(mina, tony) self.assertEqual(self.network.connection_level(ivo, mina), 2) def test_connection_level_circle(self): ivo = Panda("Ivo", "*****@*****.**", "male") self.network.make_friends(self.marto, ivo) self.network.make_friends(self.marto, self.peshko) self.network.make_friends(ivo, self.peshko) self.assertEqual(self.network.connection_level(ivo, self.peshko), 1) def test_are_pandas_connected(self): self.network.make_friends(self.peshko, self.marto) self.assertTrue( self.network.connection_level(self.peshko, self.marto) != 0) ivo = Panda("Ivo", "*****@*****.**", "male") self.assertFalse(self.network.connection_level(self.peshko, ivo) != 0) def test_how_many_gender_in_network(self): tony = Panda("Tony", "*****@*****.**", "female") self.network.make_friends(self.marto, self.peshko) self.network.make_friends(self.peshko, tony) self.assertEqual( self.network.how_many_gender_in_network(1, self.peshko, "female"), 1)
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")
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_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 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)
class SocialNetworkTests(unittest.TestCase): 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_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 test_has_panda(self): social_network = PandaSocialNetwork() social_network.add_panda(self.ivo) self.assertTrue(social_network.has_panda(self.ivo)) 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_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_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_friends_of(self): self.assertFalse(self.social_network.friends_of(self.friendless_guy)) self.assertEqual( self.social_network.friends_of(self.girl), [self.patrice] # girl is friends with patrice only ) def test_connection_level(self): self.assertEqual(self.social_network.connection_level(self.ivo, self.roza), 1) self.assertEqual(self.social_network.connection_level(self.ivo, self.girl), 3) self.assertEqual(self.social_network.connection_level(self.ivo, self.friendless_guy), -1) def test_are_connected(self): self.assertTrue(self.social_network.are_connected(self.ivo, self.girl)) self.assertFalse(self.social_network.are_connected(self.ivo, self.friendless_guy)) def test_how_many_genders(self): self.assertEqual(self.social_network.how_many_gender_in_network(1, self.friendless_guy, 'male'), 0) self.assertEqual(self.social_network.how_many_gender_in_network(1, self.girl, 'female'), 0) self.assertEqual(self.social_network.how_many_gender_in_network(4, self.girl, 'female'), 1) def test_save_load(self): file_name = 'saved.json' self.social_network.save(file_name) loaded_social_network = PandaSocialNetwork.load(file_name) # test the loaded social network self.assertEqual(loaded_social_network.how_many_gender_in_network(1, self.friendless_guy, 'male'), 0) self.assertEqual(loaded_social_network.how_many_gender_in_network(1, self.girl, 'female'), 0) self.assertEqual(loaded_social_network.how_many_gender_in_network(4, self.girl, 'female'), 1) self.assertTrue(loaded_social_network.are_connected(self.ivo, self.girl)) self.assertFalse(loaded_social_network.are_connected(self.ivo, self.friendless_guy)) self.assertEqual(loaded_social_network.connection_level(self.ivo, self.roza), 1) self.assertEqual(loaded_social_network.connection_level(self.ivo, self.girl), 3) self.assertEqual(loaded_social_network.connection_level(self.ivo, self.friendless_guy), -1) self.assertFalse(loaded_social_network.friends_of(self.friendless_guy)) self.assertEqual( loaded_social_network.friends_of(self.girl), [self.patrice] # girl is friends with patrice only )
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)
class TestSocialPandaNetwork(unittest.TestCase): 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") def test_init(self): self.assertTrue(isinstance(self.network, PandaSocialNetwork)) def test_add_panda(self): self.network.add_panda(self.ivo) self.assertTrue(self.ivo in self.network.all_pandas) with self.assertRaises(PandaAlreadyThere): self.network.add_panda(self.ivo) def test_has_panda(self): self.assertFalse(self.ivo in self.network.all_pandas) self.network.add_panda(self.ivo) self.assertTrue(self.ivo in self.network.all_pandas) def test_make_friends(self): self.network.add_panda(self.ivo) self.network.add_panda(self.pandio) self.network.make_friends(self.ivo, self.pandio) with self.assertRaises(PandasAlreadyFriends): self.network.make_friends(self.ivo, self.pandio) def test_are_friends(self): self.network.add_panda(self.ivo) self.network.add_panda(self.pandio) self.network.make_friends(self.ivo, self.pandio) self.assertTrue(self.network.are_friends(self.ivo, self.pandio)) def test_friends_of(self): pass def test_connection_level_3_pandas(self): ivo = Panda("Ivo", "*****@*****.**", "male") pandio = Panda("Pandio", "*****@*****.**", "male") hime = Panda("Hime", "*****@*****.**", "female") self.network.add_panda(ivo) self.network.add_panda(pandio) self.network.add_panda(hime) self.network.make_friends(ivo, pandio) self.network.make_friends(pandio, hime) self.assertEqual(2, self.network.connection_level(ivo, hime)) def test_are_connected(self): self.network.add_panda(self.ivo) self.network.add_panda(self.pandio) self.network.add_panda(self.hime) self.network.make_friends(self.ivo, self.pandio) self.assertTrue(self.network.are_connected(self.ivo, self.pandio)) self.assertFalse(self.network.are_connected(self.ivo, self.hime)) def test_gender_in_network(self): self.network.add_panda(self.ivo) self.network.add_panda(self.pandio) self.network.add_panda(self.hime) self.network.make_friends(self.ivo, self.pandio) self.network.make_friends(self.hime, self.pandio) result = self.network.how_many_gender_in_network(2, self.ivo, "female") self.assertEqual(1, result)
class TestSocialNetwork(unittest.TestCase): def setUp(self): self.ivo = Panda("Ivo", "*****@*****.**", "male") self.network = PandaSocialNetwork() def test_has_and_add_panda_in_network(self): self.network.add_panda(self.ivo) self.assertTrue(self.network.has_panda(self.ivo)) # def test_add_panda_when_alredy_there(self): # self.network.add_panda(self.ivo) # with self.assertRaises('PandaAlreadyThere'): # self.network.add_panda(self.ivo) def test_has_panda_when_panda_not_in_network(self): rado = Panda("Rado", "*****@*****.**", "male") self.assertFalse(self.network.has_panda(rado)) def test_make_and_are_friends(self): rado = Panda("Rado", "*****@*****.**", "male") mimi = Panda("Mimi", "*****@*****.**", "female") self.network.make_friends(self.ivo, rado) self.assertTrue(self.network.are_friends(self.ivo, rado)) self.assertFalse(self.network.are_friends(self.ivo, mimi)) def test_friends_of(self): rado = Panda("Rado", "*****@*****.**", "male") tony = Panda("Tony", "*****@*****.**", "female") mimi = Panda("Mimi", "*****@*****.**", "female") self.network.make_friends(self.ivo, rado) self.network.make_friends(self.ivo, tony) self.network.make_friends(self.ivo, mimi) self.assertEqual(self.network.friends_of(self.ivo), [rado, tony, mimi]) def test_friends_of_when_panda_not_in_network(self): rado = Panda("Rado", "*****@*****.**", "male") self.assertFalse(self.network.friends_of(rado)) def test_connection_level(self): rado = Panda("Rado", "*****@*****.**", "male") tony = Panda("Tony", "*****@*****.**", "female") self.network.make_friends(self.ivo, rado) self.network.make_friends(rado, tony) self.assertEqual(self.network.connection_level(self.ivo, self.ivo), 0) self.assertEqual(self.network.connection_level(self.ivo, rado), 1) self.assertEqual(self.network.connection_level(self.ivo, tony), 2) def test_connection_level_when_not_connected_at_all(self): rado = Panda("Rado", "*****@*****.**", "male") tony = Panda("Tony", "*****@*****.**", "female") mimi = Panda("Mimi", "*****@*****.**", "female") self.network.make_friends(self.ivo, rado) self.network.make_friends(rado, tony) self.assertEqual(self.network.connection_level(self.ivo, mimi), -1) def test_connection_level_when_panda_not_in_network(self): rado = Panda("Rado", "*****@*****.**", "male") tony = Panda("Tony", "*****@*****.**", "female") self.assertFalse(self.network.connection_level(self.ivo, rado)) self.assertFalse(self.network.connection_level(rado, self.ivo)) self.assertFalse(self.network.connection_level(rado, tony)) def test_are_connected(self): rado = Panda("Rado", "*****@*****.**", "male") tony = Panda("Tony", "*****@*****.**", "female") mimi = Panda("Mimi", "*****@*****.**", "female") viki = Panda("Viki", "*****@*****.**", "female") self.network.make_friends(self.ivo, rado) self.network.make_friends(rado, tony) self.network.add_panda(mimi) self.assertTrue(self.network.are_connected(self.ivo, self.ivo)) self.assertTrue(self.network.are_connected(self.ivo, rado)) self.assertTrue(self.network.are_connected(self.ivo, tony)) self.assertFalse(self.network.are_connected(self.ivo, mimi)) self.assertFalse(self.network.are_connected(self.ivo, viki)) def test_how_many_gender_in_network(self): rado = Panda("Rado", "*****@*****.**", "male") tony = Panda("Tony", "*****@*****.**", "female") mimi = Panda("Mimi", "*****@*****.**", "female") viki = Panda("Viki", "*****@*****.**", "female") mitko = Panda("Mitko", "*****@*****.**", "male") self.network.make_friends(self.ivo, rado) self.network.make_friends(rado, tony) self.network.make_friends(rado, mimi) self.network.make_friends(rado, mitko) self.network.make_friends(mimi, viki) self.assertEqual(self.network.how_many_gender_in_network(2, self.ivo, "male"), 2) self.assertEqual(self.network.how_many_gender_in_network(2, self.ivo, "female"), 2) self.assertEqual(self.network.how_many_gender_in_network(3, self.ivo, "female"), 3) def test_how_many_gender_in_network_no_such_level(self): rado = Panda("Rado", "*****@*****.**", "male") tony = Panda("Tony", "*****@*****.**", "female") mimi = Panda("Mimi", "*****@*****.**", "female") viki = Panda("Viki", "*****@*****.**", "female") mitko = Panda("Mitko", "*****@*****.**", "male") self.network.make_friends(self.ivo, rado) self.network.make_friends(rado, tony) self.network.make_friends(rado, mimi) self.network.make_friends(rado, mitko) self.network.make_friends(mimi, viki) self.assertEqual(self.network.how_many_gender_in_network(5, self.ivo, "female"), 3)
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 setUp(self): self.network = PandaSocialNetwork() self.peshko = Panda("Peshko", "*****@*****.**", "male") self.marto = Panda("Marto", "*****@*****.**", "male")
def setUp(self): self.ivo = Panda("Ivo", "*****@*****.**", "male") self.network = PandaSocialNetwork()
def setUp(self): self.panda_social_network = PandaSocialNetwork()
def main(): mitko = Panda('Mitko', '*****@*****.**', 'male') alex = Panda('Alex', '*****@*****.**', 'female') viki = Panda('Viki', '*****@*****.**', 'female') viktor = Panda('Viktor', '*****@*****.**', 'male') sasho = Panda('Sasho', '*****@*****.**', 'male') sandy = Panda('Sandy', '*****@*****.**', 'female') pandi = [mitko, alex, viki, viktor, sasho, sandy] network = PandaSocialNetwork() for i in pandi: network.add_panda(i) network.make_friends(mitko, alex) network.make_friends(viktor, alex) network.make_friends(viki, alex) network.make_friends(sasho, alex) network.make_friends(viki, sandy) network.save() print('\n') print('This is json for save {}'.format(network.print_json())) print('\n') network.load() network.gen_soc_network() print('This is soc_network {}'.format(network._soc_network)) print('This is people {}'.format(network.people)) print('\n') print('This is people2 {}'.format(network.people2))