code: def test_annotation_position_override(multi_plot_fixture):
      multi_plot_fixture.add_hline(
          row=2,
          col=2,
          y=1,
          annotation_text="A",
          annotation_position="top left",
          annotation_xanchor="center",
      )
      multi_plot_fixture.add_vline(
          row=1,
          col=2,
          x=2,
          annotation_text="B",
          annotation_position="bottom left",
          annotation_yanchor="middle",
      )
      multi_plot_fixture.add_hrect(
          row=2,
          col=1,
          y0=3,
          y1=5,
          annotation_text="C",
          annotation_position="outside left",
          annotation_xanchor="center",
      )
      multi_plot_fixture.add_vrect(
          row=1,
          col=1,
          x0=4,
          x1=6,
          annotation_text="D",
          annotation_position="inside bottom right",
          annotation_yanchor="middle",
          annotation_xanchor="center",
      )
      ret = len(multi_plot_fixture.layout.annotations) == 4
      for sh, d in zip(
          multi_plot_fixture.layout.annotations,
          [
              {
                  "xanchor": "center",
                  "xref": "x4 domain",
                  "yref": "y4",
                  "x": 0,
                  "y": 1,
                  "text": "A",
              },
              {
                  "yanchor": "middle",
                  "xref": "x2",
                  "yref": "y2 domain",
                  "x": 2,
                  "y": 0,
                  "text": "B",
              },
              {
                  "xanchor": "center",
                  "xref": "x3 domain",
                  "yref": "y3",
                  "x": 0,
                  "y": 4,
                  "text": "C",
              },
              {
                  "xanchor": "center",
                  "yanchor": "middle",
                  "xref": "x",
                  "yref": "y domain",
                  "x": 6,
                  "y": 0,
                  "text": "D",
              },
          ],
      ):
          ret &= _cmp_partial_dict(sh, d)
      assert ret
  
imports: import plotly.graph_objects
  from plotly.subplots import make_subplots
  from itertools import product
  import os
  import sys
  import pytest
  import json
  from .common import _cmp_partial_dict, _check_figure_layout_objects
label_desc: Use image node_id 8 for calling a global function with example usage: test_annotation_position_override(multi_plot_fixture) without return types