code: def test_str_repr(spa_data):
      spa = SPA(spa_data.benchmark, spa_data.models)
      expected = (
          "SPA(studentization: asymptotic, bootstrap: "
          + str(spa.bootstrap)
          + ")"
      )
      assert_equal(str(spa), expected)
      expected = expected[:-1] + ", ID: " + hex(id(spa)) + ")"
      assert_equal(spa.__repr__(), expected)
  
      expected = (
          "<strong>SPA</strong>("
          + "<strong>studentization</strong>: asymptotic, "
          + "<strong>bootstrap</strong>: "
          + str(spa.bootstrap)
          + ", <strong>ID</strong>: "
          + hex(id(spa))
          + ")"
      )
  
      assert_equal(spa._repr_html_(), expected)
      spa = SPA(
          spa_data.benchmark,
          spa_data.models,
          studentize=False,
          bootstrap="cbb",
      )
      expected = (
          "SPA(studentization: none, bootstrap: "
          + str(spa.bootstrap)
          + ")"
      )
      assert_equal(str(spa), expected)
  
      spa = SPA(
          spa_data.benchmark,
          spa_data.models,
          nested=True,
          bootstrap="moving_block",
      )
      expected = (
          "SPA(studentization: bootstrap, bootstrap: "
          + str(spa.bootstrap)
          + ")"
      )
      assert_equal(str(spa), expected)
  
imports: from typing import NamedTuple
  import numpy
  from numpy import linspace
  from numpy.random import RandomState
  from numpy.testing import assert_allclose, assert_equal
  import pandas
  from pandas.testing import assert_frame_equal, assert_series_equal
  import pytest
  import scipy.stats
  from arch.bootstrap import CircularBlockBootstrap, MovingBlockBootstrap, StationaryBootstrap
  from arch.bootstrap.multiple_comparison import MCS, SPA, StepM
label_desc: Use image node_id 6 for calling a global function with example usage: test_str_repr(spa_data) without return types