code: def _test_discrete_poisson(poisson_distribution: Poisson):
      rvs = [poisson_distribution.rvs() for i in range(10)]
      assert not all(x == rvs[0] for x in rvs)
      assert 0.0 <= poisson_distribution.rvs() <= 10.0
      assert np.isclose(
          poisson_distribution.pdf(10), 0.01813278870782187
      )
      assert np.isclose(
          poisson_distribution.pdf(0), 0.006737946999085467
      )
      assert np.isclose(
          poisson_distribution.cdf(5.0), 0.6159606548330632
      )
      assert np.isclose(
          poisson_distribution.cdf(0), 0.006737946999085467
      )
  
imports: import math
  import os
  from collections import Counter
  import joblib
  import numpy
  import pytest
  from neuraxle.base import Identity
  from neuraxle.hyperparams.distributions import Choice, LogNormal, LogUniform, Normal, PriorityChoice, RandInt, Uniform, get_index_in_list_with_bool
  from neuraxle.hyperparams.scipy_distributions import Gaussian, Histogram, Poisson, ScipyContinuousDistributionWrapper, ScipyDiscreteDistributionWrapper, ScipyLogUniform, StdMeanLogNormal
  from neuraxle.hyperparams.space import HyperparameterSpace
  from scipy.stats import gamma, norm, randint, uniform
label_desc: Use image node_id 8 for calling a global function with example usage: _test_discrete_poisson(poisson_distribution) without return types