docstr: ...Test uniform random int numbers in range simulation
          
docstr_tok: ["...","Test","uniform","random","int","numbers","in","range","simulation"]
code: def test_uniform_int_random(self):
      """...Test uniform random int numbers in range simulation"""
      a = -2
      b = 100
      seeded_sample = [28, 30, 54, 74, 11]
  
      self._test_dist_with_seed(
          seeded_sample, test_uniform_int, a, b, discrete=True
      )
  
      # Statistical tests
      sample = test_uniform_int(a, b, self.stat_size, self.test_seed)
      probs = (1.0 / (b - a)) * np.ones(shape=(b - a,))
      f_exp = self.stat_size * probs
      f_obs, _ = np.histogram(sample, bins=range(a, 1 + b))
      self.assertEqual(f_obs.shape, f_exp.shape)
      self.assertTrue(
          np.allclose(
              np.sum(f_obs), np.sum(f_exp), rtol=1e-8, atol=1e-16
          )
      )
      s_threshold = 100.0
      p_threshold = 0.05
      # TODO: make this test pass!
      s, p = stats.chisquare(f_obs=f_obs, f_exp=f_exp)
      self.assertLess(
          s, s_threshold, "Chi-square stat is larger than threshold"
      )
      self.assertGreater(
          p, p_threshold, "Chi-square p-value is smaller than threshold"
      )
  
imports: import unittest
  import multiprocessing
  from multiprocessing.pool import Pool
  import itertools
  import numpy
  import threading
  from scipy import stats
  from tick.random import test_uniform, test_gaussian, test_poisson, test_exponential, test_uniform_int, test_discrete, test_uniform_threaded
label_desc: Use image node_id 4 for calling the Test obj's underlying member method code with example usage: obj.test_uniform_int_random() without return types