code: def test_defaults(self) -> None:
      t = bt.eqhist_cmap("foo", ["red", "green"], 0, 10)
      assert isinstance(t, Field)
      assert t.field == "foo"
      assert isinstance(t.transform, EqHistColorMapper)
      assert t.transform.palette == ["red", "green"]
      assert t.transform.low == 0
      assert t.transform.high == 10
      assert t.transform.low_color is None
      assert t.transform.high_color is None
      assert t.transform.nan_color == "gray"
  
imports: from __future__ import annotations
  import pytest
  from bokeh.core.property.vectorization import Expr, Field
  from bokeh.models import CategoricalColorMapper, CategoricalMarkerMapper, CategoricalPatternMapper, CumSum, Dodge, EqHistColorMapper, FactorRange, Jitter, LinearColorMapper, LogColorMapper, Stack
  from tests.support.util.api import verify_all
  import bokeh.transform
label_desc: Use image node_id 2 for calling the Test_eqhist_cmap obj's underlying member method code with example usage: obj.test_defaults() without return types