code: def tearDown(self):
      decoder = FileDecoder(self.source)
      (decoder | self.analyzer).run()
      results = self.analyzer.results
      # results.to_yaml()
      # results.to_json()
      # results.to_xml()
  
      for proc_id in results.list_id():
          result = results.get_result_by_id(proc_id)
          # check we have a result with coherent length (±100ms)
          duration = result.audio_metadata.duration
          data_duration = result.data_object.time[-1]
          self.assertAlmostEqual(duration, data_duration, 1)
  
file_path: TimeSide/tests/test_aubio_specdesc.py
imports: import unittest
  from unit_timeside import TestRunner
  from timeside.core.tools.test_samples import samples
  from timeside.core import get_processor
label_desc: Use image node_id 4 for calling the TestAubioSpecdesc obj's underlying member method code with example usage: obj.tearDown() without return types