code: def test_create_new_json_entry(self, annotator):
      words, alignments, speaker_id = generate_words_and_alignments(
          sample_index=0
      )
      start, end = alignments[0], alignments[-1]
      test_wav_filename = "/path/to/test_wav_filename.wav"
      test_rttm_filename = "/path/to/test_rttm_filename.rttm"
      test_ctm_filename = "/path/to/test_ctm_filename.ctm"
      text = " ".join(words)
  
      one_line_json_dict = annotator.create_new_json_entry(
          text=text,
          wav_filename=test_wav_filename,
          start=start,
          length=end - start,
          speaker_id=speaker_id,
          rttm_filepath=test_rttm_filename,
          ctm_filepath=test_ctm_filename,
      )
      start = round(
          float(start),
          annotator._params.data_simulator.outputs.output_precision,
      )
      length = round(
          float(end - start),
          annotator._params.data_simulator.outputs.output_precision,
      )
      meta = {
          "audio_filepath": test_wav_filename,
          "offset": start,
          "duration": length,
          "label": speaker_id,
          "text": text,
          "num_speakers": annotator._params.data_simulator.session_config.num_speakers,
          "rttm_filepath": test_rttm_filename,
          "ctm_filepath": test_ctm_filename,
          "uem_filepath": None,
      }
      assert one_line_json_dict == meta
  
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 3 for calling the TestDataAnnotator obj's underlying member method code with example usage: obj.test_create_new_json_entry(annotator) without return types