code: def test_toplevel(self):
      # Initialize scatter
      scatter = go.Scatter(
          name="scatter A",
          y=[3, 2, 4],
          marker={
              "colorbar": {"title": {"font": {"family": "courier"}}}
          },
      )
      expected = {
          "type": "scatter",
          "name": "scatter A",
          "y": [3, 2, 4],
          "marker": {
              "colorbar": {"title": {"font": {"family": "courier"}}}
          },
      }
  
      d1, d2 = strip_dict_params(scatter, expected)
      assert d1 == d2
  
      # Set property not defined to None
      scatter.x = None
      d1, d2 = strip_dict_params(scatter, expected)
      assert d1 == d2
  
      scatter["line.width"] = None
      d1, d2 = strip_dict_params(scatter, expected)
      assert d1 == d2
  
      # Set defined property to None
      scatter.y = None
      expected.pop("y")
      d1, d2 = strip_dict_params(scatter, expected)
      assert d1 == d2
  
      # Set compound properties to None
      scatter[("marker", "colorbar", "title", "font")] = None
      expected["marker"]["colorbar"]["title"].pop("font")
      d1, d2 = strip_dict_params(scatter, expected)
      assert d1 == d2
  
      scatter.marker = None
      expected.pop("marker")
      d1, d2 = strip_dict_params(scatter, expected)
      assert d1 == d2
  
imports: from unittest import TestCase
  import plotly.graph_objs
  from plotly.tests.utils import strip_dict_params
label_desc: Use image node_id 1 for calling the TestAssignmnetNone obj's underlying member method code with example usage: obj.test_toplevel() without return types