code: def test_reindex(df):
      geo_name = df.geometry.name
      assert_object(
          df.reindex(columns=["value1", "value2"]), pd.DataFrame
      )
      assert_object(
          df.reindex(columns=[geo_name, "geometry2"]),
          GeoDataFrame,
          geo_name,
      )
      assert_object(
          df.reindex(columns=[geo_name]), GeoDataFrame, geo_name
      )
      assert_object(
          df.reindex(columns=["new_col", geo_name]),
          GeoDataFrame,
          geo_name,
      )
      assert_obj_no_active_geo_col(
          df.reindex(columns=["geometry2", "value1"]),
          GeoDataFrame,
          geo_name,
      )
      assert_obj_no_active_geo_col(
          df.reindex(columns=["geometry2"]), GeoDataFrame, geo_name
      )
      assert_object(df.reindex(columns=["value1"]), pd.DataFrame)
  
      # reindexing the rows always preserves the GeoDataFrame
      assert_object(
          df.reindex(index=[0, 1, 20]), GeoDataFrame, geo_name
      )
  
      # reindexing both rows and columns
      assert_object(
          df.reindex(index=[0, 1, 20], columns=[geo_name]),
          GeoDataFrame,
          geo_name,
      )
      assert_object(
          df.reindex(index=[0, 1, 20], columns=["value1"]), pd.DataFrame
      )
  
imports: import pandas
  import pyproj
  import pytest
  from shapely.geometry import Point
  import numpy
  from geopandas import GeoDataFrame, GeoSeries
  from geopandas.testing import assert_geodataframe_equal
label_desc: Use image node_id 12 for calling a global function with example usage: test_reindex(df) without return types