code: def runTest(self):
      document_assembler = (
          DocumentAssembler()
          .setInputCol("text")
          .setOutputCol("document")
      )
      tokenizer = (
          Tokenizer()
          .setInputCols(["document"])
          .setOutputCol("token")
          .setExceptions(["New York"])
          .addInfixPattern("(%\\d+)")
      )
      stemmer = Stemmer().setInputCols(["token"]).setOutputCol("stem")
      normalizer = (
          Normalizer().setInputCols(["stem"]).setOutputCol("normalize")
      )
      token_assembler = (
          TokenAssembler()
          .setInputCols(["document", "normalize"])
          .setOutputCol("assembled")
      )
      finisher = (
          Finisher()
          .setInputCols(["assembled"])
          .setOutputCols(["reassembled_view"])
          .setCleanAnnotations(True)
      )
      assembled = document_assembler.transform(self.data)
      tokenized = tokenizer.fit(assembled).transform(assembled)
      stemmed = stemmer.transform(tokenized)
      normalized = normalizer.fit(stemmed).transform(stemmed)
      reassembled = token_assembler.transform(normalized)
      finisher.transform(reassembled).show()
  
file_path: spark-nlp/python/test/annotator/basic_annotator_test.py
imports: import unittest
  import pytest
  from sparknlp.annotator import *
  from sparknlp.base import *
  from test.util import SparkContextForTest
label_desc: Use image node_id 2 for calling the BasicAnnotatorsTestSpec obj's underlying member method code with example usage: obj.runTest() without return types