import unittest from employee import Employee class TestEmployee(unittest.TestCase): def test_email(self): emp_1 = Employee('Corey', 'Schafer', 50000) emp_2 = Employee('Sue', 'Smith', 60000) self.assertEqual(emp_1.email, 'Corey.Schafer@email.com') self.assertEqual(emp_2.email, 'Sue.Smith@email.com') emp_1.first = 'John' emp_2.first = 'Jane' self.assertEqual(emp_1.email, 'John.Schafer@email.com') self.assertEqual(emp_2.email, 'Jane.Smith@email.com') def test_fullname(self): emp_1 = Employee('Corey', 'Schafer', 50000) emp_2 = Employee('Sue', 'Smith', 60000) self.assertEqual(emp_1.fullname, 'Corey Schafer') self.assertEqual(emp_2.fullname, 'Sue Smith') emp_1.first = 'John' emp_2.first = 'Jane' self.assertEqual(emp_1.fullname, 'John Schafer') self.assertEqual(emp_2.fullname, 'Jane Smith') def test_apply_raise(self): emp_1 = Employee('Corey', 'Schafer', 50000) emp_2 = Employee('Sue', 'Smith', 60000) emp_1.apply_raise() emp_2.apply_raise() self.assertEqual(emp_1.pay, 52500) self.assertEqual(emp_2.pay, 63000) if __name__ == '__main__': unittest.main() ###### With Prints ###### import unittest from employee import Employee class TestEmployee(unittest.TestCase): def setUp(self): print('setUp') self.emp_1 = Employee('Corey', 'Schafer', 50000) self.emp_2 = Employee('Sue', 'Smith', 60000) def tearDown(self): print('tearDown\n') def test_email(self): print('test_email') self.assertEqual(self.emp_1.email, 'Corey.Schafer@email.com') self.assertEqual(self.emp_2.email, 'Sue.Smith@email.com') self.emp_1.first = 'John' self.emp_2.first = 'Jane' self.assertEqual(self.emp_1.email, 'John.Schafer@email.com') self.assertEqual(self.emp_2.email, 'Jane.Smith@email.com') def test_fullname(self): print('test_fullname') self.assertEqual(self.emp_1.fullname, 'Corey Schafer') self.assertEqual(self.emp_2.fullname, 'Sue Smith') self.emp_1.first = 'John' self.emp_2.first = 'Jane' self.assertEqual(self.emp_1.fullname, 'John Schafer') self.assertEqual(self.emp_2.fullname, 'Jane Smith') def test_apply_raise(self): print('test_apply_raise') self.emp_1.apply_raise() self.emp_2.apply_raise() self.assertEqual(self.emp_1.pay, 52500) self.assertEqual(self.emp_2.pay, 63000) if __name__ == '__main__': unittest.main() ###### setUpClass and tearDownClass ###### @classmethod def setUpClass(cls): print('setupClass') @classmethod def tearDownClass(cls): print('teardownClass') ##### Mocking ##### def monthly_schedule(self, month): response = requests.get(f'http://company.com/{self.last}/{month}') if response.ok: return response.text else: return 'Bad Response!'