code: def test_arrow_survival(self):
      data = os.path.join(
          tm.data_dir(__file__), "veterans_lung_cancer.csv"
      )
      table = pc.read_csv(data)
      y_lower_bound = table["Survival_label_lower_bound"]
      y_upper_bound = table["Survival_label_upper_bound"]
      X = table.drop(
          ["Survival_label_lower_bound", "Survival_label_upper_bound"]
      )
  
      dtrain = xgb.DMatrix(
          X,
          label_lower_bound=y_lower_bound,
          label_upper_bound=y_upper_bound,
      )
      y_np_up = dtrain.get_float_info("label_upper_bound")
      y_np_low = dtrain.get_float_info("label_lower_bound")
      np.testing.assert_equal(y_np_up, y_upper_bound.to_pandas().values)
      np.testing.assert_equal(
          y_np_low, y_lower_bound.to_pandas().values
      )
  
file_path: xgboost/tests/python/test_with_arrow.py
imports: import os
  import sys
  import numpy
  import pytest
  import xgboost
  from xgboost import testing
  from xgboost.core import DataSplitMode
label_desc: Use image node_id 5 for calling the TestArrowTable obj's underlying member method code with example usage: obj.test_arrow_survival() without return types