code: def test_tangent_submersion_vec(self, n_reps, atol):
      # TODO: mark as redundant? is_tangent suffices?
      vector, point = self.data_generator.random_point(2)
      expected = self.space.tangent_submersion(vector, point)
  
      vec_data = generate_vectorization_data(
          data=[
              dict(
                  vector=vector,
                  point=point,
                  expected=expected,
                  atol=atol,
              )
          ],
          arg_names=["vector", "point"],
          n_reps=n_reps,
          vectorization_type="sym"
          if self.tangent_to_multiple
          else "repetition-0",
          expected_name="expected",
      )
      self._test_vectorization(vec_data)
  
imports: import pytest
  import geomstats.backend
  from geomstats.test.random import EmbeddedSpaceRandomDataGenerator, MatrixVectorSpaceRandomDataGenerator, VectorSpaceRandomDataGenerator
  from geomstats.test.vectorization import generate_vectorization_data
  from geomstats.test_cases.geometry.complex_manifold import ComplexManifoldTestCase
  from geomstats.test_cases.geometry.manifold import ManifoldTestCase
  from geomstats.test_cases.geometry.mixins import ProjectionTestCaseMixins
  from geomstats.vectorization import get_batch_shape
label_desc: Use image node_id 7 for calling the LevelSetTestCase obj's underlying member method code with example usage: obj.test_tangent_submersion_vec(n_reps, atol) without return types