code: def test_run(self):
      df = self.data
  
      document_assembler = (
          DocumentAssembler()
          .setInputCol("text")
          .setOutputCol("document")
      )
  
      document_token_splitter = (
          DocumentTokenSplitter()
          .setInputCols("document")
          .setOutputCol("splits")
          .setNumTokens(3)
          .setTokenOverlap(1)
          .setExplodeSplits(True)
          .setTrimWhitespace(True)
      )
  
      pipeline = Pipeline().setStages(
          [document_assembler, document_token_splitter]
      )
  
      pipeline_df = pipeline.fit(df).transform(df)
  
      results = pipeline_df.select("splits").collect()
  
      splits = [
          row["splits"][0]
          .result.replace("\n\n", " ")
          .replace("\n", " ")
          for row in results
      ]
  
      expected = [
          "All emotions, and",
          "and that one",
          "one particularly, were",
          "were abhorrent to",
          "to his cold,",
          "cold, precise but",
          "but admirably balanced",
          "balanced mind. He",
          "He was, I",
          "I take it,",
          "it, the most",
          "most perfect reasoning",
          "reasoning and observing",
          "observing machine that",
          "that the world",
          "world has seen.",
      ]
  
      assert splits == expected
  
file_path: spark-nlp/python/sparknlp/annotator/document_token_splitter_test.py
imports: import unittest
  import pytest
  from sparknlp.annotator import *
  from sparknlp.base import *
  from test.util import SparkSessionForTest
label_desc: Use image node_id 2 for calling the DocumentTokenSplitterTestSpec obj's underlying member method code with example usage: obj.test_run() without return types