The file rt.py provides an easy means
    for testing Python modules.  To use it, place it in the directory
    containing  your module.  Then do this import. 
from rt import run_test, run_test_float, close_enough
See the file's docstring for specifics.
# ###########################################################
#   Authors: Morrison with revision by Chris Agrella
#   Date created:  2021-08-30
#   Date last modified:  2021-09-17
#   rt Module
#   FREE CODE FOR WRITING TESTS
#   Usage for a non-float return value
#       run_test(function_name, expected_output, [arg1, arg2, .... ])
#   Usage for a float return value
#       run_test_float(function_name, expected_output, [arg1, arg2, .... ])
# ############################################################
TOLERANCE = 1e-6
def close_enough(x, y):
    return abs(x - y) < TOLERANCE
def run_test(function, expected, args):
    # print(f"args = {args}")
    if len(args) == 1:
        # print("made it into the if statement")
        args = args[0]
        # print(f"args = {args}")
        if function(args) == expected:
            print(f"PASS for case {args} ({function(args)})")
        else:
            print(
                f"FAIL because f({args}) != {expected}. Failed Output: {function(args)}"
            )
    else:
        if function(*args) == expected:
            print(f"PASS for case {args} ({function(*args)})")
        else:
            print(
                f"FAIL because f({args}) != {expected}. Failed Output: {function(*args)}"
            )
def run_test_float(function, expected, args):
    if type(args) == list and len(args) == 1:
        args = args[0]
        if close_enough(function(args), expected):
            print(f"PASS for case {args} ({function(args)})")
        else:
            print(
                f"FAIL because f({args}) != {expected}. Failed Output: {function(args)}"
            )
        return
    else:
        if close_enough(function(*args), expected):
            print(f"PASS for case {args} ({function(*args)})")
        else:
            print(
                f"FAIL because f({args}) != {expected}. Failed Output: {function(*args)}"
            )