code: def test_poisson_generator():
      ctx = mx.context.current_context()
      for dtype in ["float16", "float32", "float64"]:
          for lam in [1, 10]:
              buckets = [
                  (-1.0, lam - 0.5),
                  (lam - 0.5, 2 * lam + 0.5),
                  (2 * lam + 0.5, np.inf),
              ]
              probs = [
                  ss.poisson.cdf(bucket[1], lam)
                  - ss.poisson.cdf(bucket[0], lam)
                  for bucket in buckets
              ]
              generator_mx = lambda x: mx.nd.random.poisson(
                  lam, shape=x, ctx=ctx, dtype=dtype
              ).asnumpy()
              verify_generator(
                  generator=generator_mx, buckets=buckets, probs=probs
              )
              generator_mx_same_seed = lambda x: np.concatenate(
                  [
                      mx.nd.random.poisson(
                          lam, shape=x // 10, ctx=ctx, dtype=dtype
                      ).asnumpy()
                      for _ in range(10)
                  ]
              )
              verify_generator(
                  generator=generator_mx_same_seed,
                  buckets=buckets,
                  probs=probs,
              )
  
imports: import os
  import math
  import itertools
  import mxnet
  from mxnet.test_utils import verify_generator, gen_buckets_probs_with_ppf, assert_almost_equal
  import numpy
  import random
  from common import retry, random_seed
  import scipy.stats
  import unittest
  import pytest
  from mxnet.test_utils import *
  from mxnet.base import MXNetError
  from common import assertRaises
label_desc: Use image node_id 16 for calling a global function with example usage: test_poisson_generator() without return types