code: def setUp(self):
      self.maxDiff = None  # pylint:disable=invalid-name
      self.capture_messages = [
          mido.Message(type="note_on", note=0, time=0.01),
          mido.Message(
              type="control_change", control=1, value=1, time=0.02
          ),
          mido.Message(type="note_on", note=1, time=2.0),
          mido.Message(type="note_off", note=0, time=3.0),
          mido.Message(type="note_on", note=2, time=3.0),
          mido.Message(type="note_on", note=3, time=4.0),
          mido.Message(type="note_off", note=2, time=4.0),
          mido.Message(type="note_off", note=1, time=5.0),
          mido.Message(
              type="control_change", control=1, value=1, time=6.0
          ),
          mido.Message(type="note_off", note=3, time=100),
      ]
  
      self.port = MockMidiPort()
      self.midi_hub = midi_hub.MidiHub(
          [self.port], [self.port], midi_hub.TextureType.POLYPHONIC
      )
  
      # Burn in Sleeper for calibration.
      for _ in range(5):
          concurrency.Sleeper().sleep(0.01)
  
imports: import collections
  import queue
  import threading
  import time
  from magenta.common import concurrency
  from magenta.interfaces.midi import midi_hub
  import mido
  from note_seq import testing_lib
  from note_seq.protobuf import music_pb2
  import tensorflow.compat.v1
label_desc: Use image node_id 1 for calling the MidiHubTest obj's underlying member method code with example usage: obj.setUp() without return types