class_docstr: Test Manifold visualizer
class_docstr_tok: ["Test","Manifold","visualizer"]
docstr: Should be able to construct a manifold estimator from a string
docstr_tok: ["Should","be","able","to","construct","a","manifold","estimator","from","a","string"]
code: def test_manifold_construction(self, algorithm):
      """
      Should be able to construct a manifold estimator from a string
      """
      message = "case failed for {}".format(algorithm)
      params = {"n_neighbors": 18, "random_state": 53}
      oz = Manifold(manifold=algorithm, **params)
      assert is_estimator(oz.manifold), message
      assert oz.manifold.get_params()["n_components"] == 2, message
  
      manifold_params = oz.manifold.get_params()
      for param, value in params.items():
          if param in manifold_params:
              assert value == manifold_params[param], message
  
imports: import pytest
  from yellowbrick.features.manifold import *
  from yellowbrick.utils.types import is_estimator
  from yellowbrick.features.base import TargetType
  from yellowbrick.exceptions import YellowbrickValueError, ModelError, NotFitted
  from sklearn.pipeline import Pipeline
  from sklearn.decomposition import PCA
  from sklearn.datasets import make_blobs
  from sklearn.datasets import make_s_curve
  from sklearn.manifold import LocallyLinearEmbedding
  from unittest.mock import patch
  from tests.base import VisualTestCase
label_desc: Use image node_id 1 for calling the TestManifold obj's underlying member method code with example usage: obj.test_manifold_construction(algorithm) without return types