@Test
public void testDecodeApicFrame() {

  byte[] rawId3 = buildSingleFrameTag("APIC", new byte[] {3, 105, 109, 97, 103, 101, 47, 106, 112,
      101, 103, 0, 16, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 0, 1, 2, 3, 4, 5, 6, 7,
      8, 9, 0});
  Id3Decoder decoder = new Id3Decoder();
  Metadata metadata = decoder.decode(rawId3, rawId3.length);
  assertThat(metadata.length()).isEqualTo(1);
  ApicFrame apicFrame = (ApicFrame) metadata.get(0);
  assertThat(apicFrame.mimeType).isEqualTo("image/jpeg");
  assertThat(apicFrame.pictureType).isEqualTo(16);
  assertThat(apicFrame.description).isEqualTo("Hello World");
  assertThat(apicFrame.pictureData).hasLength(10);
  assertThat(apicFrame.pictureData).isEqualTo(new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0});
}