code: def test_all(self):
      p_geom = 0.6
      scale_dexpon = -1 / np.log(1 - p_geom)
      dgeo = stats.geom(p_geom, loc=-1)
      dpg = DiscretizedCount(stats.expon)(scale_dexpon)
  
      xi = np.arange(6)
      pmf1 = dgeo.pmf(xi)
      pmf = dpg.pmf(xi)
      assert_allclose(pmf, pmf1, rtol=1e-10)
      cdf1 = dgeo.cdf(xi)
      cdf = dpg.cdf(xi)
      assert_allclose(cdf, cdf1, rtol=1e-10)
      sf1 = dgeo.sf(xi)
      sf = dpg.sf(xi)
      assert_allclose(sf, sf1, rtol=1e-10)
  
      ppf1 = dgeo.ppf(cdf1)
      ppf = dpg.ppf(cdf1)
      assert_equal(ppf, ppf1)
      ppf1 = dgeo.ppf(cdf1 - 1e-8)
      ppf = dpg.ppf(cdf1 - 1e-8)
      assert_equal(ppf, ppf1)
      ppf1 = dgeo.ppf(cdf1 + 1e-8)
      ppf = dpg.ppf(cdf1 + 1e-8)
      assert_equal(ppf, ppf1)
      ppf1 = dgeo.ppf(0)  # incorrect in scipy < 1.5.0
      ppf = dpg.ppf(0)
      assert_equal(ppf, -1)
  
      # isf
      isf1 = dgeo.isf(sf1)
      isf = dpg.isf(sf1)
      assert_equal(isf, isf1)
      isf1 = dgeo.isf(sf1 - 1e-8)
      isf = dpg.isf(sf1 - 1e-8)
      assert_equal(isf, isf1)
      isf1 = dgeo.isf(sf1 + 1e-8)
      isf = dpg.isf(sf1 + 1e-8)
      assert_equal(isf, isf1)
      isf1 = dgeo.isf(0)
      isf = dpg.isf(0)
      assert_equal(isf, isf1)  # inf
      isf1 = dgeo.isf(1)  # currently incorrect in scipy
      isf = dpg.isf(1)
      assert_equal(isf, -1)
  
imports: import numpy
  from numpy.testing import assert_allclose, assert_equal
  from scipy import stats
  from scipy.stats import poisson, nbinom
  from statsmodels.tools.tools import Bunch
  from statsmodels.distributions.discrete import genpoisson_p, truncatedpoisson, truncatednegbin, zipoisson, zinegbin, zigenpoisson, DiscretizedCount, DiscretizedModel
label_desc: Use image node_id 1 for calling the TestGeometric obj's underlying member method code with example usage: obj.test_all() without return types