def METHOD_NAME(client, drop, as_array, sparse, n_samples):
    X, ary = generate_inputs_from_categories(
        n_samples=n_samples, as_array=as_array
    )
    if as_array:
        dX = da.from_array(X)
    else:
        dX = dask_cudf.from_cudf(X, npartitions=1)
    enc = OneHotEncoder(sparse=sparse, drop=drop, categories="auto")
    sk_enc = SkOneHotEncoder(sparse=sparse, drop=drop, categories="auto")
    ohe = enc.fit_transform(dX)
    ref = sk_enc.fit_transform(ary)
    if sparse:
        cp.testing.assert_array_equal(ohe.compute().toarray(), ref.toarray())
    else:
        cp.testing.assert_array_equal(ohe.compute(), ref)
    inv_ohe = enc.inverse_transform(ohe)
    assert_inverse_equal(inv_ohe.compute(), dX.compute())