code: def test_select_images(self):
      (
          self.fig.add_layout_image(
              opacity=0.1, source="red", xref="paper", yref="paper"
          )
          .add_layout_image(
              opacity=0.2, source="blue", xref="paper", yref="paper"
          )
          .add_layout_image(opacity=0.3, source="red", row=1, col=1)
          .add_layout_image(opacity=0.4, row=1, col=2)
          .add_layout_image(opacity=0.5, row=1, col=2, secondary_y=True)
          .add_layout_image(opacity=0.6, source="blue", row=2, col=1)
      )
  
      # Test selections
      self.assert_selected("images", [0, 1, 2, 3, 4, 5])
      self.assert_selected(
          "images", [0, 2], selector=dict(source="red")
      )
      self.assert_selected("images", [2, 3, 4], row=1)
      self.assert_selected(
          "images", [2], selector=dict(source="red"), row=1
      )
      self.assert_selected(
          "images", [0, 1], dict(yref="paper", xref="paper")
      )
      self.assert_selected("images", [4], secondary_y=True)
  
imports: import types
  from unittest import TestCase
  import plotly.graph_objs
  from plotly.subplots import make_subplots
  import pytest
label_desc: Use image node_id 9 for calling the TestSelectForEachUpdateAnnotations obj's underlying member method code with example usage: obj.test_select_images() without return types