code: def test_krandinit(self):
      data = TESTDATA_2D
      datas = [data.reshape((200, 2)), data.reshape((20, 20))[:10]]
      k = int(1e6)
      for data in datas:
          # check that np.random.Generator can be used (numpy >= 1.17)
          if hasattr(np.random, "default_rng"):
              rng = np.random.default_rng(1234)
          else:
              rng = np.random.RandomState(1234)
  
          init = _krandinit(data, k, rng)
          orig_cov = np.cov(data, rowvar=0)
          init_cov = np.cov(init, rowvar=0)
          assert_allclose(orig_cov, init_cov, atol=1e-2)
  
imports: import warnings
  import sys
  import numpy
  from numpy.testing import assert_array_equal, assert_array_almost_equal, assert_allclose, assert_equal, assert_, suppress_warnings
  import pytest
  from pytest import raises
  from scipy.cluster.vq import kmeans, kmeans2, py_vq, vq, whiten, ClusterError, _krandinit
  from scipy.cluster import _vq
  from scipy.sparse.sputils import matrix
label_desc: Use image node_id 9 for calling the TestKMean obj's underlying member method code with example usage: obj.test_krandinit() without return types