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_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") self.network.make_friends(self.ivo, rado) self.assertTrue(self.network.are_friends(self.ivo, rado)) def test_connection_level(self): rado = Panda("Rado", "*****@*****.**", "male") self.network.make_friends(self.ivo, rado) self.assertEqual(self.network.connection_level(self.ivo, rado), 1) def test_are_connected(self): rado = Panda("Rado", "*****@*****.**", "male") self.network.make_friends(self.ivo, rado) self.assertTrue(self.network.are_connected(self.ivo, rado)) mimi = Panda("Mimi", "*****@*****.**", "female") self.assertFalse(self.network.are_connected(self.ivo, mimi)) self.network.make_friends(rado, mimi) self.assertTrue(self.network.are_connected(mimi, rado)) def test_genders_in_level(self): rado = Panda("Rado", "*****@*****.**", "male") pavli = Panda("Pavli", "*****@*****.**", "female") maria = Panda("maria", "*****@*****.**", "female") ivo = Panda("Ivo", "*****@*****.**", "male") niki = Panda("Niki", "*****@*****.**", 'male') self.network.add_panda(rado) self.network.add_panda(pavli) self.network.add_panda(maria) self.network.add_panda(ivo) self.network.add_panda(niki) self.network.make_friends(ivo, rado) self.network.make_friends(rado, pavli) self.network.make_friends(pavli, maria) self.network.make_friends(rado, niki) self.assertEqual(self.network.how_many_gender_in_network(3, maria, 'male'),3) def test_save_and_load(self): self.network.add_panda(self.ivo) niki = Panda("Niki", "*****@*****.**", 'male') self.network.add_panda(niki) self.network.make_friends(self.ivo, niki) self.network.save("unit_test_save_file_cache") new_network = PandaSocialNetwork() self.assertFalse(new_network.has_panda(self.ivo)) new_network.load("unit_test_save_file_cache") self.assertTrue(new_network.has_panda(self.ivo)) self.assertTrue(new_network.has_panda(niki)) self.assertTrue(new_network.are_friends(self.ivo, niki))