class PhoneBookTest(unittest.TestCase): def setUp(self) -> None: self.phone_book = PhoneBook() def tearDown(self) -> None: pass # Test Case Name def test_lookup_by_name(self): # Arrange self.phone_book.add('Bob', '12345') # Act number = self.phone_book.lookup('Bob') # Assert self.assertEqual('12345', number) def test_is_consistent(self): self.assertTrue(self.phone_book.is_consistent()) def test_is_consistent_with_diffirent_entries(self): self.phone_book.add('Bob', '12345') self.phone_book.add('Anna', '012345') self.assertTrue(self.phone_book.is_consistent()) def test_inconsistent_with_duplicate_entries(self): self.phone_book.add('Bob', '12345') self.phone_book.add('Anna', '12345') self.assertFalse(self.phone_book.is_consistent()) # WIP: Work In Progress # @unittest.skip('WIP') def test_inconsistent_with_duplicate_prefix(self): self.phone_book.add('Bob', '12345') self.phone_book.add('Anna', '123') self.assertFalse(self.phone_book.is_consistent()) def test_missing_name(self): with self.assertRaises(KeyError): self.phone_book.lookup('missing')