code: def test_n_repeated_clusters(self, n_samples, atol):
      n_clusters = self.estimator.n_clusters
      X = []
      for _ in range(n_clusters):
          X.extend(
              repeat_point(
                  self.data_generator.random_point(n_points=1),
                  n_samples,
              )
          )
      X = gs.array(X)
  
      cluster_centers = self.estimator.fit(X).cluster_centers_
      labels = self.estimator.predict(X)
  
      for k in range(n_clusters):
          i = n_samples * k
          j = i + n_samples
          X_ = X[i:j]
          labels_ = labels[i:j]
  
          self.assertTrue(gs.unique(labels_).shape[0], 1)
          cluster_center = cluster_centers[labels_[0]]
  
          dist = self.estimator.space.metric.dist(X_, cluster_center)
          self.assertAllClose(dist, gs.zeros(n_samples), atol=atol)
  
file_path: geomstats/geomstats/test_cases/learning/_base.py
imports: import pytest
  import geomstats.backend
  from geomstats.test.random import RandomDataGenerator
  from geomstats.test.test_case import TestCase
  from geomstats.vectorization import repeat_point
label_desc: Use image node_id 1 for calling the ClusterMixinsTestCase obj's underlying member method code with example usage: obj.test_n_repeated_clusters(n_samples, atol) without return types