code: def test_animation_options_remove_none():
      option = AnimationOpts()
      expected = {
          "animation": True,
          "animationDelay": 0,
          "animationDelayUpdate": 0,
          "animationDuration": 1000,
          "animationDurationUpdate": 300,
          "animationEasing": "cubicOut",
          "animationEasingUpdate": "cubicOut",
          "animationThreshold": 2000,
      }
      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 1 for calling a global function with example usage: test_animation_options_remove_none() without return types