code: def _assert_annotations_equal(a, b, tol=0):
      __tracebackhide__ = True
      assert_allclose(
          a.onset, b.onset, rtol=0, atol=tol, err_msg="onset"
      )
      assert_allclose(
          a.duration, b.duration, rtol=0, atol=tol, err_msg="duration"
      )
      assert_array_equal(
          a.description, b.description, err_msg="description"
      )
      assert_array_equal(a.ch_names, b.ch_names, err_msg="ch_names")
      a_orig_time = a.orig_time
      b_orig_time = b.orig_time
      assert a_orig_time == b_orig_time, "orig_time"
  
imports: import sys
  from collections import OrderedDict
  from datetime import datetime, timedelta, timezone
  from itertools import repeat
  from pathlib import Path
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_almost_equal, assert_array_equal, assert_equal
  from pytest import approx
  import mne
  from mne import Annotations, Epochs, annotations_from_events, count_annotations, create_info, events_from_annotations, read_annotations
  from mne.annotations import _handle_meas_date, _read_annotations_txt_parse_header, _sync_onset
  from mne.datasets import testing
  from mne.io import RawArray, concatenate_raws, read_raw_fif
  from mne.utils import _dt_to_stamp, _raw_annot, _record_warnings, _stamp_to_dt, assert_and_remove_boundary_annot, catch_logging, check_version
label_desc: Use image node_id 22 for calling a global function with example usage: _assert_annotations_equal(a, b, tol) without return types