code: def setup_class(cls):
      # copy-paste except for model
      nobs, k_vars = 500, 5
  
      np.random.seed(786452)
      x = np.random.randn(nobs, k_vars)
      x[:, 0] = 1
      x2 = np.random.randn(nobs, 2)
      xx = np.column_stack((x, x2))
  
      if cls.dispersed:
          het = np.random.randn(nobs)
          y = np.random.poisson(np.exp(x.sum(1) * 0.5 + het))
          # y_mc = np.random.negative_binomial(np.exp(x.sum(1) * 0.5), 2)
      else:
          y = np.random.poisson(np.exp(x.sum(1) * 0.5))
  
      cls.exog_extra = x2
      cls.model_full = Poisson(y, xx)
      cls.model_drop = Poisson(y, x)
  
imports: import numpy
  from numpy.testing import assert_allclose
  from statsmodels.genmod.generalized_linear_model import GLM
  from statsmodels.genmod import families
  from statsmodels.discrete.discrete_model import Poisson
  import statsmodels.stats._diagnostic_other
  import statsmodels.discrete._diagnostics_count
  from statsmodels.base._parameter_inference import score_test
label_desc: Use image node_id 1 for calling the TestScoreTestPoisson obj's underlying member method code with example usage: obj.setup_class(cls) without return types