Пример #1
0
class PhoneBookTest(unittest.TestCase):

    def setUp(self) -> None:#called before every test method
        self.phonebook =PhoneBook()

    def tearDown(self) -> None:#called after every test method
        pass

    def test_lookup_by_name(self):
        self.phonebook.add("Bob",1234)
        number = self.phonebook.lookup("Bob")
        self.assertEqual(1234,number)

    def test_missing_name(self):
        with self.assertRaises(KeyError):
           self.phonebook.lookup("Bob")

    # @unittest.skip("WIP")
    def test_empty_phone_book_isconsistent(self):
        self.phonebook = PhoneBook()
        self.assertTrue(self.phonebook.is_consistent())

    def test_is_consistent_with_different_entries(self):
        self.phonebook.add("Bob",'1234')
        self.phonebook.add("Anna",'01234')
        self.assertTrue(self.phonebook.is_consistent)

    def test_inconsistent_with_duplicate_entries(self):
        self.phonebook.add("Bob",'1234')
        self.phonebook.add("sue","1234")
        self.assertFalse(self.phonebook.is_consistent())

    def test_inconsistent_with_duplicate_prefix(self):
        self.phonebook.add("sue","123")
        self.assertFalse(self.phonebook.is_consistent())

    def test_phonebook_adds_name_and_number(self):
        self.phonebook.add("Bob","12345")
        self.assertIn("Bob",self.phonebook.get_name())
        self.assertIn("12345", self.phonebook.get_number())