code: def test_term_info():
      data = balanced(a=2, b=2)
      rhs = dmatrix("a:b", data)
      assert rhs.design_info.column_names == [
          "Intercept",
          "b[T.b2]",
          "a[T.a2]:b[b1]",
          "a[T.a2]:b[b2]",
      ]
      assert rhs.design_info.term_names == ["Intercept", "a:b"]
      assert len(rhs.design_info.terms) == 2
      assert rhs.design_info.terms[0] == INTERCEPT
  
imports: import sys
  import __future__
  import six
  import numpy
  import pytest
  from patsy import PatsyError
  from patsy.design_info import DesignMatrix, DesignInfo
  from patsy.eval import EvalEnvironment
  from patsy.desc import ModelDesc, Term, INTERCEPT
  from patsy.categorical import C
  from patsy.contrasts import Helmert
  from patsy.user_util import balanced, LookupFactor
  from patsy.build import design_matrix_builders, build_design_matrices
  from patsy.highlevel import *
  from patsy.util import have_pandas, have_pandas_categorical, have_pandas_categorical_dtype, pandas_Categorical_from_codes
  from patsy.origin import Origin
label_desc: Use image node_id 8 for calling a global function with example usage: test_term_info() without return types