code: def test_results(self):
      # two detections / annotations
      e = TempoEvaluation([120, 60], [[60, 0.7], [30, 0.3]])
      self.assertEqual(e.pscore, 0.7)
      self.assertEqual(e.any, True)
      self.assertEqual(e.all, False)
      # consider only first detection / annotation
      e = TempoEvaluation([120, 60], [[60, 0.7], [30, 0.3]], max_len=1)
      self.assertEqual(e.pscore, 0)
      self.assertEqual(e.any, False)
      self.assertEqual(e.all, False)
      # only det=120 and ann=60 should be evaluated for acc
      self.assertEqual(e.acc1, False)
      self.assertEqual(e.acc2, True)
  
      # two detections / annotations
      e = TempoEvaluation([120, 60], [[180, 0.7], [60, 0.3]])
      self.assertEqual(e.pscore, 0.3)
      self.assertEqual(e.any, True)
      self.assertEqual(e.all, False)
      # only det=120 and ann=180 should be evaluated for acc
      self.assertEqual(e.acc1, False)
      self.assertEqual(e.acc2, False)
      # consider only first detection / annotation
      e = TempoEvaluation([120, 60], [[180, 0.7], [60, 0.3]], max_len=1)
      self.assertEqual(e.pscore, 0)
      self.assertEqual(e.any, False)
      self.assertEqual(e.all, False)
  
      # two detections / annotations
      e = TempoEvaluation([120, 60], [[180, 0.7], [60, 0.3]])
      self.assertEqual(e.pscore, 0.3)
      self.assertEqual(e.any, True)
      self.assertEqual(e.all, False)
      # only det=120 and ann=180 should be evaluated for acc
      self.assertEqual(e.acc1, False)
      self.assertEqual(e.acc2, False)
  
      # two detections / annotations
      e = TempoEvaluation([120, 60], [[180, 0.3], [60, 0.7]])
      self.assertEqual(e.pscore, 0.7)
      self.assertEqual(e.any, True)
      self.assertEqual(e.all, False)
      # only det=120 and ann=60 should be evaluated for acc
      self.assertEqual(e.acc1, False)
      self.assertEqual(e.acc2, True)
      # consider only strongest detection / annotation (sort them)
      e = TempoEvaluation([60, 120], [[180, 0.3], [60, 0.7]], max_len=1)
      self.assertEqual(e.pscore, 1)
      self.assertEqual(e.any, True)
      self.assertEqual(e.all, True)
      self.assertEqual(e.acc1, True)
      self.assertEqual(e.acc2, True)
      # same, but do not sort them
      e = TempoEvaluation(
          [60, 120], [[180, 0.3], [60, 0.7]], max_len=1, sort=False
      )
      self.assertEqual(e.pscore, 0)
      self.assertEqual(e.any, False)
      self.assertEqual(e.all, False)
      self.assertEqual(e.acc1, False)
      self.assertEqual(e.acc2, True)
  
      # only 1 annotations
      e = TempoEvaluation([120, 60], [30, 1])
      self.assertEqual(e.pscore, 0)
      self.assertEqual(e.any, False)
      self.assertEqual(e.all, False)
      # only det=120 and ann=30 should be evaluated for acc
      self.assertEqual(e.acc1, False)
      self.assertEqual(e.acc2, False)
  
      # only 1 annotations
      e = TempoEvaluation([60, 120], [180, 1])
      self.assertEqual(e.pscore, 0)
      self.assertEqual(e.any, False)
      self.assertEqual(e.all, False)
      # only det=60 and ann=60 should be evaluated for acc
      self.assertEqual(e.acc1, False)
      self.assertEqual(e.acc2, True)
  
imports: from __future__ import absolute_import, division, print_function
  import math
  import unittest
  from madmom.evaluation.tempo import *
  from .None import ANNOTATIONS_PATH, DETECTIONS_PATH
label_desc: Use image node_id 4 for calling the TestTempoEvaluationClass obj's underlying member method code with example usage: obj.test_results() without return types