docstr: Tests that query_bulk can accept a GeoSeries, GeometryArray or
  numpy array.
code: def test_query_bulk_input_type(self, predicate, test_geom, expected):
      """Tests that query_bulk can accept a GeoSeries, GeometryArray or
      numpy array.
      """
      # pass through GeoSeries to test input type
      test_geom = geopandas.GeoSeries([box(*test_geom)], index=["0"])
  
      # test GeoSeries
      res = self.df.sindex.query(test_geom, predicate=predicate)
      assert_array_equal(res, expected)
  
      # test GeometryArray
      res = self.df.sindex.query(
          test_geom.geometry, predicate=predicate
      )
      assert_array_equal(res, expected)
      res = self.df.sindex.query(
          test_geom.geometry.values, predicate=predicate
      )
      assert_array_equal(res, expected)
  
      # test numpy array
      res = self.df.sindex.query(
          test_geom.geometry.values.to_numpy(), predicate=predicate
      )
      assert_array_equal(res, expected)
      res = self.df.sindex.query(
          test_geom.geometry.values.to_numpy(), predicate=predicate
      )
      assert_array_equal(res, expected)
  
imports: from math import sqrt
  import numpy
  import pandas
  import pytest
  import shapely
  from numpy.testing import assert_array_equal
  from shapely.geometry import GeometryCollection, LineString, MultiPolygon, Point, Polygon, box
  import geopandas
  from geopandas import GeoDataFrame, GeoSeries, read_file
  from geopandas import _compat
label_desc: Use image node_id 18 for calling the TestShapelyInterface obj's underlying member method code with example usage: obj.test_query_bulk_input_type(predicate, test_geom, expected) without return types