code: def testRegression(self):
      bpms = [
          118,
          119,
          120,
          120,
          121,
          122,
          98,
          99,
          99,
          100,
          100,
          100,
          100,
          101,
          101,
          102,
      ]
      intervals = []
      for bpm in bpms:
          intervals.append(60.0 / bpm)
      intervals.append(
          0
      )  # Add an extra zero to check if it gets properly dropped
      (
          bpm1,
          weight1,
          spread1,
          bpm2,
          weight2,
          spread2,
          histogram,
      ) = BpmHistogramDescriptors()(intervals)
      self.assertAlmostEqual(bpm1, 100, 1e-5)
      self.assertAlmostEqual(weight1, 0.5, 1e-5)
      self.assertAlmostEqual(spread1, 0.2, 1e-5)
      self.assertAlmostEqual(bpm2, 120, 1e-5)
      self.assertAlmostEqual(weight2, 0.25, 1e-5)
      self.assertAlmostEqual(spread2, 0.333333, 1e-5)
  
      correct_histogram = [0.0] * len(histogram)
      for bpm in bpms:
          correct_histogram[bpm] += 1.0 / len(bpms)
      self.assertEqualVector(histogram, histogram)
  
file_path: essentia/test/src/unittests/rhythm/test_bpmhistogramdescriptors.py
imports: from essentia_test import *
label_desc: Use image node_id 6 for calling the TestBpmHistogramDescriptors obj's underlying member method code with example usage: obj.testRegression() without return types