code: def test_wrapped_poly_simple_hole(self):
      proj = ccrs.PlateCarree(-150)
      poly = sgeom.Polygon(
          ring(-40, -40, 40, 40, True), [ring(-20, -20, 20, 20, False)]
      )
      multi_polygon = proj.project_geometry(poly)
      # Check the structure
      assert len(multi_polygon.geoms) == 2
  
      poly1, poly2 = multi_polygon.geoms
      # The order of these polygons is not guaranteed, so figure out
      # which is appropriate
      if not len(poly1.interiors) == 1:
          poly1, poly2 = poly2, poly1
  
      assert len(poly1.interiors) == 1
      assert len(poly2.interiors) == 0
      # Check the rough shape
      self._assert_bounds(poly1.bounds, 110, -47, 180, 47)
      self._assert_bounds(poly1.interiors[0].bounds, 130, -21, 170, 21)
      self._assert_bounds(poly2.bounds, -180, -43, -170, 43)
  
imports: import numpy
  import pytest
  import shapely.geometry
  import shapely.wkt
  import cartopy.crs
label_desc: Use image node_id 2 for calling the TestHoles obj's underlying member method code with example usage: obj.test_wrapped_poly_simple_hole() without return types