code: def test_run(self):
      df = self.data
  
      document_assembler = (
          DocumentAssembler()
          .setInputCol("text")
          .setOutputCol("document")
      )
  
      document_character_text_splitter = (
          DocumentCharacterTextSplitter()
          .setInputCols("document")
          .setOutputCol("splits")
          .setChunkSize(20)
          .setChunkOverlap(5)
          .setExplodeSplits(True)
          .setPatternsAreRegex(False)
          .setKeepSeparators(True)
          .setSplitPatterns(["\n\n", "\n", " ", ""])
          .setTrimWhitespace(True)
      )
  
      pipeline = Pipeline().setStages(
          [document_assembler, document_character_text_splitter]
      )
  
      pipeline_df = pipeline.fit(df).transform(df)
  
      results = pipeline_df.select("splits").collect()
  
      splits = [row["splits"][0].result for row in results]
  
      expected = [
          "All emotions, and",
          "and that",
          "one particularly,",
          "were abhorrent to",
          "to his cold,",
          "precise but",
          "admirably balanced",
          "mind.",
          "He was, I take it,",
          "it, the most",
          "most perfect",
          "reasoning and",
          "and observing",
          "machine that the",
          "the world has seen.",
      ]
  
      assert splits == expected
  
file_path: spark-nlp/python/test/annotator/document_character_text_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 DocumentCharacterTextSplitterTestSpec obj's underlying member method code with example usage: obj.test_run() without return types