code: def setUp(self):
      self.phonemizer = ESpeak(language="en-us", backend="espeak-ng")
  
      for text, ph in zip(EXAMPLE_TEXTs, EXPECTED_ESPEAKNG_PHONEMES):
          phonemes = self.phonemizer.phonemize(text)
          self.assertEqual(phonemes, ph)
  
      # multiple punctuations
      text = "Be a voice, not an! echo?"
      gt = "biː ɐ vˈɔɪs, nˈɑːt æn! ˈɛkoʊ?"
      output = self.phonemizer.phonemize(text, separator="|")
      output = output.replace("|", "")
      self.assertEqual(output, gt)
  
      # not ending with punctuation
      text = "Be a voice, not an! echo"
      gt = "biː ɐ vˈɔɪs, nˈɑːt æn! ˈɛkoʊ"
      output = self.phonemizer.phonemize(text, separator="")
      self.assertEqual(output, gt)
  
      # extra space after the sentence
      text = "Be a voice, not an! echo.  "
      gt = "biː ɐ vˈɔɪs, nˈɑːt æn! ˈɛkoʊ."
      output = self.phonemizer.phonemize(text, separator="")
      self.assertEqual(output, gt)
  
imports: import unittest
  from packaging.version import Version
  from TTS.tts.utils.text.phonemizers import ESpeak, Gruut, JA_JP_Phonemizer, ZH_CN_Phonemizer
  from TTS.tts.utils.text.phonemizers.bangla_phonemizer import BN_Phonemizer
  from TTS.tts.utils.text.phonemizers.multi_phonemizer import MultiPhonemizer
label_desc: Use image node_id 1 for calling the TestEspeakNgPhonemizer obj's underlying member method code with example usage: obj.setUp() without return types