code: def test_qs_auto(data: ArrayLike):
      qs = QuadraticSpectral(data, force_int=True)
      if data.ndim == 1:
          expected_bw = 8
          expected_weights = [
              1.0,
              0.97796879,
              0.91394558,
              0.81388998,
              0.68693073,
              0.54427698,
              0.3979104,
              0.25923469,
              0.13786058,
              0.04067932,
          ]
      else:
          expected_bw = 9
          expected_weights = [
              1.0,
              0.98256363,
              0.93155267,
              0.85073648,
              0.74599423,
              0.62475681,
              0.49531303,
              0.36605493,
              0.24474206,
              0.13786058,
          ]
      assert int(qs.bandwidth) == expected_bw
      assert_allclose(
          qs.kernel_weights[:10], np.array(expected_weights)
      )
  
file_path: arch/arch/tests/covariance/test_covariance.py
imports: from itertools import product
  import numpy
  from numpy.testing import assert_allclose
  import pandas
  import pytest
  from arch.covariance.kernel import Andrews, Bartlett, CovarianceEstimate, CovarianceEstimator, Gallant, NeweyWest, Parzen, ParzenCauchy, ParzenGeometric, ParzenRiesz, QuadraticSpectral, TukeyHamming, TukeyHanning, TukeyParzen
  from arch.typing import ArrayLike
label_desc: Use image node_id 7 for calling a global function with example usage: test_qs_auto(data) without return types