code: def test_loc(df):
      geo_name = df.geometry.name
      assert_object(df.loc[:, ["value1", "value2"]], pd.DataFrame)
      assert_object(
          df.loc[:, [geo_name, "geometry2"]], GeoDataFrame, geo_name
      )
      assert_object(df.loc[:, [geo_name]], GeoDataFrame, geo_name)
      assert_obj_no_active_geo_col(
          df.loc[:, ["geometry2", "value1"]], GeoDataFrame, geo_name
      )
      assert_obj_no_active_geo_col(
          df.loc[:, ["geometry2"]], GeoDataFrame, geo_name
      )
      assert_object(df.loc[:, ["value1"]], pd.DataFrame)
      # Series
      assert_object(df.loc[:, geo_name], GeoSeries, geo_name)
      assert_object(
          df.loc[:, "geometry2"], GeoSeries, "geometry2", crs=crs_osgb
      )
      assert_object(df.loc[:, "value1"], pd.Series)
  
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 8 for calling a global function with example usage: test_loc(df) without return types