code: def check_properties(
      spec,
      order,
      seasonal_order,
      enforce_stationarity,
      enforce_invertibility,
      concentrate_scale,
      is_ar_consecutive,
      is_ma_consecutive,
      exog_names,
      ar_names,
      ma_names,
      seasonal_ar_names,
      seasonal_ma_names,
  ):
      p, d, q = order
      P, D, Q, s = seasonal_order
  
      k_exog_params = len(exog_names)
      k_ar_params = len(p) if isinstance(p, list) else p
      k_ma_params = len(q) if isinstance(q, list) else q
      k_seasonal_ar_params = len(P) if isinstance(P, list) else P
      k_seasonal_ma_params = len(Q) if isinstance(Q, list) else Q
      k_variance_params = int(not concentrate_scale)
  
      param_names = (
          exog_names
          + ar_names
          + ma_names
          + seasonal_ar_names
          + seasonal_ma_names
      )
      if not concentrate_scale:
          param_names.append("sigma2")
  
      assert_equal(spec.is_ar_consecutive, is_ar_consecutive)
      assert_equal(spec.is_ma_consecutive, is_ma_consecutive)
      assert_equal(spec.is_integrated, d + D > 0)
      assert_equal(spec.is_seasonal, s > 0)
  
      assert_equal(spec.k_exog_params, k_exog_params)
      assert_equal(spec.k_ar_params, k_ar_params)
      assert_equal(spec.k_ma_params, k_ma_params)
      assert_equal(spec.k_seasonal_ar_params, k_seasonal_ar_params)
      assert_equal(spec.k_seasonal_ma_params, k_seasonal_ma_params)
      assert_equal(
          spec.k_params,
          k_exog_params
          + k_ar_params
          + k_ma_params
          + k_seasonal_ar_params
          + k_seasonal_ma_params
          + k_variance_params,
      )
  
      assert_equal(spec.exog_names, exog_names)
      assert_equal(spec.ar_names, ar_names)
      assert_equal(spec.ma_names, ma_names)
      assert_equal(spec.seasonal_ar_names, seasonal_ar_names)
      assert_equal(spec.seasonal_ma_names, seasonal_ma_names)
      assert_equal(spec.param_names, param_names)
  
file_path: statsmodels/statsmodels/tsa/arima/tests/test_specification.py
imports: import numpy
  import pandas
  import pytest
  from numpy.testing import assert_equal, assert_allclose, assert_raises
  from statsmodels.tsa.statespace.tools import constrain_stationary_univariate, unconstrain_stationary_univariate
  from statsmodels.tsa.arima import specification
label_desc: Use image node_id 2 for calling a global function with example usage: check_properties(spec, order, seasonal_order, enforce_stationarity, enforce_invertibility, concentrate_scale, is_ar_consecutive, is_ma_consecutive, exog_names, ar_names, ma_names, seasonal_ar_names, seasonal_ma_names) without return types