package com.limegroup.gnutella.metadata;
import java.io.*;
import junit.framework.Test;
import com.limegroup.gnutella.util.BaseTestCase;
import com.limegroup.gnutella.util.CommonUtils;
/**
* test for the parsing of ASF files.
*/
public class ASFParsingTest extends BaseTestCase {
public ASFParsingTest(String name) {
super(name);
}
public static Test suite() {
return buildTestSuite(ASFParsingTest.class);
}
public void testWMASimpleDescription() throws IOException {
File f = CommonUtils.getResourceFile("com/limegroup/gnutella/metadata/simple description.wma");
assertTrue(f.exists());
ASFParser parser = new ASFParser(f);
assertEquals("Normal Author", parser.getArtist());
assertEquals("Normal Title", parser.getTitle());
assertEquals("Normal Copyright", parser.getCopyright());
assertEquals("Normal Description", parser.getComment());
assertEquals("Normal Rating", parser.getRating());
assertEquals(315, parser.getBitrate());
assertEquals(null, parser.getLicenseInfo());
assertEquals(-1, parser.getTrack());
assertEquals(null, parser.getAlbum());
assertEquals(null, parser.getYear());
assertEquals(null, parser.getGenre());
assertEquals(0, parser.getLength());
assertEquals(-1, parser.getWidth());
assertEquals(-1, parser.getHeight());
assertEquals(null, parser.getWeedInfo());
assertEquals(null, parser.getWRMXML());
assertTrue(parser.hasAudio());
assertFalse(parser.hasVideo());
AudioMetaData data = (AudioMetaData)MetaData.parse(f);
assertEquals("Normal Author", data.getArtist());
assertEquals("Normal Title", data.getTitle());
assertEquals("Normal Copyright", data.getLicense());
assertEquals("Normal Description", data.getComment());
assertEquals(315, data.getBitrate());
assertEquals(null, data.getLicenseType());
assertEquals(-1, data.getTrack());
assertEquals(null, data.getAlbum());
assertEquals(null, data.getYear());
assertEquals(null, data.getGenre());
assertEquals(0, data.getLength());
assertEquals(-1, data.getTotalTracks());
assertEquals(-1, data.getDisk());
assertEquals(-1, data.getTotalDisks());
}
public void testWMAExtendedDescription() throws IOException {
File f = CommonUtils.getResourceFile("com/limegroup/gnutella/metadata/extended description.wma");
assertTrue(f.exists());
ASFParser parser = new ASFParser(f);
assertEquals("An Artist", parser.getArtist());
assertEquals("A Title", parser.getTitle());
assertEquals("This is a copyright", parser.getCopyright());
assertEquals("This is a comment", parser.getComment());
assertEquals("", parser.getRating());
assertEquals(192, parser.getBitrate());
assertEquals(null, parser.getLicenseInfo());
assertEquals(1, parser.getTrack());
assertEquals("An Album", parser.getAlbum());
assertEquals("2005", parser.getYear());
assertEquals("Acoustic", parser.getGenre());
assertEquals(0, parser.getLength());
assertEquals(-1, parser.getWidth());
assertEquals(-1, parser.getHeight());
assertEquals(null, parser.getWeedInfo());
assertEquals(null, parser.getWRMXML());
assertTrue(parser.hasAudio());
assertFalse(parser.hasVideo());
AudioMetaData data = (AudioMetaData)MetaData.parse(f);
assertEquals("An Artist", data.getArtist());
assertEquals("A Title", data.getTitle());
assertEquals("This is a copyright", data.getLicense());
assertEquals("This is a comment", data.getComment());
assertEquals(192, data.getBitrate());
assertEquals(null, data.getLicenseType());
assertEquals(1, data.getTrack());
assertEquals("An Album", data.getAlbum());
assertEquals("2005", data.getYear());
assertEquals("Acoustic", data.getGenre());
assertEquals(0, data.getLength());
assertEquals(-1, data.getTotalTracks());
assertEquals(-1, data.getDisk());
assertEquals(-1, data.getTotalDisks());
}
public void testASFVBR() throws IOException {
File f = CommonUtils.getResourceFile("com/limegroup/gnutella/metadata/vbr encoding.asf");
assertTrue(f.exists());
ASFParser parser = new ASFParser(f);
assertEquals("Another Artist", parser.getArtist());
assertEquals("Another Title", parser.getTitle());
assertEquals("None", parser.getCopyright());
assertEquals("This is a small comment.", parser.getComment());
assertEquals("", parser.getRating());
assertEquals(7686, parser.getBitrate());
assertEquals(null, parser.getLicenseInfo());
assertEquals(-1, parser.getTrack());
assertEquals("Another Album", parser.getAlbum());
assertEquals("2001", parser.getYear());
assertEquals("My Own", parser.getGenre());
assertEquals(0, parser.getLength());
assertEquals(-1, parser.getWidth());
assertEquals(-1, parser.getHeight());
assertEquals(null, parser.getWeedInfo());
assertEquals(null, parser.getWRMXML());
assertTrue(parser.hasAudio());
assertFalse(parser.hasVideo());
AudioMetaData data = (AudioMetaData)MetaData.parse(f);
assertEquals("Another Artist", data.getArtist());
assertEquals("Another Title", data.getTitle());
assertEquals("None", data.getLicense());
assertEquals("This is a small comment.", data.getComment());
assertEquals(7686, data.getBitrate());
assertEquals(null, data.getLicenseType());
assertEquals(-1, data.getTrack());
assertEquals("Another Album", data.getAlbum());
assertEquals("2001", data.getYear());
assertEquals("My Own", data.getGenre());
assertEquals(0, data.getLength());
assertEquals(-1, data.getTotalTracks());
assertEquals(-1, data.getDisk());
assertEquals(-1, data.getTotalDisks());
}
}