code: def testEquivalentChordNames(self):
      # Equivalent notes (eg. Eb <-> D#) should produce the same result.
  
      scale = "minor"
      key = "A"
  
      a = [
          "A",
          "Bb",
          "B",
          "C",
          "C#",
          "D",
          "Eb",
          "E",
          "F",
          "F#",
          "G",
          "Ab",
      ]
      b = [
          "A",
          "A#",
          "B",
          "C",
          "Db",
          "D",
          "D#",
          "E",
          "F",
          "Gb",
          "G",
          "G#",
      ]
  
      # Assert that if the notes are not equivalet the output is actually different
      # to probe the validity of the test
      c = [
          "A",
          "D#",
          "B",
          "C",
          "C#",
          "D",
          "D#",
          "E",
          "F",
          "F#",
          "G",
          "G#",
      ]
  
      (
          chordsHistogramA,
          chordsNumberRateA,
          _,
          chordsKeyA,
          chordsScaleA,
      ) = ChordsDescriptors()(a, key, scale)
      (
          chordsHistogramB,
          chordsNumberRateB,
          _,
          chordsKeyB,
          chordsScaleB,
      ) = ChordsDescriptors()(b, key, scale)
      (
          chordsHistogramC,
          chordsNumberRateC,
          _,
          chordsKeyC,
          chordsScaleC,
      ) = ChordsDescriptors()(c, key, scale)
  
      self.assertEqualVector(chordsHistogramA, chordsHistogramB)
      self.assertEqual(chordsNumberRateA, chordsNumberRateB)
      self.assertEqual(chordsKeyA, chordsKeyB)
      self.assertEqualVector(chordsScaleA, chordsScaleB)
  
      self.assertNotEquals(
          sum(abs(chordsHistogramA - chordsHistogramC)), 0
      )
      self.assertNotEqual(chordsNumberRateA, chordsNumberRateC)
      self.assertNotEqual(chordsKeyA, chordsKeyC)
  
file_path: essentia/test/src/unittests/tonal/test_chordsdescriptors.py
imports: from essentia_test import *
  from essentia.streaming import ChordsDescriptors
label_desc: Use image node_id 12 for calling the TestChordsDescriptors obj's underlying member method code with example usage: obj.testEquivalentChordNames() without return types