code: def test_select_by_property_across_trace_types(self):
      self.assert_select_traces(
          [0, 4, 6], selector={"mode": "markers"}, test_no_grid=True
      )
      self.assert_select_traces(
          [2, 5, 7, 9], selector={"mode": "lines"}, test_no_grid=True
      )
      self.assert_select_traces(
          [0, 4],
          selector={"marker": {"color": "green", "size": 10}},
          test_no_grid=True,
      )
  
      # Several traces have 'marker.color' == 'green', but they all have
      # additional marker properties so there should be no exact match.
      self.assert_select_traces(
          [], selector={"marker": {"color": "green"}}, test_no_grid=True
      )
      self.assert_select_traces(
          [0, 4, 6],
          selector={"marker.color": "green"},
          test_no_grid=True,
      )
      self.assert_select_traces(
          [2, 5, 8, 9],
          selector={"line.color": "purple"},
          test_no_grid=True,
      )
  
imports: from unittest import TestCase
  import inspect
  import copy
  import pytest
  import plotly.graph_objs
  from plotly.subplots import make_subplots
  from functools import reduce
label_desc: Use image node_id 6 for calling the TestSelectForEachUpdateTraces obj's underlying member method code with example usage: obj.test_select_by_property_across_trace_types() without return types