code: def test_sample_size_necessary_under_cph():
      assert stats.sample_size_necessary_under_cph(
          0.8, 1, 0.8, 0.2, 0.139
      ) == (14, 14)
      assert stats.sample_size_necessary_under_cph(
          0.8, 1, 0.5, 0.5, 1.2
      ) == (950, 950)
      assert stats.sample_size_necessary_under_cph(
          0.8, 1.5, 0.5, 0.5, 1.2
      ) == (1231, 821)
      assert stats.sample_size_necessary_under_cph(
          0.8, 1.5, 0.5, 0.5, 1.2, alpha=0.01
      ) == (1832, 1221)
  
imports: import numpy
  import pandas
  import numpy.testing
  import pytest
  from pandas.testing import assert_frame_equal
  from lifelines import statistics
  from lifelines import CoxPHFitter, KaplanMeierFitter, WeibullFitter
  from lifelines.exceptions import StatisticalWarning
  from lifelines.datasets import load_waltons, load_g3, load_lymphoma, load_dd, load_regression_dataset, load_leukemia
label_desc: Use image node_id 1 for calling a global function with example usage: test_sample_size_necessary_under_cph() without return types