code: def test_reverse_request():
      request: ReverseGeocodingRequest = (
          RequestBuilder()
          .set_request_kind(RequestKind.reverse)
          .set_reverse_coordinates([GeoPoint(1.0, 2.0)])
          .set_level(LevelKind.city)
          .set_reverse_scope(MapRegion.with_name("foo_region"))
          .set_resolution(123)
          .set_requested_payload(
              [PayloadKind.boundaries, PayloadKind.centroids]
          )
          .build()
      )
  
      json = RequestFormatter().format(request).to_dict()
  
      parsed_request: ReverseGeocodingRequest = RequestParser().parse(
          json
      )
  
      assert isinstance(parsed_request, ReverseGeocodingRequest)
      assert (
          request.requested_payload == parsed_request.requested_payload
      )
      assert request.resolution == parsed_request.resolution
  
      assert request.coordinates == parsed_request.coordinates
      assert request.level == parsed_request.level
      assert request.scope == parsed_request.scope
  
file_path: lets-plot/python-package/test/geo_data/gis/test_request_formatter.py
imports: from typing import Optional
  from assertions import assert_region_query
  from lets_plot.geo_data.gis.geometry import GeoRect, GeoPoint
  from lets_plot.geo_data.gis.json_request import RequestFormatter, RequestParser
  from lets_plot.geo_data.gis.request import RequestBuilder, ExplicitRequest, RequestKind, GeocodingRequest, RegionQuery, MapRegion, PayloadKind, AmbiguityResolver, IgnoringStrategyKind, ReverseGeocodingRequest
  from lets_plot.geo_data.gis.response import LevelKind
label_desc: Use image node_id 6 for calling a global function with example usage: test_reverse_request() without return types