code: def testApe(self):
      result = MetadataReader(
          filename=join(self.audioDir, "test.ape")
      )()
      tagsPool = result[7]
      tags = tagsPool.descriptorNames() + [
          tagsPool[t][0] for t in tagsPool.descriptorNames()
      ]
  
      self.assertEqualVector(
          result[:7],
          (
              "ape test file",
              "mtg",
              "essentia",
              "this is not porn",
              "Porn Groove",
              "01/01",
              "2009",
          ),
      )
      self.assertEqualVector(result[8:], (5, 722, 44100, 1))
      self.assertEqualVector(
          tags,
          [
              "metadata.tags.album",
              "metadata.tags.artist",
              "metadata.tags.comment",
              "metadata.tags.composer",
              "metadata.tags.copyright",
              "metadata.tags.date",
              "metadata.tags.genre",
              "metadata.tags.original artist",
              "metadata.tags.part",
              "metadata.tags.title",
              "metadata.tags.tracknumber",
              "essentia",
              "mtg",
              "this is not porn",
              "roberto.toscano",
              "mtg.upf.edu",
              "2009",
              "Porn Groove",
              "roberto.toscano",
              "1",
              "ape test file",
              "01/01",
          ],
      )
  
file_path: essentia/test/src/unittests/io/test_metadatareader.py
imports: from essentia_test import *
  import os
label_desc: Use image node_id 4 for calling the TestMetadataReader obj's underlying member method code with example usage: obj.testApe() without return types