code: def test_visual_map_options_remove_none():
      option = VisualMapOpts(range_opacity=0.1)
      expected = {
          "calculable": True,
          "inRange": {
              "color": ["#50a3ba", "#eac763", "#d94e5d"],
              "opacity": 0.1,
          },
          "itemHeight": 140,
          "itemWidth": 20,
          "max": 100,
          "min": 0,
          "orient": "vertical",
          "show": True,
          "showLabel": True,
          "inverse": False,
          "splitNumber": 5,
          "type": "continuous",
          "hoverLink": True,
          "padding": 5,
          "borderWidth": 0,
      }
      assert_equal(expected, remove_key_with_none_value(option.opts))
  
imports: from nose.tools import assert_equal
  from pyecharts.commons.utils import remove_key_with_none_value
  from pyecharts.options.global_options import AnimationOpts, AngleAxisItem, AngleAxisOpts, AriaLabelOpts, AriaDecalOpts, AxisTickOpts, CalendarYearLabelOpts, DatasetTransformOpts, InitOpts, ParallelAxisOpts, RadiusAxisItem, RadiusAxisOpts, ToolBoxFeatureBrushOpts, ToolBoxFeatureDataViewOpts, ToolBoxFeatureDataZoomOpts, ToolBoxFeatureMagicTypeOpts, ToolBoxFeatureOpts, ToolBoxFeatureRestoreOpts, ToolBoxFeatureSaveAsImageOpts, ToolboxOpts, BrushOpts, DataZoomOpts, LegendOpts, VisualMapOpts, TooltipOpts
label_desc: Use image node_id 10 for calling a global function with example usage: test_visual_map_options_remove_none() without return types