code: def testExtractDrumTracksPadEnd(self):
      music_testing_lib.add_track_to_sequence(
          self.note_sequence,
          0,
          [(12, 127, 2, 4), (14, 50, 6, 7)],
          is_drum=True,
      )
      music_testing_lib.add_track_to_sequence(
          self.note_sequence,
          1,
          [(12, 127, 2, 4), (15, 50, 6, 8)],
          is_drum=True,
      )
      music_testing_lib.add_track_to_sequence(
          self.note_sequence,
          2,
          [(12, 127, 2, 4), (16, 50, 8, 9)],
          is_drum=True,
      )
      quantized_sequence = sequences_lib.quantize_note_sequence(
          self.note_sequence, steps_per_quarter=1
      )
      expected = [
          [
              NO_DRUMS,
              NO_DRUMS,
              DRUMS(12),
              NO_DRUMS,
              NO_DRUMS,
              NO_DRUMS,
              DRUMS(14, 15),
              NO_DRUMS,
              DRUMS(16),
              NO_DRUMS,
              NO_DRUMS,
              NO_DRUMS,
          ]
      ]
      drum_tracks, _ = drum_pipelines.extract_drum_tracks(
          quantized_sequence, min_bars=1, gap_bars=1, pad_end=True
      )
      drum_tracks = [list(drums) for drums in drum_tracks]
      self.assertEqual(expected, drum_tracks)
  
file_path: magenta/magenta/pipelines/drum_pipelines_test.py
imports: from absl.testing import absltest
  from magenta.common import testing_lib
  from magenta.pipelines import drum_pipelines
  from note_seq import drums_lib
  from note_seq import sequences_lib
  from note_seq import testing_lib
  from note_seq.protobuf import music_pb2
label_desc: Use image node_id 7 for calling the DrumPipelinesTest obj's underlying member method code with example usage: obj.testExtractDrumTracksPadEnd() without return types