code: def test_select_by_type(self):
      self.assert_select_traces(
          [0, 2, 9], selector={"type": "scatter"}, test_no_grid=True
      )
      self.assert_select_traces(
          [1], selector={"type": "bar"}, test_no_grid=True
      )
      self.assert_select_traces(
          [3], selector={"type": "heatmap"}, test_no_grid=True
      )
      self.assert_select_traces(
          [4, 5], selector={"type": "scatter3d"}, test_no_grid=True
      )
      self.assert_select_traces(
          [6, 7], selector={"type": "scatterpolar"}, test_no_grid=True
      )
      self.assert_select_traces(
          [8], selector={"type": "parcoords"}, test_no_grid=True
      )
      self.assert_select_traces(
          [], selector={"type": "pie"}, 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 3 for calling the TestSelectForEachUpdateTraces obj's underlying member method code with example usage: obj.test_select_by_type() without return types