code: def test_unstructured_linkage_tree():
      # Check that we obtain the correct solution for unstructured linkage trees.
      rng = np.random.RandomState(0)
      X = rng.randn(50, 100)
      for this_X in (X, X[0]):
          # With specified a number of clusters just for the sake of
          # raising a warning and testing the warning code
          with ignore_warnings():
              with pytest.warns(UserWarning):
                  children, n_nodes, n_leaves, parent = ward_tree(
                      this_X.T, n_clusters=10
                  )
          n_nodes = 2 * X.shape[1] - 1
          assert len(children) + n_leaves == n_nodes
  
      for tree_builder in _TREE_BUILDERS.values():
          for this_X in (X, X[0]):
              with ignore_warnings():
                  with pytest.warns(UserWarning):
                      (
                          children,
                          n_nodes,
                          n_leaves,
                          parent,
                      ) = tree_builder(this_X.T, n_clusters=10)
              n_nodes = 2 * X.shape[1] - 1
              assert len(children) + n_leaves == n_nodes
  
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 3 for calling a global function with example usage: test_unstructured_linkage_tree() without return types