class_docstr: K-Elbow Visualizer Tests
class_docstr_tok: ["K-Elbow","Visualizer","Tests"]
docstr: Assert KElbow raises an exception when a bad distance metric is supplied
code: def test_bad_distance_metric(self):
      """
      Assert KElbow raises an exception when a bad distance metric is supplied
      """
      with pytest.raises(YellowbrickValueError):
          KElbowVisualizer(KMeans(), k=5, distance_metric="foo")
  
imports: import sys
  import pytest
  import numpy
  import matplotlib.pyplot
  from scipy.sparse import csc_matrix, csr_matrix
  from numpy.testing import assert_array_almost_equal
  from sklearn.datasets import make_blobs
  from sklearn.cluster import KMeans, MiniBatchKMeans
  from sklearn.feature_extraction.text import TfidfVectorizer
  from tests.fixtures import Dataset
  from tests.base import VisualTestCase
  from yellowbrick.datasets import load_hobbies
  from yellowbrick.cluster.elbow import distortion_score
  from yellowbrick.cluster.elbow import KElbowVisualizer, kelbow_visualizer
  from yellowbrick.exceptions import YellowbrickValueError, YellowbrickWarning
  from tests.base import IS_WINDOWS_OR_CONDA
label_desc: Use image node_id 13 for calling the TestKElbowVisualizer obj's underlying member method code with example usage: obj.test_bad_distance_metric() without return types