code: def testRegressionDifferentToleranceLowBpms(self):
      testBpms = [10, 20, 60, 120, 180]
      expectedHarmonicBpms = [20, 60, 120, 180]
      # We want to ensure nothing bad happens when tolerance = 0.
      harmonicBpms = HarmonicBpm(bpm=60, tolerance=0, threshold=20)(
          testBpms
      )
      self.assertEqualVector(harmonicBpms, expectedHarmonicBpms)
      # Check range tolerance values of multiples of 5.
      harmonicBpms = HarmonicBpm(bpm=60, tolerance=5, threshold=20)(
          testBpms
      )
      self.assertEqualVector(harmonicBpms, expectedHarmonicBpms)
      harmonicBpms = HarmonicBpm(bpm=60, tolerance=10, threshold=20)(
          testBpms
      )
      self.assertEqualVector(harmonicBpms, expectedHarmonicBpms)
      harmonicBpms = HarmonicBpm(bpm=60, tolerance=20, threshold=20)(
          testBpms
      )
      self.assertEqualVector(harmonicBpms, expectedHarmonicBpms)
  
      # Additional tests to cover lower thresholds.
      # expectedHarmonicBpms should now match the input testBpms
      expectedHarmonicBpms = [10, 20, 60, 120, 180]
      harmonicBpms = HarmonicBpm(bpm=60, tolerance=20, threshold=10)(
          testBpms
      )
      self.assertEqualVector(harmonicBpms, expectedHarmonicBpms)
      harmonicBpms = HarmonicBpm(bpm=60, tolerance=20, threshold=1)(
          testBpms
      )
      self.assertEqualVector(harmonicBpms, expectedHarmonicBpms)
  
file_path: essentia/test/src/unittests/rhythm/test_harmonicbpm.py
imports: from essentia_test import *
  import essentia
label_desc: Use image node_id 10 for calling the TestHarmonicBpm obj's underlying member method code with example usage: obj.testRegressionDifferentToleranceLowBpms() without return types