code: def test_missing_data():
      """Tests if nan data are treated as infinite distance from all other points and assigned to -1 cluster"""
      model = HDBSCAN().fit(X_missing_data)
      assert model.labels_[0] == -1
      assert model.labels_[5] == -1
      assert model.probabilities_[0] == 0
      assert model.probabilities_[5] == 0
      assert model.probabilities_[5] == 0
      clean_indices = list(range(1, 5)) + list(range(6, 200))
      clean_model = HDBSCAN().fit(X_missing_data[clean_indices])
      assert np.allclose(
          clean_model.labels_, model.labels_[clean_indices]
      )
  
imports: import numpy
  from scipy.spatial import distance
  from scipy import sparse
  from scipy import stats
  from sklearn.utils.estimator_checks import check_estimator
  from sklearn.utils._testing import assert_array_equal, assert_array_almost_equal, assert_raises
  from hdbscan import HDBSCAN, hdbscan, validity_index, approximate_predict, approximate_predict_scores, membership_vector, all_points_membership_vectors
  from sklearn.datasets import make_blobs
  from sklearn.utils import shuffle
  from sklearn.preprocessing import StandardScaler
  from scipy.stats import mode
  from tempfile import mkdtemp
  from functools import wraps
  import pytest
  from sklearn import datasets
  import warnings
label_desc: Use image node_id 1 for calling a global function with example usage: test_missing_data() without return types