code: def test_holoviews_defined_default_opts_are_not_mutable(
      self, df, backend
  ):
      hv.opts.defaults(hv.opts.Scatter(tools=["tap"]))
      plot = df.hvplot.scatter("x", "y", c="category")
      opts = Store.lookup_options(backend, plot, "plot")
      assert opts.kwargs["tools"] == ["tap", "hover"]
      default_opts = (
          Store.options(backend=backend)["Scatter"]
          .groups["plot"]
          .options
      )
      assert default_opts["tools"] == ["tap"]
  
imports: import hvplot
  import holoviews
  import numpy
  import pandas
  import pytest
  import xarray
  from holoviews import Store
  from holoviews.core.options import Options, OptionTree
label_desc: Use image node_id 14 for calling the TestOptions obj's underlying member method code with example usage: obj.test_holoviews_defined_default_opts_are_not_mutable(df, backend) without return types