code: def test_tsfeatures(ser):
      fts = [
          fn(ser)
          for fn in (
              ft_stl,
              ft_entropy,
              ft_acf,
              ft_pacf,
              ft_tilewin,
              ft_cross_pts,
              ft_kpss,
              ft_adfuller,
          )
      ]
      for f in fts:
          assert bool(f)
      df = pd.concat([f.result for f in fts])
      assert df.shape == (26,)
      assert df.index.tolist() == [
          "trend",
          "seasonality",
          "acf1(error)",
          "acf10(error)",
          "entropy",
          "entropy_acf",
          "acf(season)",
          "acf1(d=0)",
          "acf10(d=0)",
          "acf1(d=1)",
          "acf10(d=1)",
          "acf1(d=2)",
          "acf10(d=2)",
          "pacf(season)",
          "pacf5(d=0)",
          "pacf5(d=1)",
          "pacf5(d=2)",
          "instability",
          "lumpiness",
          "crossing_points",
          "kpss(c)",
          "kpss(ct)",
          "adfuller(c)",
          "adfuller(ct)",
          "adfuller(ctt)",
          "adfuller(nc)",
      ]
  
imports: import pytest
  from tests.unit.profile.base import *
  from tslumen.profile.features import ft_stl, ft_entropy, ft_acf, ft_pacf, ft_tilewin, ft_cross_pts, ft_kpss, ft_adfuller
label_desc: Use image node_id 3 for calling a global function with example usage: test_tsfeatures(ser) without return types