code: def test_random_point_shape(self, n_points):
      point = self.data_generator.random_point(n_points)
  
      expected_ndim = self.space.point_ndim + int(n_points > 1)
      self.assertEqual(gs.ndim(point), expected_ndim)
  
      self.assertAllEqual(
          gs.shape(point)[-self.space.point_ndim :], (self.space.dim)
      )
  
      if n_points > 1:
          self.assertEqual(gs.shape(point)[0], n_points)
  
imports: import random
  import pytest
  import scipy
  import geomstats.backend
  from geomstats.learning.frechet_mean import FrechetMean
  from geomstats.test.random import EmbeddedSpaceRandomDataGenerator, HypersphereIntrinsicRandomDataGenerator
  from geomstats.test.test_case import TestCase
  from geomstats.test.vectorization import generate_vectorization_data
  from geomstats.test_cases.geometry.base import LevelSetTestCase
  from geomstats.test_cases.geometry.manifold import ManifoldTestCase
  from geomstats.vectorization import get_batch_shape
label_desc: Use image node_id 3 for calling the HypersphereIntrinsicTestCase obj's underlying member method code with example usage: obj.test_random_point_shape(n_points) without return types