code: def test_select_coint_rank():  # This is only a smoke test.
      if debug_mode:
          if "select_coint_rank" not in to_test:  # pragma: no cover
              return
          else:
              print("\n\nSELECT_COINT_RANK\n", end="")
      endog = data[datasets[0]]
      neqs = endog.shape[1]
  
      trace_result = select_coint_rank(endog, 0, 3, method="trace")
      rank = trace_result.rank
      r_1 = trace_result.r_1
      test_stats = trace_result.test_stats
      crit_vals = trace_result.crit_vals
      if rank > 0:
          assert_equal(r_1[0], r_1[1])
          for i in range(rank):
              assert_(test_stats[i] > crit_vals[i])
      if rank < neqs:
          assert_(test_stats[rank] < crit_vals[rank])
  
      maxeig_result = select_coint_rank(
          endog, 0, 3, method="maxeig", signif=0.1
      )
      rank = maxeig_result.rank
      r_1 = maxeig_result.r_1
      test_stats = maxeig_result.test_stats
      crit_vals = maxeig_result.crit_vals
      if maxeig_result.rank > 0:
          assert_equal(r_1[0], r_1[1] - 1)
          for i in range(rank):
              assert_(test_stats[i] > crit_vals[i])
      if rank < neqs:
          assert_(test_stats[rank] < crit_vals[rank])
  
imports: import numpy
  from numpy.testing import assert_, assert_allclose, assert_array_equal, assert_raises, assert_raises_regex
  import pytest
  import statsmodels.datasets.interest_inflation.data
  from statsmodels.tools.testing import assert_equal
  from statsmodels.tsa.vector_ar.tests.JMulTi_results.parse_jmulti_vecm_output import dt_s_tup_to_string, load_results_jmulti, sublists
  from statsmodels.tsa.vector_ar.util import seasonal_dummies
  from statsmodels.tsa.vector_ar.var_model import VARProcess
  from statsmodels.tsa.vector_ar.vecm import VECM, select_coint_rank, select_order
label_desc: Use image node_id 25 for calling a global function with example usage: test_select_coint_rank() without return types