class TestPrintedOutput(unittest.TestCase): def setUp(self): self.held, sys.stdout = sys.stdout, StringIO() # This is a listening line of code, waiting for printed output in console, when printed it's saved to 'stdout' self.profile = Profile("Joanna White", 44, "Digital Preservation Data Specialist", "British Film Institute") def test_name(self): self.profile.print_name() # Print out to console, which is saved into sys.stdout below. self.assertEqual(sys.stdout.getvalue().strip(), "Joanna White") # .strip() added to remove newline character added by profile.print_name() otherwise the test fails def test_age(self): self.profile.print_age() self.assertEqual(sys.stdout.getvalue().strip(), '44') # Although the number is added without brackets above, it's still a string so needs testing this way def test_job(self): self.profile.print_job() self.assertEqual(sys.stdout.getvalue().strip(), "Digital Preservation Data Specialist") def test_employer(self): self.profile.print_employer() self.assertEqual(sys.stdout.getvalue().strip(), "British Film Institute") def tearDown(self): self.profile = None
class TestPrintedOutPut(unittest.TestCase): def setUp(self): self.held, sys.stdout = sys.stdout, StringIO() self.profile = Profile('Mohammad Mahjoub', 21, 'student') def test_name(self): self.profile.print_name() self.assertEqual(sys.stdout.getvalue().strip(), 'Mohammad Mahjoub') def test_age(self): self.profile.print_age() self.assertEqual(sys.stdout.getvalue().strip(), '21') def test_job(self): self.profile.print_job() self.assertEqual(sys.stdout.getvalue().strip(), 'student') def tearDown(self): self.profile = None
class TestPrintOut(unittest.TestCase): def setUp(self): self.held, sys.stdout = sys.stdout, StringIO() self.profile = Profile("Alesk", "25", "IT") def test_name(self): self.profile.print_name() self.assertEqual(sys.stdout.getvalue().strip(), "Alesk") def test_age(self): self.profile.print_age() self.assertEqual(sys.stdout.getvalue().strip(), "25") def test_job(self): self.profile.print_job() self.assertEqual(sys.stdout.getvalue().strip(), "IT") def tearDown(self) -> None: self.profile = None
class EasyTestCase(unittest.TestCase): def setUp(self): self.held, sys.stdout = sys.stdout, StringIO() self.profile = Profile('Hubert', 27, 'Software tester') def test_easy_input1(self): self.profile.print_name() self.assertEqual(sys.stdout.getvalue().strip(), 'Hubert') def test_easy_input2(self): self.profile.print_age() self.assertEqual(sys.stdout.getvalue().strip(), str(27)) def test_easy_input3(self): self.profile.print_job() self.assertEqual(sys.stdout.getvalue().strip(), 'Software tester') def tearDown(self): self.profile = None
def setUp(self): self.held, sys.stdout = sys.stdout, StringIO() # This is a listening line of code, waiting for printed output in console, when printed it's saved to 'stdout' self.profile = Profile("Joanna White", 44, "Digital Preservation Data Specialist", "British Film Institute")
def setUp(self): self.held, sys.stdout = sys.stdout, StringIO() self.profile = Profile('Mohammad Mahjoub', 21, 'student')
def setUp(self): self.held, sys.stdout = sys.stdout, StringIO() self.profile = Profile("Alesk", "25", "IT")
def setUp(self): self.held, sys.stdout = sys.stdout, StringIO() self.profile = Profile('Hubert', 27, 'Software tester')