code: def test_left_truncated_simple1():
      time_enter = np.array([4, 3, 4, 2, 1, 5, 6, 7])
      time_exit = np.array([6, 7, 8, 10, 9, 9, 10, 11])
      event = np.array([0, 1, 0, 0, 1, 1, 1, 0], dtype=bool)
  
      x, y, km_ci = kaplan_meier_estimator(
          event, time_exit, time_enter, conf_type="log-log"
      )
  
      true_x = np.arange(1, 12)
      assert_array_almost_equal(x, true_x)
  
      true_y = np.array(
          [
              1.0,
              1.0,
              1.0,
              1.0,
              1.0,
              1.0,
              0.833333,
              0.833333,
              0.5,
              0.333333,
              0.333333,
          ]
      )
      assert_array_almost_equal(y, true_y)
  
      true_ci = np.array(
          [
              [
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  0.273123,
                  0.273123,
                  0.110948,
                  0.046082,
                  0.046082,
              ],
              [
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  0.974712,
                  0.974712,
                  0.803709,
                  0.675564,
                  0.675564,
              ],
          ]
      )
      assert_array_almost_equal(km_ci, true_ci)
  
imports: from os.path import dirname, join
  import numpy
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  import pandas
  import pytest
  from sksurv.nonparametric import CensoringDistributionEstimator, SurvivalFunctionEstimator, kaplan_meier_estimator, nelson_aalen_estimator
  from sksurv.testing import FixtureParameterFactory
  from sksurv.util import Surv
label_desc: Use image node_id 11 for calling the TestKaplanMeier obj's underlying member method code with example usage: obj.test_left_truncated_simple1() without return types