code: def test_linkage_misc():
      # Misc tests on linkage
      rng = np.random.RandomState(42)
      X = rng.normal(size=(5, 5))
  
      with pytest.raises(ValueError):
          linkage_tree(X, linkage="foo")
  
      with pytest.raises(ValueError):
          linkage_tree(X, connectivity=np.ones((4, 4)))
  
      # Smoke test FeatureAgglomeration
      FeatureAgglomeration().fit(X)
  
      # test hierarchical clustering on a precomputed distances matrix
      dis = cosine_distances(X)
  
      res = linkage_tree(dis, affinity="precomputed")
      assert_array_equal(res[0], linkage_tree(X, affinity="cosine")[0])
  
      # test hierarchical clustering on a precomputed distances matrix
      res = linkage_tree(X, affinity=manhattan_distances)
      assert_array_equal(
          res[0], linkage_tree(X, affinity="manhattan")[0]
      )
  
imports: import itertools
  import shutil
  from functools import partial
  from tempfile import mkdtemp
  import numpy
  import pytest
  from scipy.cluster import hierarchy
  from scipy.sparse.csgraph import connected_components
  from sklearn.cluster import AgglomerativeClustering, FeatureAgglomeration, ward_tree
  from sklearn.cluster._agglomerative import _TREE_BUILDERS, _fix_connectivity, _hc_cut, linkage_tree
  from sklearn.cluster._hierarchical_fast import average_merge, max_merge, mst_linkage_core
  from sklearn.datasets import make_circles, make_moons
  from sklearn.feature_extraction.image import grid_to_graph
  from sklearn.metrics import DistanceMetric
  from sklearn.metrics.cluster import adjusted_rand_score, normalized_mutual_info_score
  from sklearn.metrics.pairwise import PAIRED_DISTANCES, cosine_distances, manhattan_distances, pairwise_distances
  from sklearn.metrics.tests.test_dist_metrics import METRICS_DEFAULT_PARAMS
  from sklearn.neighbors import kneighbors_graph
  from sklearn.utils._fast_dict import IntFloatDict
  from sklearn.utils._testing import assert_almost_equal, assert_array_almost_equal, assert_array_equal, create_memmap_backed_data, ignore_warnings
  from sklearn.utils.fixes import LIL_CONTAINERS
label_desc: Use image node_id 1 for calling a global function with example usage: test_linkage_misc() without return types