code: def test_tokenize_handles_complex_punctuation(self):
      sentence = "this (sentence) has 'crazy' \"punctuation\"."
      expected_tokens = [
          "this",
          "(",
          "sentence",
          ")",
          "has",
          "'",
          "crazy",
          "'",
          '"',
          "punctuation",
          '"',
          ".",
      ]
      tokens = self.word_tokenizer.tokenize(sentence)
      token_text = [t.text for t in tokens]
      assert token_text == expected_tokens
      for token in tokens:
          start = token.idx
          end = start + len(token.text)
          assert sentence[start:end] == token.text
  
file_path: allennlp/tests/data/tokenizers/spacy_tokenizer_test.py
imports: import spacy
  from allennlp.common import Params
  from allennlp.common.testing import AllenNlpTestCase
  from allennlp.data.tokenizers import Token, SpacyTokenizer
label_desc: Use image node_id 2 for calling the TestSpacyTokenizer obj's underlying member method code with example usage: obj.test_tokenize_handles_complex_punctuation() without return types