code: def test_create_new_ctm_entry(self, annotator):
      words, alignments, speaker_id = generate_words_and_alignments(
          sample_index=0
      )
      session_name = "test_session"
      ctm_list = annotator.create_new_ctm_entry(
          words=words,
          alignments=alignments,
          session_name=session_name,
          speaker_id=speaker_id,
          start=alignments[0],
      )
      assert ctm_list[0] == (
          alignments[1],
          get_ctm_line(
              source=session_name,
              channel="1",
              start_time=alignments[1],
              duration=float(alignments[1] - alignments[0]),
              token=words[1],
              conf=None,
              type_of_token="lex",
              speaker=speaker_id,
          ),
      )
      assert ctm_list[1] == (
          alignments[2],
          get_ctm_line(
              source=session_name,
              channel="1",
              start_time=alignments[2],
              duration=float(alignments[2] - alignments[1]),
              token=words[2],
              conf=None,
              type_of_token="lex",
              speaker=speaker_id,
          ),
      )
  
imports: import os
  import numpy
  import pytest
  import torch
  from omegaconf import DictConfig
  from nemo.collections.asr.parts.utils.data_simulation_utils import DataAnnotator, SpeechSampler, add_silence_to_alignments, binary_search_alignments, get_cleaned_base_path, get_split_points_in_alignments, normalize_audio, read_noise_manifest
  from nemo.collections.asr.parts.utils.manifest_utils import get_ctm_line
label_desc: Use image node_id 4 for calling the TestDataAnnotator obj's underlying member method code with example usage: obj.test_create_new_ctm_entry(annotator) without return types