code: def test_membership_vector_moons(
      nrows,
      n_points_to_predict,
      min_samples,
      cluster_selection_epsilon,
      cluster_selection_method,
      min_cluster_size,
      allow_single_cluster,
      max_cluster_size,
      connectivity,
      batch_size,
  ):
      X, y = datasets.make_moons(
          n_samples=nrows + n_points_to_predict,
          noise=0.05,
          random_state=42,
      )
  
      X_train = X[:nrows]
      X_test = X[nrows:]
  
      cuml_agg = HDBSCAN(
          verbose=logger.level_info,
          min_samples=min_samples,
          allow_single_cluster=allow_single_cluster,
          max_cluster_size=max_cluster_size,
          min_cluster_size=min_cluster_size,
          cluster_selection_epsilon=cluster_selection_epsilon,
          cluster_selection_method=cluster_selection_method,
          prediction_data=True,
      )
      cuml_agg.fit(X_train)
  
      sk_agg = hdbscan.HDBSCAN(
          min_samples=min_samples,
          allow_single_cluster=allow_single_cluster,
          approx_min_span_tree=False,
          gen_min_span_tree=True,
          min_cluster_size=min_cluster_size,
          cluster_selection_epsilon=cluster_selection_epsilon,
          cluster_selection_method=cluster_selection_method,
          algorithm="generic",
          prediction_data=True,
      )
  
      sk_agg.fit(X_train)
  
      cu_membership_vectors = membership_vector(
          cuml_agg, X_test, batch_size
      )
      sk_membership_vectors = hdbscan.membership_vector(
          sk_agg, X_test
      ).astype("float32")
  
      assert_membership_vectors(
          cu_membership_vectors, sk_membership_vectors
      )
  
imports: from cuml.internals.safe_imports import gpu_only_import
  from sklearn.model_selection import train_test_split
  from sklearn import datasets
  from hdbscan.plots import CondensedTree
  import hdbscan
  from cuml.internals import logger
  import pytest
  from cuml.cluster.hdbscan import HDBSCAN, condense_hierarchy
  from cuml.cluster.hdbscan.prediction import all_points_membership_vectors, approximate_predict, membership_vector
  from sklearn.datasets import make_blobs
  from cuml.metrics import adjusted_rand_score
  from cuml.testing.utils import get_pattern, array_equal
  from cuml.internals.safe_imports import cpu_only_import
label_desc: Use image node_id 23 for calling a global function with example usage: test_membership_vector_moons(nrows, n_points_to_predict, min_samples, cluster_selection_epsilon, cluster_selection_method, min_cluster_size, allow_single_cluster, max_cluster_size, connectivity, batch_size) without return types