code: def test_insert(setup):
      rs = np.random.RandomState(0)
      raw = pd.DataFrame(rs.rand(10, 4), columns=["A", "B", "C", "D"])
  
      with pytest.raises(ValueError):
          tensor = mt.tensor(rs.rand(10, 10), chunk_size=4)
          df = md.DataFrame(raw.copy(deep=True), chunk_size=3)
          df.insert(4, "E", tensor)
  
      df = md.DataFrame(raw.copy(deep=True), chunk_size=3)
      df.insert(4, "E", 0)
      raw_dup = raw.copy(deep=True)
      raw_dup.insert(4, "E", 0)
      pd.testing.assert_frame_equal(df.execute().fetch(), raw_dup)
  
      raw_tensor = rs.rand(10)
      tensor = mt.tensor(raw_tensor, chunk_size=4)
      df = md.DataFrame(raw.copy(deep=True), chunk_size=3)
      df.insert(4, "E", tensor)
      raw_dup = raw.copy(deep=True)
      raw_dup.insert(4, "E", raw_tensor)
      pd.testing.assert_frame_equal(df.execute().fetch(), raw_dup)
  
imports: import os
  import tempfile
  import mars
  import numpy
  import pandas
  import pytest
  from ....None import dataframe
  from ....None import tensor
  from ....utils import pd_release_version
  from ...datasource.read_csv import DataFrameReadCSV
  from ...datasource.read_sql import DataFrameReadSQL
  from ...datasource.read_parquet import DataFrameReadParquet
label_desc: Use image node_id 17 for calling a global function with example usage: test_insert(setup) without return types