class TestSocialNetwork(unittest.TestCase): def setUp(self): self.pandabook = SocialNetwork() self.ruja = Panda('Ruja', '*****@*****.**', 'female') self.martin = Panda('Martin', '*****@*****.**', 'male') def test_social_network_add_panda(self): self.pandabook.add_panda(self.ruja) self.assertEqual(self.pandabook._get_graph()[self.ruja], set()) def test_social_network_has_panda(self): self.pandabook.add_panda(self.martin) self.assertTrue(self.pandabook.has_panda(self.martin)) self.assertFalse(self.pandabook.has_panda(self.ruja)) def test_social_network_make_friends(self): self.pandabook.make_friends(self.ruja, self.martin) self.assertEqual(self.pandabook._get_graph()[self.ruja], {self.martin}) self.assertEqual(self.pandabook._get_graph()[self.martin], {self.ruja}) def test_social_netowrk_connection_level(self): random = Panda("Random", "*****@*****.**", "male") random1 = Panda("Random1", "*****@*****.**", "male") random2 = Panda("Random2", "*****@*****.**", "female") random3 = Panda("Random3", "*****@*****.**", "female") self.pandabook.make_friends(self.ruja, self.martin) self.pandabook.make_friends(self.ruja, random) self.pandabook.make_friends(self.martin, random1) self.pandabook.make_friends(self.martin, random2) self.pandabook.make_friends(random, random3) self.assertEqual(self.pandabook.connection_level(self.ruja, random3), 2) random_gay = Panda("RandomGay", "*****@*****.**", "female") self.pandabook.add_panda(random_gay) self.assertEqual(self.pandabook.connection_level(self.ruja, random_gay), -1) def test_social_network_are_connected(self): gosho = Panda("Gosho", "*****@*****.**", "male") krasi = Panda("Krasi", "*****@*****.**", "female") self.pandabook.make_friends(self.ruja, self.martin) self.pandabook.make_friends(self.martin, gosho) self.assertTrue(self.pandabook.are_connected(self.ruja, gosho)) self.assertFalse(self.pandabook.are_connected(self.ruja, krasi)) def test_social_network_how_many_gender_in_network(self): random = Panda("Random", "*****@*****.**", "male") random1 = Panda("Random1", "*****@*****.**", "male") random2 = Panda("Random2", "*****@*****.**", "female") random3 = Panda("Random3", "*****@*****.**", "female") self.pandabook.make_friends(self.ruja, self.martin) self.pandabook.make_friends(self.ruja, random) self.pandabook.make_friends(self.martin, random1) self.pandabook.make_friends(self.martin, random2) self.pandabook.make_friends(random, random3) self.assertEqual(self.pandabook.how_many_gender_in_network(1, self.ruja, "male"), 2) self.assertEqual(self.pandabook.how_many_gender_in_network(1, self.ruja, "female"), 1) self.assertEqual(self.pandabook.how_many_gender_in_network(2, self.ruja, "male"), 3)
def main(): pandabook = SocialNetwork() martin = Panda("Martin", "*****@*****.**", "male") rado = Panda("Rado", "*****@*****.**", "male") lubo = Panda("Lubo", "*****@*****.**", "male") dimitar = Panda("Dimitar", "*****@*****.**", "male") stanislav = Panda("Stanislav", "*****@*****.**", "male") denitsa = Panda("Denitsa", "*****@*****.**", "female") zornitsa = Panda("Zornitsa", "*****@*****.**", "female") iva = Panda("Iva", "*****@*****.**", "female") dora = Panda("Dora", "*****@*****.**", "female") aneliya = Panda("Aneliya", "*****@*****.**", "female") pandabook.make_friends(martin, lubo) pandabook.make_friends(martin, rado) pandabook.make_friends(rado, denitsa) pandabook.make_friends(rado, dimitar) pandabook.make_friends(denitsa, zornitsa) pandabook.make_friends(denitsa, iva) pandabook.make_friends(denitsa, dora) pandabook.make_friends(lubo, dimitar) pandabook.make_friends(lubo, stanislav) pandabook.make_friends(stanislav, aneliya) pandabook.save()