import unittest import io import re from unittest import mock import math import student_X as main #Replace student_X with your filename import sys import io from io import StringIO class PrintAboutIntegersTests(unittest.TestCase): def test_default_case(self): function = main.print_about_integers try: docstring = function.__doc__ docstring = docstring.strip() except: docstring = "" correct = docstring != "" message = "docstring is blank." self.assertTrue(correct, message) with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: function(0, 1) output = fake_stdout.getvalue().strip() correct = "The second number is higher." works = output == correct feedback = "Doesn't work when the second argument is bigger." self.assertTrue(correct, feedback) with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: function(0, 1000) output = fake_stdout.getvalue().strip() correct = "The second number is higher." works = output == correct feedback = "Doesn't work when the second argument is bigger." self.assertTrue(correct, feedback) with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: function(100012, 100019) output = fake_stdout.getvalue().strip() correct = "The second number is higher." works = output == correct feedback = "Doesn't work when the second argument is bigger." self.assertTrue(correct, feedback) with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: function(1, 0) output = fake_stdout.getvalue().strip() correct = "The first number is higher." works = output == correct feedback = "Doesn't work when the first argument is bigger." self.assertTrue(correct, feedback) with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: function(10, 0) output = fake_stdout.getvalue().strip() correct = "The first number is higher." works = output == correct feedback = "Doesn't work when the first argument is bigger." self.assertTrue(correct, feedback) with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: function(109, 68) output = fake_stdout.getvalue().strip() correct = "The first number is higher." works = output == correct feedback = "Doesn't work when the first argument is bigger." self.assertTrue(correct, feedback) with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: function(0, 0) output = fake_stdout.getvalue().strip() correct = "The numbers are equal." works = output == correct feedback = "Doesn't work when the arguments are equal." self.assertTrue(correct, feedback) with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: function(120, 120) output = fake_stdout.getvalue().strip() correct = "The numbers are equal." works = output == correct feedback = "Doesn't work when the arguments are equal." self.assertTrue(correct, feedback) if __name__ == "__main__": tests = PrintAboutIntegersTests() tests.test_default_case()