code: def test_annotationbbox_properties():
      ab = AnnotationBbox(
          DrawingArea(20, 20, 0, 0, clip=True),
          (0.5, 0.5),
          xycoords="data",
      )
      assert ab.xyann == (0.5, 0.5)  # xy if xybox not given
      assert ab.anncoords == "data"  # xycoords if boxcoords not given
  
      ab = AnnotationBbox(
          DrawingArea(20, 20, 0, 0, clip=True),
          (0.5, 0.5),
          xybox=(-0.2, 0.4),
          xycoords="data",
          boxcoords="axes fraction",
      )
      assert ab.xyann == (-0.2, 0.4)  # xybox if given
      assert ab.anncoords == "axes fraction"
  
imports: from collections import namedtuple
  import io
  import numpy
  from numpy.testing import assert_allclose
  import pytest
  from matplotlib.testing.decorators import check_figures_equal, image_comparison
  import matplotlib.pyplot
  import matplotlib.patches
  import matplotlib.lines
  from matplotlib.backend_bases import MouseButton, MouseEvent
  from matplotlib.offsetbox import AnchoredOffsetbox, AnnotationBbox, AnchoredText, DrawingArea, HPacker, OffsetBox, OffsetImage, PaddedBox, TextArea, VPacker, _get_packed_offsets
label_desc: Use image node_id 17 for calling a global function with example usage: test_annotationbbox_properties() without return types