code: def test_astype():
      s = from_pandas_series(
          pd.Series([1, 2, 1, 2], name="a"), chunk_size=2
      )
      with pytest.raises(KeyError):
          astype(s, {"b": "str"})
  
      df = from_pandas_df(
          pd.DataFrame({"a": [1, 2, 1, 2], "b": ["a", "b", "a", "b"]}),
          chunk_size=2,
      )
  
      with pytest.raises(KeyError):
          astype(df, {"c": "str", "a": "str"})
  
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 14 for calling a global function with example usage: test_astype() without return types