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 InputGreetTests(unittest.TestCase): def test_default_case(self): function = main.input_greet correct = function.__doc__.strip() != "" message = "docstring is blank." self.assertTrue(correct, message) with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: oldstdin = sys.stdin sys.stdin = StringIO('Renee') function() output = fake_stdout.getvalue().strip() sys.stdin = oldstdin correct = "Hi, Renee!" == output feedback = "Doesn't print out 'Hi, Renee!', when I type 'Renee' into the terminal." self.assertTrue(correct, feedback) name = "Darth Roberson" with mock.patch('sys.stdout', new=io.StringIO()) as fake_stdout: oldstdin = sys.stdin sys.stdin = StringIO(name) function() output = fake_stdout.getvalue().strip() sys.stdin = oldstdin correct = "Hi, " + name + "!" == output feedback = "Doesn't print out 'Hi, " + name + "!', when I type '" + name + "' into the terminal." self.assertTrue(correct, feedback) if __name__ == "__main__": tests = InputGreetTests() tests.test_default_case()