def METHOD_NAME(tmp_path, manager: SpillManager):
    tmpdir = tmp_path / "storage"
    tmpdir.mkdir()
    pdf = pandas.DataFrame({"a": [1, 2, 3]})
    cdf = cudf.DataFrame({"a": [1, 2, 3]})
    # Pandas will cache the result of probing this attribute.
    # We trigger it here, to get consistent results from `safe_sizeof()`
    hasattr(pdf, "__cuda_array_interface__")
    dhf = DeviceHostFile(
        device_memory_limit=safe_sizeof(pdf),
        memory_limit=safe_sizeof(pdf),
        worker_local_directory=tmpdir,
    )
    dhf["pa1"] = pdf
    dhf["cu1"] = cdf
    assert set(dhf.others.keys()) == set(["cu1"])
    assert set(dhf.device.keys()) == set()
    assert set(dhf.host.keys()) == set(["pa1"])
    assert set(dhf.disk.keys()) == set()
    assert_eq(dhf["pa1"], dhf["cu1"])
    dhf["pa2"] = pdf
    assert set(dhf.others.keys()) == set(["cu1"])
    assert set(dhf.device.keys()) == set()
    assert set(dhf.host.keys()) == set(["pa2"])
    assert set(dhf.disk.keys()) == set(["pa1"])
    dhf["cu2"] = cdf
    assert set(dhf.others.keys()) == set(["cu1", "cu2"])
    assert set(dhf.device.keys()) == set()
    assert set(dhf.host.keys()) == set(["pa2"])
    assert set(dhf.disk.keys()) == set(["pa1"])
    del dhf["cu1"]
    assert set(dhf.others.keys()) == set(["cu2"])
    assert set(dhf.device.keys()) == set()
    assert set(dhf.host.keys()) == set(["pa2"])
    assert set(dhf.disk.keys()) == set(["pa1"])
    del dhf["pa2"]
    assert set(dhf.others.keys()) == set(["cu2"])
    assert set(dhf.device.keys()) == set()
    assert set(dhf.host.keys()) == set()
    assert set(dhf.disk.keys()) == set(["pa1"])
    del dhf["pa1"]
    assert set(dhf.others.keys()) == set(["cu2"])
    assert set(dhf.device.keys()) == set()
    assert set(dhf.host.keys()) == set()
    assert set(dhf.disk.keys()) == set()
    del dhf["cu2"]
    assert set(dhf.others.keys()) == set()
    assert set(dhf.device.keys()) == set()
    assert set(dhf.host.keys()) == set()
    assert set(dhf.disk.keys()) == set()