def assert_dict_equal(a, b, assert_value, *args, **kwargs):
assert a.keys() == b.keys()<EOL>for key in a:<EOL><INDENT>assert_value(a[key], b[key], *args, **kwargs)<EOL><DEDENT>
Assert that two `dict`s contain the same data

    Parameters
    ----------
    a, b
        two objects to compare

    assert_value : `callable`
        method to compare that two dict entries are the same

    *args, **kargs
        positional and keyword arguments to pass to ``assert_value``