class PhonebookTest(unittest.TestCase): def setUp(self): self.phonebook = Phonebook() def test_lookup_entry_by_name(self): self.phonebook.add("Bob", "12345") self.assertEqual("12345", self.phonebook.lookup("Bob")) def test_missing_entry_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup("missing") def test_empty_phonebook_is_consistent(self): self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_normal_entries_is_consistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "012345") self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_duplicate_entries_is_inconsistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "12345") self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_numbers_that_prefix_one_another_is_inconsistent( self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "123") self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_adds_names_and_numbers(self): self.phonebook.add("Sue", "12345") self.assertIn("Sue", self.phonebook.get_names()) self.assertIn("12345", self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self): self.phonebook = Phonebook() def test_lookup_entry_by_name(self): self.phonebook.add('Bob', '12345') self.assertEqual('12345', self.phonebook.lookup_entry_by_name('Bob')) def test_missing_entry_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup_entry_by_name('missing') def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_normal_entries_is_consistent(self): self.phonebook.add('Bob', '12345') self.phonebook.add('Mary', '012345') self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_duplicate_entries_is_inconsistent(self): self.phonebook.add('Bob', '12345') self.phonebook.add('Mary', '12345') self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_numbers_that_prefix_one_another_is_inconsistent(self): self.phonebook.add('Bob', '12345') self.phonebook.add('Mary', '123') self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_adds_names_and_numbers(self): self.phonebook.add('Sue', '12345') self.assertIn('Sue', self.phonebook.get_names()) self.assertIn('12345', self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): # The setUp() and tearDown() methods allow you to define instructions that will # be executed before and after each test method. def setUp(self): self.phonebook = Phonebook() def tearDown(self): pass def test_create_phonebook(self): pass def test_lookup_entry_by_name(self): # phonebook = Phonebook() self.phonebook.add('bob', '12345') self.assertEqual('12345', self.phonebook.lookup("bob")) def test_missing_entry_raises_KeyError(self): # phonebook = Phonebook() with self.assertRaises(KeyError): self.phonebook.lookup("missing") # @unittest.skip("not complete") def test_empty_phonebook_is_consistent(self): # phonebook = Phonebook() self.assertTrue(self.phonebook.is_consistent()) @unittest.skip("poor example") def test_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("bob", "12345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("mary", "012345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("sue", "12345") #identical to bob self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_normal_entries_is_consistent(self): self.phonebook.add("bob", "12345") self.phonebook.add("mary", "012345") self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_duplicate_entries_is_inconsistent(self): self.phonebook.add("bob", "12345") self.phonebook.add("mary", "12345") self.assertFalse(self.phonebook.is_consistent()) @unittest.skip("not ready") def test_phonebook_with_numbers_that_prefix_one_another_is_inconsistent(self): self.phonebook.add("bob", "12345") self.phonebook.add("mary", "123") self.assertFalse(self.phonebook.is_consistent()) # @unittest.skip("not ready") def test_phonebook_adds_names_and_numbers(self): self.phonebook.add("sue", "12345") self.assertIn("sue", self.phonebook.get_names()) self.assertIn("12345", self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self): self.phonebook = Phonebook() def test_lookup_entry_by_name(self): self.phonebook.add("Viki", "12345") self.assertEqual("12345", self.phonebook.lookup("Viki")) def test_missing_entry_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup("missing") # @unittest.skip("WIP") def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) @unittest.skip("Too many things in one case") def test_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Marci", "12345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Csilla", "012345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Erika", "12345") #same as Marci self.assertFalse(self.phonebook.is_consistent) self.phonebook.add("Erika", "123") #prefix of Marci self.assertFalse(self.phonebook.is_consistent) def test_phonebook_with_normal_entries_is_consistent(self): self.phonebook.add("Marci", "12345") self.phonebook.add("Csilla", "012345") self.assertTrue(self.phonebook.is_consistent()) @unittest.skip("WIP") def test_phonebook_with_duplicate_entries_is_inconsistent(self): self.phonebook.add("Marci", "12345") self.phonebook.add("Erika", "12345") self.assertFalse(self.phonebook.is_consistent) @unittest.skip("WIP") def test_phonebook_with_numbers_that_prefix_one_another_is_inconsistance( self): self.phonebook.add("Marci", "12345") self.phonebook.add("Erika", "123") self.assertFalse(self.phonebook.is_consistent) @unittest.skip("WIP") def test_phonebook_adds_names_and_numbers(self): self.phonebook.add("Andi", "12345") self.assertIn("Andi", self.phonebook.get_names()) self.assertIn("12345", self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): #TestFixture: setUp: generate avaible elements for all test functions def setUp(self): self.phonebook = Phonebook() #TestFixture: tearDown: Run after every test function (clean up func) def tearDown(self): pass #Look Up def test_lookup_entry_by_name(self): self.phonebook.add('Bob', '12345') self.assertEqual('12345', self.phonebook.lookup('Bob')) #throw a key error when missing a key def test_missing_entry_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup('missing') #assertTrue: function return TRUE/FALSE #@unittest.skip("WIP") def test_empty_phoneboo_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) #CONSISTENT - ONE queation one test!!! def test_phonebook_with_normal_entries_is_consistent(self): #ARRANGE self.phonebook.add('Bob', '123456') #ACT self.phonebook.add('Mary', '012345') #ASSERT self.assertTrue(self.phonebook.is_consistent()) @unittest.skip("WIP") def test_phonebook_with_duplicate_entries_is_inconsistent(self): self.phonebook.add('Bob', '123456') self.phonebook.add('Mary', '123456') self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_numbers_that_prefix_one_another_is_inconsistent( self): self.phonebook.add('Bob', '123456') self.phonebook.add('Mary', '123') self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_adds_names_and_numbers(self): self.phonebook.add('Sue', '123456') #assertIn: check if the elem is in an iterable self.assertIn('Sue', self.phonebook.get_names()) self.assertIn('123456', self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self): self.phonebook = Phonebook() def tearDown(self): pass def test_lookup_entry_by_name(self): self.phonebook.add('Bob', '12345') self.assertEqual('12345', self.phonebook.lookup('Bob')) def test_missing_entry_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup('missing') def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) @unittest.skip('poor example') def test_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add('Bob', '12345') self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add('Mary', '012345') self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add('Sue', '12345') # identical to Bob self.assertFalse(self.phonebook.is_consistent()) self.phonebook.add('Sue', '123') # prefix of Bob self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_normal_entries_is_consistent(self): self.phonebook.add('Bob', '12345') self.phonebook.add('Mary', '012345') self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_duplicate_entries_is_consistent(self): self.phonebook.add('Bob', '12345') self.phonebook.add('Mary', '12345') self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_numbers_that_prefix_one_another_is_consisten(self): self.phonebook.add('Bob', '12345') self.phonebook.add('Mary', '12345') self.assertFalse(self.phonebook.is_consistent()) @unittest.skip('WIP') def test_phonebook_adds_names_and_numbers(self): self.phonebook.add('Sue', '12345') self.assertIn('Sue', self.phonebook.get_names()) self.assertIn('12345', self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self): self.phonebook=Phonebook() def tearDown(self): self.phonebook=None def test_lookup_entry_by_name(self): self.phonebook.add('Bob', '12345') self.assertEqual('12345', self.phonebook.lookup('Bob')) def test_missing_enrty_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup('missing') def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) @unittest.skip('example not good') def test_consistent(self): self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add('Bob', '123') self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add('Sue', '456') self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add('Mary', '123') self.assertFalse(self.phonebook.is_consistent()) self.phonebook.add('Charlie', '456') self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_normal_entries_is_consistent(self): self.phonebook.add('Bob', '123') self.phonebook.add('Sue', '456') self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_duplicate_entries_is_inconsistent(self): self.phonebook.add('Bob', '123') self.phonebook.add('Sue', '123') self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_numbers_that_prefix_one_another_is_inconsistent(self): self.phonebook.add('Bob', '12345') self.phonebook.add('Sue', '123') self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_add_names_and_numbers(self): self.phonebook('Bob', '123') self.assertIn('Bob', self.phonebook.get_names()) self.assertIn('123', self.phonebook.get_phone_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self): self.phonebook = Phonebook() def test_lookup_entry_by_name(self): self.phonebook.add("Bob", "12345") self.assertEqual("12345", self.phonebook.lookup("Bob")) def test_missing_entry_raises_KeyError(self): with self.assertRaises((KeyError)): self.phonebook.lookup("missing") def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) @unittest.skip("poor example") def test_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Bob", "12345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Mary", "012345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Sue", "12345") # identical to Bob self.assertFalse(self.phonebook.is_consistent()) self.phonebook.add("Sue", "123") # prefix of Bob self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_normal_entries_is_consistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "012345") self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_duplicate_entries_is_inconsistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "12345") self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_numbers_that_prefix_one_another_is_inconsistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "123") self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_adds_names_and_numbers(self): self.phonebook.add("Sue", "12345") self.assertIn("Sue", self.phonebook.get_names()) self.assertIn("12345", self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self): self.phonebook = Phonebook() #used to clean up depenencies def tearDown(self): pass def test_lookup_entry_by_name(self): self.phonebook.add("Bob", "12345") self.assertEqual("12345", self.phonebook.lookup("Bob")) def test_missing_entry_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup("foobar") def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_normal_entries_is_consistent(self): self.phonebook.add("foo", "12345") self.phonebook.add("bar", "012345") self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_duplicate_entries_is_inconsistent(self): self.phonebook.add("foo", "12345") self.phonebook.add("bar", "12345") self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_numbers_that_prefix_another(self): self.phonebook.add("foo", "1234") self.phonebook.add("bar", "123") self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_adds_names_and_numbers(self): self.phonebook.add("foo", "12345") self.assertIn("foo", self.phonebook.get_names()) self.assertIn("12345", self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self): self.phonebook = Phonebook() def test_create_phonebook(self): pass def test_lookup_entry_by_name(self): self.phonebook.add("Bob", "12345") self.assertEqual("12345", self.phonebook.lookup("Bob")) def test_missing_entry_raises_keyError(self): with self.assertRaises(KeyError): self.phonebook.lookup("missing") def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_adds_names_and_numbers(self): self.phonebook.add("Sue", "12345") self.assertIn("Sue", self.phonebook.get_names()) self.assertIn("12345", self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): # setUp method -> runner will run that method prior to each test def setUp(self): self.phonebook = Phonebook() # tearDown method -> runner will run that method after each test def test_lookup_entry_by_name(self): self.phonebook.add("test1", "12345") self.assertEqual("12345", self.phonebook.lookup("test1")) def test_missing_entry_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup("missing") def test_empty_book_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_normal_entries_is_consistent(self): self.phonebook.add("test1", "12345") self.phonebook.add("test2", "67890") self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_duplicate_entries_is_inconsistent(self): self.phonebook.add("test1", "12345") self.phonebook.add("test2", "12345") self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_numbers_that_prefix_one_another_is_inconsistent( self): self.phonebook.add("test1", "12345") self.phonebook.add("test2", "123") self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_adds_names_and_numbers(self): self.phonebook.add("test1", "12345") self.assertIn("test1", self.phonebook.get_names()) self.assertIn("12345", self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self) -> None: self.phonebook = Phonebook() def test_lookup_by_name(self): self.phonebook.add("Bob", "1234") number = self.phonebook.lookup("Bob") self.assertEqual("1234", number) def test_missing_name_raises_error(self): with self.assertRaises(KeyError): self.phonebook.lookup("missing") def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) def test_is_consistent_with_different_entries(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Sue", "012345") self.assertTrue(self.phonebook.is_consistent()) def test_inconsistent_with_duplicate_entries(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Sue", "12345") self.assertFalse(self.phonebook.is_consistent()) def test_inconsistent_with_duplicate_prefix(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Sue", "123") self.assertFalse(self.phonebook.is_consistent()) @unittest.skip('WIP') def test_phonebook_has_the_name_and_number(self): # transaction的なものについては、同時に複数のassertを行う self.phonebook.add("Sue", "123343") self.assertIn("Sue", self.phonebook.get_names()) self.assertIn("123343", self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self): self.phonebook = Phonebook() # run after test to do clean-up def tearDown(self): pass def test_lookup_entry_by_name(self): self.phonebook.add("Bob", "12345") self.assertEqual("12345", self.phonebook.lookup("Bob")) def test_missing_entry_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup("missing") # mark a test to be skipped # @unittest.skip("WIP") def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) @unittest.skip("poor example") def test_is_consistent(self): """ Example of bad testing: - if an assertion statement fails, rest of test is abandoned. """ self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Bob", "12345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Mary", "012345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Sue", "12345") # identical to Bob self.assertFalse(self.phonebook.is_consistent()) self.phonebook.add("Bob", "123") # prefix of Bob self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_several_compatible_entries_is_consistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "012345") self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_a_duplicate_number_is_inconsistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "12345") self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_numbers_that_prefix_one_another_is_consistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "123") self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_adds_names_and_numbers(self): """ If the implementation of the `add` method is incorrect, the likelihood is that both of these `assert`s would fail. """ self.phonebook.add("Sue", "12345") # assertIn - takes an iterable and check for membership self.assertIn("Sue", self.phonebook.get_names()) self.assertIn("12345", self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self): self.phonebook = Phonebook() # run after test to do clean-up def tearDown(self): pass def test_lookup_entry_by_name(self): self.phonebook.add("Bob", "12345") self.assertEqual("12345", self.phonebook.lookup("Bob")) def test_missing_entry_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup("missing") # mark a test to be skipped # @unittest.skip("WIP") def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) @unittest.skip("poor example") def test_is_consistent(self): """ Example of bad testing: - if an assertion statement fails, rest of test is abandoned. """ self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Bob", "12345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Mary", "012345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Sue", "12345") # identical to Bob self.assertFalse(self.phonebook.is_consistent()) self.phonebook.add("Bob", "123") # prefix of Bob self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_several_compatible_entries_is_consistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "012345") self.assertTrue(self.phonebook.is_consistent()) def test_phonebook_with_a_duplicate_number_is_inconsistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "12345") self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_numbers_that_prefix_one_another_is_consistent( self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "123") self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_adds_names_and_numbers(self): """ If the implementation of the `add` method is incorrect, the likelihood is that both of these `assert`s would fail. """ self.phonebook.add("Sue", "12345") # assertIn - takes an iterable and check for membership self.assertIn("Sue", self.phonebook.get_names()) self.assertIn("12345", self.phonebook.get_numbers())
class PhonebookTest(unittest.TestCase): def setUp(self): ''' Método executado antes de cada Test Case. O atributo phonebook ficará disponível para todos os Test Cases. ''' self.phonebook = Phonebook() def tearDown(self): ''' Método executado após cada Test Case. ''' pass def test_lookup_entry_by_name(self): self.phonebook.add("Bob", "12345") self.assertEqual("12345", self.phonebook.lookup("Bob")) def test_missing_entry_raises_KeyError(self): with self.assertRaises(KeyError): self.phonebook.lookup("missing") ''' # Com o decorator abaixo, é possível configurar este Test Case para não ser executado durante o Test Runner. Isso é útil quanto ainda não finalizamos a implementação de um Test Case mas queremos executar o Test Runner e verificar se os outros testes estão passando. @unittest.skip("WIP") def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) ''' def test_empty_phonebook_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) @unittest.skip("poor example") def test_is_consistent(self): self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Bob", "12345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Mary", "012345") self.assertTrue(self.phonebook.is_consistent()) self.phonebook.add("Sue", "12345") # identical to Bob self.assertFalse(self.phonebook.is_consistent()) self.phonebook.add("Sue", "123") # prefix of Bob self.assertFalse(self.phonebook.is_consistent()) def test_phonebook_with_normal_entried_is_consistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "012345") self.assertTrue(self.phonebook.is_consistent()) @unittest.skip("WIP") def test_phonebook_with_duplicate_entried_is_inconsistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "12345") self.assertFalse(self.phonebook.is_consistent()) @unittest.skip("WIP") def test_phonebook_with_numbers_that_prefix_one_another_is_inconsistent(self): self.phonebook.add("Bob", "12345") self.phonebook.add("Mary", "123") self.assertFalse(self.phonebook.is_consistent()) @unittest.skip("WIP") def test_phonebook_adds_names_and_numbers(self): self.phonebook.add("Sue", "12345") self.assertIn("Sue", self.phonebook.get_names()) self.assertIn("12345", self.phonebook.get_numbers())