docstr: ...Test HawkesExpKern setting of parameters of model
          
docstr_tok: ["...","Test","HawkesExpKern","setting","of","parameters","of","model"]
code: def test_HawkesExpKern_model_settings(self):
      """...Test HawkesExpKern setting of parameters of model"""
      n_nodes = len(self.events)
      decay_array = np.random.rand(n_nodes, n_nodes)
  
      for gofit in gofits:
          learner = HawkesExpKern(self.float_1, gofit=gofit)
          self.assertEqual(learner.decays, self.float_1)
          self.assertEqual(learner._model_obj.decays, self.float_1)
  
          if gofit == "least-squares":
              learner = HawkesExpKern(decay_array, gofit=gofit)
              np.testing.assert_array_equal(learner.decays, decay_array)
              np.testing.assert_array_equal(
                  learner._model_obj.decays, decay_array
              )
  
          else:
              msg = (
                  "With 'likelihood' goodness of fit, you must provide "
                  "a constant decay for all kernels"
              )
              with self.assertRaisesRegex(NotImplementedError, msg):
                  learner = HawkesExpKern(decay_array, gofit=gofit)
  
          msg = "decays is readonly in HawkesExpKern"
          with self.assertRaisesRegex(AttributeError, msg):
              learner.decays = self.float_2
  
imports: import unittest
  import numpy
  from tick.base.inference import InferenceTest
  from tick.hawkes import SimuHawkesExpKernels
  from tick.hawkes.inference import HawkesExpKern
  from tick.hawkes.model.model_hawkes_expkern_leastsq import ModelHawkesExpKernLeastSq
  from tick.hawkes.model.model_hawkes_expkern_loglik import ModelHawkesExpKernLogLik
  from tick.prox import ProxNuclear
  from tick.prox import ProxPositive, ProxL1, ProxL2Sq, ProxElasticNet
  from tick.solver import AGD, GD, BFGS, SGD, SVRG
label_desc: Use image node_id 9 for calling the Test obj's underlying member method code with example usage: obj.test_HawkesExpKern_model_settings() without return types