docstr: ...Test PoissonRegression runs with different solvers and penalties
          
docstr_tok: ["...","Test","PoissonRegression","runs","with","different","solvers","and","penalties"]
code: def test_PoissonRegression_run(self):
      """...Test PoissonRegression runs with different solvers and penalties"""
      n_samples = 200
      n_features = 10
  
      for fit_intercept in [False, True]:
          X, y, weights0, intercept0 = self.get_train_data(
              n_samples=n_samples,
              n_features=n_features,
              fit_intercept=fit_intercept,
          )
          for solver, penalty in product(
              PoissonRegression._solvers, PoissonRegression._penalties
          ):
              if solver == "bfgs" and (penalty not in ["zero", "l2"]):
                  continue
  
              if penalty == "binarsity":
                  learner = PoissonRegression(
                      verbose=False,
                      fit_intercept=fit_intercept,
                      solver=solver,
                      penalty=penalty,
                      max_iter=1,
                      step=1e-5,
                      blocks_start=[0],
                      blocks_length=[1],
                  )
              else:
                  learner = PoissonRegression(
                      verbose=False,
                      fit_intercept=fit_intercept,
                      solver=solver,
                      penalty=penalty,
                      max_iter=1,
                      step=1e-5,
                  )
  
              learner.fit(X, y)
              self.assertTrue(np.isfinite(learner.weights).all())
              if fit_intercept:
                  self.assertTrue(np.isfinite(learner.intercept))
  
imports: import unittest
  from itertools import product
  import numpy
  from tick.base.inference import InferenceTest
  from tick.linear_model import SimuPoisReg, PoissonRegression
  from tick.simulation import weights_sparse_gauss
label_desc: Use image node_id 3 for calling the Test obj's underlying member method code with example usage: obj.test_PoissonRegression_run() without return types