code: def test_set_precision_collapse(geometry, mode, expected):
      """Lines and polygons collapse to empty geometries if vertices are too close"""
      actual = shapely.set_precision(geometry, 1, mode=mode)
      if shapely.geos_version < (3, 9, 0):
          # pre GEOS 3.9 has difficulty comparing empty geometries exactly
          # normalize and compare by WKT instead
          assert shapely.to_wkt(
              shapely.normalize(actual)
          ) == shapely.to_wkt(shapely.normalize(expected))
      else:
          # force to 2D because GEOS 3.10 yields 3D geometries when they are empty.
          assert_geometries_equal(shapely.force_2d(actual), expected)
  
imports: import warnings
  import numpy
  import pytest
  import shapely
  from shapely import LinearRing, LineString, MultiPolygon, Point, Polygon
  from shapely.testing import assert_geometries_equal
  from shapely.tests.common import all_types
  from shapely.tests.common import empty
  from shapely.tests.common import empty_line_string, empty_line_string_z, empty_point, empty_point_z, empty_polygon, equal_geometries_abnormally_yield_unequal, geometry_collection, geometry_collection_z, ignore_invalid, ignore_warnings, line_string, line_string_nan, line_string_z, linear_ring, multi_line_string, multi_line_string_z, multi_point, multi_point_z, multi_polygon, multi_polygon_z, point, point_z, polygon, polygon_with_hole, polygon_with_hole_z, polygon_z
label_desc: Use image node_id 48 for calling a global function with example usage: test_set_precision_collapse(geometry, mode, expected) without return types