import unittest import io import re from unittest import mock import math import student_X as main #Replace student_X with your filename class CombineAndSortTests(unittest.TestCase): def test_default_case(self): function = main.combine_and_sort test = False try: incorrect = "" result = function.__doc__ result = result.strip() test = incorrect != result except: pass message = "No docstring." self.assertTrue(test, message) inputs = ([], []) original = ([], []) correct = [] if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = inputs == original message = "Modifies the input list. It should leave that unchanged." self.assertTrue(test, message) message = "Doesn't correctly merge two empty lists." self.assertTrue(test, message) inputs = ([], [1]) original = ([], [1]) correct = [1] if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = inputs == original message = "Modifies the input list. It should leave that unchanged." self.assertTrue(test, message) message = "Doesn't correctly merge the empty list with a list with one element." self.assertTrue(test, message) inputs = ([1], []) original = ([1], []) correct = [1] if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = inputs == original message = "Modifies the input list. It should leave that unchanged." self.assertTrue(test, message) message = "Doesn't correctly merge the empty list with a list with one element." self.assertTrue(test, message) inputs = ([1], [5]) original = ([1], [5]) correct = [1, 5] if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = inputs == original message = "Modifies the input list. It should leave that unchanged." self.assertTrue(test, message) message = "Doesn't correctly combine two lists with one element each." self.assertTrue(test, message) inputs = ([31], [5]) original = ([31], [5]) correct = [5, 31] if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = inputs == original message = "Modifies the input list. It should leave that unchanged." self.assertTrue(test, message) message = "Doesn't correctly combine two lists with one element each." self.assertTrue(test, message) inputs = ([1, 3, 5, 7, 9], [5]) original = ([1, 3, 5, 7, 9], [5]) correct = [1, 3, 5, 5, 7, 9] if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = inputs == original message = "Modifies the input list. It should leave that unchanged." self.assertTrue(test, message) message = "Doesn't correctly combine two lists of integers." self.assertTrue(test, message) inputs = (["seawolf", "wolf", "dog"], ["hound", "fox", "dog", "walrus"]) original = (["seawolf", "wolf", "dog"], ["hound", "fox", "dog", "walrus"]) correct = ["dog", "dog", "fox", "hound", "seawolf", "walrus", "wolf"] if isinstance(inputs, tuple): result = function(*inputs) else: result = function(inputs) test = inputs == original message = "Modifies the input list. It should leave that unchanged." self.assertTrue(test, message) message = "Doesn't correctly merge two lists of strings." self.assertTrue(test, message) if __name__ == "__main__": tests = CombineAndSortTests() tests.test_default_case()