code: def testSendControlChange(self):
      self.midi_hub.send_control_change(0, 1)
  
      sent_messages = []
      while not self.port.message_queue.empty():
          sent_messages.append(self.port.message_queue.get())
  
      self.assertListEqual(
          sent_messages,
          [
              mido.Message(
                  type="control_change",
                  control=0,
                  value=1,
                  time=sent_messages[0].time,
              )
          ],
      )
  
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 28 for calling the MidiHubTest obj's underlying member method code with example usage: obj.testSendControlChange() without return types