def METHOD_NAME(subset, superset, test_mode=True):
    superset_key_paths, superset_full_paths = _gather_key_paths_from_dict(superset)
    superset_full_paths = ["/".join(x) for x in superset_full_paths]
    # print(superset_key_paths)
    # print(superset_full_paths)
    # print("")
    subset_key_paths, subset_full_paths = _gather_key_paths_from_dict(subset)
    subset_full_paths = ["/".join(x) for x in subset_full_paths]
    # print(subset_key_paths)
    # print(subset_full_paths)
    # print("")
    subset_items = [
        _get_items_by_path(subset, key_path) for key_path in subset_key_paths
    ]
    superset_items = [
        _get_items_by_path(superset, key_path) for key_path in superset_key_paths
    ]
    # key_paths that point to empty values should only be checked to see if they exist as key_paths in the superset
    # empty_paths = [x[0] for x in subset_items if not x[1]]
    subset_items = [x for x in subset_items if x[1]]
    #
    # superset_items = [_get_items_by_path(superset, key_path) for key_path in key_paths]
    # Test that populated subset items correspond to items in the superset
    if subset_items:
        items_test = all(item in superset_items for item in subset_items)
    else:
        items_test = True
    # Test that the subset key paths correspond to key paths in the superset
    keys_test = all(item in superset_full_paths for item in subset_full_paths)
    if test_mode is True:
        assert all(
            [items_test, keys_test]
        ), f"\nEITHER:\n{subset_items}\n is not a subset of \n{superset_items}\n\nOR:\n\n{subset_full_paths}\n is not a subset of \n{superset_full_paths}"
    else:
        assert (
            all([items_test, keys_test]) is False
        ), f"\nBOTH:\n{subset_items} is a subset of \n{superset_items}\nAND:\n{subset_full_paths} is a subset of \n{superset_full_paths}"