code: def test_vertical_projection_vec(self, n_reps, atol):
      base_point = self.data_generator.random_point()
      tangent_vec = self.data_generator.random_tangent_vec(base_point)
  
      expected = self.bundle.vertical_projection(
          tangent_vec, base_point
      )
  
      vec_data = generate_vectorization_data(
          data=[
              dict(
                  tangent_vec=tangent_vec,
                  base_point=base_point,
                  expected=expected,
                  atol=atol,
              )
          ],
          arg_names=["tangent_vec", "base_point"],
          expected_name="expected",
          n_reps=n_reps,
          vectorization_type="sym"
          if self.tangent_to_multiple
          else "repeat-0",
      )
      self._test_vectorization(vec_data)
  
imports: import pytest
  import geomstats.backend
  from geomstats.geometry.fiber_bundle import FiberBundle
  from geomstats.geometry.matrices import Matrices
  from geomstats.geometry.special_orthogonal import SpecialOrthogonal
  from geomstats.test.random import RandomDataGenerator
  from geomstats.test.test_case import TestCase
  from geomstats.test.vectorization import generate_vectorization_data
label_desc: Use image node_id 21 for calling the FiberBundleTestCase obj's underlying member method code with example usage: obj.test_vertical_projection_vec(n_reps, atol) without return types