class TestDirectory(unittest.TestCase): def setUp(self): self.file = "test.txt" self.dir = Directory(self.file) def tearDown(self): if isfile(self.file): os.remove(self.file) def test_equal(self): self.dir.add_contact("pepe", "*****@*****.**", "27", "Mexico") contact = Contact("pepe", "*****@*****.**", "27", "Mexico") self.assertEqual(contact, self.dir.search_by_email("*****@*****.**")) def test_not_equal(self): self.dir.add_contact("pepe", "*****@*****.**", "27", "Mexico") contact = Contact("juan", "*****@*****.**", "27", "Mexico") self.assertNotEqual(contact, self.dir.search_by_email("*****@*****.**")) def test_search_age(self): self.dir.add_contact("pepe", "*****@*****.**", "27", "Mexico") self.dir.add_contact("juan", "*****@*****.**", "27", "Mexico") self.dir.add_contact("oscar", "*****@*****.**", "29", "Mexico") res = self.dir.search_by_age(27) for elem in res: self.assertEqual(elem._age, "27") def test_wrong_name(self): with self.assertRaises(ValueError): self.dir.add_contact("pepe2", "*****@*****.**", "27", "Mexico") def test_wrong_mail(self): with self.assertRaises(ValueError): self.dir.add_contact("pepe", "pepegmail.com", "27", "Mexico") def test_wrong_age(self): with self.assertRaises(ValueError): self.dir.add_contact("pepe", "*****@*****.**", "es", "Mexico") def test_wrong_country(self): with self.assertRaises(ValueError): self.dir.add_contact("pepe", "*****@*****.**", "27", "123") def test_check_file(self): self.dir.add_contact("pepe", "*****@*****.**", "27", "Mexico") self.dir.add_contact("juan", "*****@*****.**", "27", "Mexico") self.dir.add_contact("oscar", "*****@*****.**", "29", "Mexico") self.dir.save() self.assertTrue(isfile(self.file)) def test_load(self): self.dir.add_contact("pepe", "*****@*****.**", "27", "Mexico") self.dir.add_contact("juan", "*****@*****.**", "27", "Mexico") self.dir.add_contact("oscar", "*****@*****.**", "29", "Mexico") self.dir.save() dir2 = Directory(self.file) self.assertEqual(self.dir.search_by_email("*****@*****.**"), dir2.search_by_email("*****@*****.**"))