code: def test_geodesic_boundary_points(self, n_points, atol):
      initial_point = self.data_generator.random_point(n_points)
      end_point = self.data_generator.random_point(n_points)
  
      time = gs.array([0.0, 1.0])
  
      geod_func = self.space.metric.geodesic(
          initial_point, end_point=end_point
      )
  
      res = geod_func(time)
      expected = gs.stack(
          [initial_point, end_point], axis=-(self.space.point_ndim + 1)
      )
      self.assertAllClose(res, expected, atol=atol)
  
imports: import math
  import pytest
  import geomstats.backend
  from geomstats.test.random import RandomDataGenerator, get_random_times
  from geomstats.test.test_case import TestCase
  from geomstats.test.utils import IdentityPointTransformer
  from geomstats.test.vectorization import generate_vectorization_data
  from geomstats.vectorization import get_batch_shape
label_desc: Use image node_id 18 for calling the ConnectionTestCase obj's underlying member method code with example usage: obj.test_geodesic_boundary_points(n_points, atol) without return types