code: def test_shift():
      rs = np.random.RandomState(0)
      raw = pd.DataFrame(
          rs.randint(1000, size=(10, 8)),
          columns=["col" + str(i + 1) for i in range(8)],
          index=pd.date_range("2021-1-1", periods=10),
      )
      df = from_pandas_df(raw, chunk_size=5)
  
      df2 = df.shift(1)
      df2 = tile(df2)
  
      for c in df2.chunks:
          pd.testing.assert_index_equal(
              c.dtypes.index, c.columns_value.to_pandas()
          )
  
      df2 = df.shift(1, freq="D")
      df2 = tile(df2)
  
      for c in df2.chunks:
          pd.testing.assert_index_equal(
              c.dtypes.index, c.columns_value.to_pandas()
          )
  
imports: from typing import List, Union
  import numpy
  import pandas
  import pytest
  from ....None import opcodes
  from ....config import options, option_context
  from ....core import OutputType, tile, Tileable
  from ....core.graph import TileableGraph, TileableGraphBuilder, TileContext, ChunkGraphBuilder
  from ....core.operand import OperandStage
  from ....tensor.core import TENSOR_TYPE
  from ...None import eval, cut, get_dummies, to_numeric
  from ...core import DATAFRAME_TYPE, SERIES_TYPE, SERIES_CHUNK_TYPE, INDEX_TYPE, CATEGORICAL_TYPE, CATEGORICAL_CHUNK_TYPE, DataFrameData, SeriesData
  from ...datasource.dataframe import from_pandas
  from ...datasource.series import from_pandas
  from ...datasource.index import from_pandas
  from ..None import to_gpu, to_cpu, astype
label_desc: Use image node_id 19 for calling a global function with example usage: test_shift() without return types