code: def test_chord(self):
      # pitch explicit, intervals and bass implicit
      self.assert_chord_equal(
          chord("C"), (pitch("C"), 0, chord_intervals("maj"))
      )
      # pitch and bass explicit, intervals implicit
      self.assert_chord_equal(
          chord("G#b/5"),
          (pitch("G"), interval("5"), chord_intervals("maj")),
      )
      # pitch and intervals in shorthand explicit, bass implicit
      self.assert_chord_equal(
          chord("Cb:sus4"), (pitch("Cb"), 0, chord_intervals("sus4"))
      )
      # pitch and intervals as list explicit, bass implicit
      self.assert_chord_equal(
          chord("F:(1,3,5,9)"),
          (pitch("F"), 0, chord_intervals("(1,3,5,9)")),
      )
      # pitch and intervals, both shorthand and list, explicit bass implicit
      self.assert_chord_equal(
          chord("Db:min6(*b3)"),
          (pitch("Db"), 0, chord_intervals("(1,5,6)")),
      )
      # everything explicit
      self.assert_chord_equal(
          chord("A#:minmaj7/b3"),
          (pitch("A#"), interval("b3"), chord_intervals("minmaj7")),
      )
      # test no-chord and unknown-chord
      self.assert_chord_equal(chord("N"), NO_CHORD)
      self.assert_chord_equal(chord("X"), UNKNOWN_CHORD)
  
imports: from __future__ import absolute_import, division, print_function
  import unittest
  from os.path import join
  from madmom.evaluation.chords import *
  from .None import ANNOTATIONS_PATH, DETECTIONS_PATH
label_desc: Use image node_id 8 for calling the TestChordParsing obj's underlying member method code with example usage: obj.test_chord() without return types