code: def test_has_expected_seasonality(self):
      model = default_model.build_default_model(
          self._build_test_series(
              shape=[168 * 2], freq=pd.DateOffset(hours=1)
          )
      )
  
      self.assertIsInstance(model, sum_lib.Sum)
      self.assertLen(model.components, 3)
      self.assertIsInstance(
          model.components[0], local_linear_trend.LocalLinearTrend
      )
      self.assertIsInstance(model.components[1], seasonal.Seasonal)
      self.assertContainsSubsequence(
          model.components[1].name, "HOUR_OF_DAY"
      )
      self.assertIsInstance(model.components[2], seasonal.Seasonal)
      self.assertContainsSubsequence(
          model.components[2].name, "DAY_OF_WEEK"
      )
  
imports: import pandas
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.internal import tf_keras
  from tensorflow_probability.python.optimizer.convergence_criteria import successive_gradients_are_uncorrelated
  from tensorflow_probability.python.sts import default_model
  from tensorflow_probability.python.sts import fitting
  from tensorflow_probability.python.sts import regularization
  from tensorflow_probability.python.sts.components import local_linear_trend
  from tensorflow_probability.python.sts.components import seasonal
  from tensorflow_probability.python.sts.components import semilocal_linear_trend
  from tensorflow_probability.python.sts.components import sum
  from tensorflow_probability.python.sts.forecast import forecast
  from tensorflow_probability.python.vi import optimization
label_desc: Use image node_id 2 for calling the DefaultModelTests obj's underlying member method code with example usage: obj.test_has_expected_seasonality() without return types