code: def test_ward_agglomeration(global_random_seed):
      # Check that we obtain the correct solution in a simplistic case
      rng = np.random.RandomState(global_random_seed)
      mask = np.ones([10, 10], dtype=bool)
      X = rng.randn(50, 100)
      connectivity = grid_to_graph(*mask.shape)
      agglo = FeatureAgglomeration(
          n_clusters=5, connectivity=connectivity
      )
      agglo.fit(X)
      assert np.size(np.unique(agglo.labels_)) == 5
  
      X_red = agglo.transform(X)
      assert X_red.shape[1] == 5
      X_full = agglo.inverse_transform(X_red)
      assert np.unique(X_full[0]).size == 5
      assert_array_almost_equal(agglo.transform(X_full), X_red)
  
      # Check that fitting with no samples raises a ValueError
      with pytest.raises(ValueError):
          agglo.fit(X[: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 9 for calling a global function with example usage: test_ward_agglomeration(global_random_seed) without return types