def check_error_raising(obj_a, obj_b, method_names, arguments):
    """Return whether errors raised were the same.

    Parameters
    ==========

    obj_a, obj_b (any Python object)
        objects whose errors type and message will be
        tested for equality.
    method_names (iterable)
        collection of names of methods to test on the rect
        attribute of the objects.
    arguments (iterable)
        collection of arguments to be used in the listed
        methods, one per call.
    """
    accumulator = []

    ### iterate over methods and arguments given

    for method_name in method_names:
        for arg in arguments:

            ### retrieve type and message for error
            ### in obj_a

            type_a, msg_a = get_error_type_and_message(obj_a, method_name, arg)

            ### retrieve type and message for error
            ### in obj_a

            type_b, msg_b = get_error_type_and_message(obj_b, method_name, arg)

            ### compare the types and messages and
            ### append the result in the accumulator

            are_equal = (type_a, msg_a) == (type_b, msg_b)
            accumulator.append(are_equal)

    ### return whether all values on the accumulator are
    ### positive
    return all(accumulator)
Return whether errors raised were the same.

    Parameters
    ==========

    obj_a, obj_b (any Python object)
        objects whose errors type and message will be
        tested for equality.
    method_names (iterable)
        collection of names of methods to test on the rect
        attribute of the objects.
    arguments (iterable)
        collection of arguments to be used in the listed
        methods, one per call.
    
nodezator/rectsman/doctests/fixtures.py