import unittest import io import re from unittest import mock import math import student_X as main #Replace student_X with your filename class MiddleCharTests(unittest.TestCase): def test_default_case(self): function = main.middle_char test = False try: incorrect = "" result = function.__doc__.strip() test = incorrect != result except: pass message = "No docstring." self.assertTrue(test, message) inputs = ("are") test = False correct = 'r' if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = correct == result message = "Doesn't return the correct character ('r') on the string 'are'." self.assertTrue(test, message) inputs = ("fake") test = False incorrect = 'a' correct = 'k' if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = result != incorrect message = "Seems to round to the left on even-length strings." self.assertTrue(test, message) test = correct == result message = "Doesn't return the correct character ('k') on the string 'fake'." self.assertTrue(test, message) inputs = ("bananaboy") test = False correct = 'n' if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = correct == result message = "Doesn't always return the correct character for odd-length strings." self.assertTrue(test, message) inputs = ("bananatime") test = False correct = 'a' if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = correct == result message = "Doesn't always return the correct character for even-length strings." self.assertTrue(test, message) if __name__ == "__main__": tests = MiddleCharTests() tests.test_default_case()