code: def test_sample_odds_ratio_one_sided_ci(self, alternative):
      # can't find a good reference for one-sided CI, so bump up the sample
      # size and compare against the conditional odds ratio CI
      table = [[1000, 2000], [4100, 9300]]
      res = odds_ratio(table, kind="sample")
      ref = odds_ratio(table, kind="conditional")
      assert_allclose(res.statistic, ref.statistic, atol=1e-5)
      assert_allclose(
          res.confidence_interval(alternative=alternative),
          ref.confidence_interval(alternative=alternative),
          atol=2e-3,
      )
  
file_path: scipy/scipy/stats/tests/test_odds_ratio.py
imports: import pytest
  import numpy
  from numpy.testing import assert_equal, assert_allclose
  from .._discrete_distns import nchypergeom_fisher, hypergeom
  from scipy.stats._odds_ratio import odds_ratio
  from .data.fisher_exact_results_from_r import data
label_desc: Use image node_id 4 for calling the TestOddsRatio obj's underlying member method code with example usage: obj.test_sample_odds_ratio_one_sided_ci(alternative) without return types