code: def test_missing_value_random_splitter_errors(is_sparse):
      X = np.array(
          [[3, 5, 7, 11, np.nan, 13, 17, np.nan, 19]], dtype=np.float32
      ).T
      y = Surv.from_arrays(
          event=np.array(
              [True, True, True, False, True, False, False, False, True]
          ),
          time=np.array([90, 80, 70, 60, 50, 40, 30, 20, 10]),
      )
  
      if is_sparse:
          X = sparse.csr_matrix(X)
  
      tree = SurvivalTree(splitter="random")
      with pytest.raises(ValueError, match="Input X contains NaN"):
          tree.fit(X, y)
  
imports: from itertools import product
  from queue import LifoQueue
  import numpy
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  import pandas
  import pytest
  from scipy import sparse
  from sklearn.model_selection import train_test_split
  from sklearn.pipeline import make_pipeline
  from sklearn.preprocessing import OrdinalEncoder
  from sklearn.tree._tree import TREE_UNDEFINED
  from sksurv.compare import compare_survival
  from sksurv.datasets import load_breast_cancer, load_veterans_lung_cancer
  from sksurv.nonparametric import kaplan_meier_estimator, nelson_aalen_estimator
  from sksurv.tree import SurvivalTree
  from sksurv.util import Surv
label_desc: Use image node_id 30 for calling a global function with example usage: test_missing_value_random_splitter_errors(is_sparse) without return types