human
Complete this python program:
def _register_assert_equal_wrapper(type_, assert_eq):
assistant
#Here is the Python program you requested.

    """Register a new check for an ndframe object.
    Parameters
    type_ : type
    The class to register an ``assert_equal`` dispatch for.
    assert_eq : callable[type_, type_]
    The function which checks that if the two ndframes are equal.
    Returns
    assert_ndframe_equal : callable[type_, type_]
    The wrapped function registered with ``assert_equal``.
    """
    @assert_equal.register(type_, type_)
    def assert_ndframe_equal(result, expected, path=(), msg='', **kwargs):
        try:
            assert_eq(result, expected, **filter_kwargs(assert_eq, kwargs))
        except AssertionError as e:
            raise AssertionError((_fmt_msg(msg) + '\n'.join((str(e), _fmt_path(path)))))
    return assert_ndframe_equal