code: def test_bmap_map_control_panel(fake_writer):
      bmap = (
          BMap()
          .add_schema(
              baidu_ak=FAKE_API_KEY, center=[-0.118092, 51.509865]
          )
          .add_coordinate("London", -0.118092, 51.509865)
          .add(
              "bmap",
              [list(z) for z in zip(TEST_LOCATION, TEST_VALUE)],
              type_=ChartType.LINES,
              label_opts=opts.LabelOpts(formatter="{b}"),
          )
          .add_control_panel(
              copyright_control_opts=opts.BMapCopyrightTypeOpts(
                  position=3
              ),
              maptype_control_opts=opts.BMapTypeControlOpts(
                  type_=BMapType.MAPTYPE_CONTROL_DROPDOWN
              ),
              scale_control_opts=opts.BMapScaleControlOpts(),
              overview_map_opts=opts.BMapOverviewMapControlOpts(
                  is_open=True
              ),
              navigation_control_opts=opts.BMapNavigationControlOpts(),
              geo_location_control_opts=opts.BMapGeoLocationControlOpts(),
          )
      )
      bmap.render()
      content = fake_writer.call_args[0][1]
      assert_in("new BMap.CopyrightControl", content)
      assert_in("new BMap.MapTypeControl", content)
      assert_in("new BMap.ScaleControl", content)
      assert_in("new BMap.OverviewMapControl", content)
      assert_in("new BMap.NavigationControl", content)
      assert_in("new BMap.GeolocationControl", content)
  
file_path: pyecharts/test/test_bmap.py
imports: from unittest.mock import patch
  from nose.tools import assert_in
  from pyecharts import options
  from pyecharts.charts import BMap
  from pyecharts.globals import BMapType, ChartType
label_desc: Use image node_id 5 for calling a global function with example usage: test_bmap_map_control_panel(fake_writer) without return types