code: def test_get_provider(self, name) -> None:
      assert name in bt.Vendors
      enum_member = getattr(bt.Vendors, name)
      assert hasattr(bt, name)
      mod_member = getattr(bt, name)
      p1 = bt.get_provider(enum_member)
      p2 = bt.get_provider(name)
      p3 = bt.get_provider(name.lower())
      p4 = bt.get_provider(mod_member)
      assert isinstance(p1, WMTSTileSource)
      assert isinstance(p2, WMTSTileSource)
      assert isinstance(p3, WMTSTileSource)
      assert isinstance(p4, WMTSTileSource)
      assert p1 is not p2
      assert p2 is not p3
      assert p2 is not p4
      assert p4 is not p1
      assert p1.url == p2.url == p3.url == p4.url
      assert (
          p1.attribution
          == p2.attribution
          == p3.attribution
          == p4.attribution
      )
  
imports: from __future__ import annotations
  import pytest
  import xyzservices.providers
  from bokeh.models import WMTSTileSource
  import bokeh.tile_providers
label_desc: Use image node_id 1 for calling the Test_GetProvider obj's underlying member method code with example usage: obj.test_get_provider(name) without return types