code: def tearDownClass(cls):
      cls.speed_test = cls.speed_test.T
      cls.speed_test.index.name = "Test"
      cls.speed_test.columns = ["Columns", "Seconds"]
      if cumulative:
          cls.speed_test["Cum. Seconds"] = cls.speed_test[
              "Seconds"
          ].cumsum()
      if speed_table:
          cls.speed_test.to_csv("tests/speed_test.csv")
      if timed:
          tca = cls.speed_test["Columns"].sum()
          tcs = cls.speed_test["Seconds"].sum()
          cps = f"[i] Total Columns / Second for All Tests: { tca / tcs:.5f} "
          print("=" * len(cps))
          print(cls.speed_test)
          print(f"[i] Cores: {cls.data.ta.cores}")
          print(f"[i] Total Datapoints per run: {cls.data.shape[0]}")
          print(f"[i] Total Columns added: {tca}")
          print(f"[i] Total Seconds for All Tests: {tcs:.5f}")
          print(cps)
          print("=" * len(cps))
          # tmp = concat([cls.speed_test, cls.speed_test["Columns"].sum(), cls.speed_test["Seconds"].sum()])
          # print(tmp)
      del cls.data
  
imports: from multiprocessing import cpu_count
  from time import perf_counter
  from .config import sample_data
  from .context import pandas_ta
  from unittest import skip, skipUnless, TestCase
  from pandas import DataFrame
label_desc: Use image node_id 2 for calling the TestStrategyMethods obj's underlying member method code with example usage: obj.tearDownClass(cls) without return types