import unittest import io import re from unittest import mock import math import copy import student_X as main #Replace student_X with your filename class AllOddTests(unittest.TestCase): def test_default_case(self): function = main.all_odd test = False try: incorrect = "" result = function.__doc__ result = result.strip() test = incorrect != result except: pass message = "No docstring." self.assertTrue(test, message) inputs = ([]) original = copy.deepcopy(inputs) correct = True if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = result == correct message = "Doesn't work on the empty list." self.assertTrue(test, message) test = inputs == original message = "Changes the inputs. It should leave the input list unmodified." self.assertTrue(test, message) inputs = ([39]) original = copy.deepcopy(inputs) correct = True if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = result == correct message = "Doesn't work on a list with a single odd number." self.assertTrue(test, message) test = inputs == original message = "Changes the inputs. It should leave the input list unmodified." self.assertTrue(test, message) inputs = ([222]) original = copy.deepcopy(inputs) correct = False if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = result == correct message = "Doesn't work on a list with a single even number." self.assertTrue(test, message) test = inputs == original message = "Changes the inputs. It should leave the input list unmodified." self.assertTrue(test, message) inputs = ([5, 7, 4, 19, -3]) original = copy.deepcopy(inputs) correct = False if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = result == correct message = "Doesn't work on a list with many odd numbers and one even number." self.assertTrue(test, message) test = inputs == original message = "Changes the inputs. It should leave the input list unmodified." self.assertTrue(test, message) inputs = ([3, 5, -11, 77, 999, 13, -21]) original = copy.deepcopy(inputs) correct = True if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = result == correct message = "Doesn't work on a list of all odds." self.assertTrue(test, message) test = inputs == original message = "Changes the inputs. It should leave the input list unmodified." self.assertTrue(test, message) if __name__ == "__main__": tests = AllOddTests() tests.test_default_case()