code: def test_dataframe_output(dummy_data):
      # Create dataframe output function
      def duplicate_with_offset(series, offset: float) -> pd.DataFrame:
          offset = abs(offset)
          df = pd.DataFrame()
          df["TMP" + "+" + str(offset)] = series + offset
          df["TMP" + "-" + str(offset)] = series - offset
          return df
  
      dataframe_f = duplicate_with_offset
      offset = 0.5
  
      inp = dummy_data["TMP"]
      assert isinstance(inp, pd.Series)
      series_dict = series_to_series_dict(inp)
      assert isinstance(series_dict, dict)
  
      # Raw series function
      res = dataframe_f(inp, offset)
      assert isinstance(res, pd.DataFrame)
      assert (res.shape[0] == len(dummy_data["TMP"])) & (
          res.shape[1] == 2
      )
      assert np.all(res[f"TMP+{offset}"] == inp + offset)
      assert np.all(res[f"TMP-{offset}"] == inp - offset)
  
      # SeriesProcessor with series function
      processor = SeriesProcessor(
          series_names=["TMP"], function=dataframe_f, offset=offset
      )
      res = processor(series_dict)
      assert isinstance(res, dict)
      assert len(res.values()) == 2
      assert all(
          [
              res_val.shape[0] == len(dummy_data["TMP"])
              for res_val in res.values()
          ]
      )
      assert np.all(res[f"TMP+{offset}"] == inp + offset)
      assert np.all(res[f"TMP-{offset}"] == inp - offset)
  
imports: from typing import List
  import numpy
  import pandas
  import pytest
  from pandas.testing import assert_index_equal, assert_series_equal
  from tsflex.processing import SeriesProcessor, dataframe_func
  from .utils import dataframe_to_series_dict, dummy_data, series_to_series_dict
label_desc: Use image node_id 2 for calling a global function with example usage: test_dataframe_output(dummy_data) and returns: df