code: def test_rectangle():
      m = Map()
  
      location = [[45.6, -122.8], [45.61, -122.7]]
      rectangle = Rectangle(
          bounds=location,
          popup="I am a rectangle",
          color="black",
          weight=2,
          fill_opacity=0.6,
          opacity=1,
          fill=True,
      )
      rectangle.add_to(m)
  
      expected_options = {
          "bubblingMouseEvents": True,
          "color": "black",
          "dashArray": None,
          "dashOffset": None,
          "fill": True,
          "fillColor": "black",
          "fillOpacity": 0.6,
          "fillRule": "evenodd",
          "lineCap": "round",
          "lineJoin": "round",
          "noClip": False,
          "opacity": 1,
          "smoothFactor": 1.0,
          "stroke": True,
          "weight": 2,
      }
  
      m._repr_html_()
      expected_rendered = f"""
      var {rectangle.get_name()} = L.rectangle(
      {location},
      {{
      "bubblingMouseEvents": true,
      "color": "black",
      "dashArray": null,
      "dashOffset": null,
      "fill": true,
      "fillColor": "black",
      "fillOpacity": 0.6,
      "fillRule": "evenodd",
      "lineCap": "round",
      "lineJoin": "round",
      "noClip": false,
      "opacity": 1,
      "smoothFactor": 1.0,
      "stroke": true,
      "weight": 2
      }}
      )
      .addTo({m.get_name()});
      """
  
      rendered = rectangle._template.module.script(rectangle)
      assert normalize(rendered) == normalize(expected_rendered)
      assert rectangle.get_bounds() == location
      assert json.dumps(rectangle.to_dict()) == rectangle.to_json()
      assert rectangle.options == expected_options
  
file_path: folium/tests/test_vector_layers.py
imports: import json
  from folium import Map
  from folium.utilities import get_bounds, normalize
  from folium.vector_layers import Circle, CircleMarker, Polygon, PolyLine, Rectangle, path_options
label_desc: Use image node_id 3 for calling a global function with example usage: test_rectangle() without return types