package com.limegroup.gnutella.metadata; import java.io.File; import java.io.IOException; import junit.framework.Test; import org.limewire.util.TestUtils; import com.google.inject.Injector; import com.limegroup.gnutella.LimeTestUtils; import com.limegroup.gnutella.metadata.audio.AudioMetaData; import com.limegroup.gnutella.util.LimeTestCase; /** * test for the parsing of ASF files. */ public class ASFParsingTest extends LimeTestCase { private MetaDataFactory metaDataFactory; public ASFParsingTest(String name) { super(name); } public static Test suite() { return buildTestSuite(ASFParsingTest.class); } @Override public void setUp(){ Injector injector = LimeTestUtils.createInjector(); metaDataFactory = injector.getInstance(MetaDataFactory.class); } public void testWMASimpleDescription() throws IOException { File f = TestUtils.getResourceFile("com/limegroup/gnutella/metadata/simple description.wma"); assertTrue(f.exists()); AudioMetaData amd = (AudioMetaData) metaDataFactory.parse(f); assertEquals("Normal Author", amd.getArtist()); assertEquals("Normal Title", amd.getTitle()); assertEquals("Normal Copyright", amd.getLicense()); assertEquals("Normal Description", amd.getComment()); assertEquals(315, amd.getBitrate()); assertEquals(null, amd.getLicenseType()); assertEquals("-1", amd.getTrack()); assertEquals(null, amd.getAlbum()); assertEquals(null, amd.getYear()); assertEquals(null, amd.getGenre()); assertEquals(0, amd.getLength()); assertEquals(-1, amd.getTotalTracks()); assertEquals(-1, amd.getDisk()); assertEquals(-1, amd.getTotalDisks()); } public void testWMAExtendedDescription() throws IOException { File f = TestUtils.getResourceFile("com/limegroup/gnutella/metadata/extended description.wma"); assertTrue(f.exists()); AudioMetaData amd = (AudioMetaData) metaDataFactory.parse(f); assertEquals("An Artist", amd.getArtist()); assertEquals("A Title", amd.getTitle()); assertEquals("This is a copyright", amd.getLicense()); assertEquals("This is a comment", amd.getComment()); assertEquals(192, amd.getBitrate()); assertEquals(null, amd.getLicenseType()); assertEquals("1", amd.getTrack()); assertEquals("An Album", amd.getAlbum()); assertEquals("2005", amd.getYear()); assertEquals("Acoustic", amd.getGenre()); assertEquals(0, amd.getLength()); assertEquals(-1, amd.getTotalTracks()); assertEquals(-1, amd.getDisk()); assertEquals(-1, amd.getTotalDisks()); } public void testASFVBR() throws IOException { File f = TestUtils.getResourceFile("com/limegroup/gnutella/metadata/vbr encoding.asf"); assertTrue(f.exists()); AudioMetaData amd = (AudioMetaData) metaDataFactory.parse(f); assertEquals("Another Artist", amd.getArtist()); assertEquals("Another Title", amd.getTitle()); assertEquals("None", amd.getLicense()); assertEquals("This is a small comment.", amd.getComment()); assertEquals(7686, amd.getBitrate()); assertEquals(null, amd.getLicenseType()); assertEquals("-1", amd.getTrack()); assertEquals("Another Album", amd.getAlbum()); assertEquals("2001", amd.getYear()); assertEquals("My Own", amd.getGenre()); assertEquals(0, amd.getLength()); assertEquals(-1, amd.getTotalTracks()); assertEquals(-1, amd.getDisk()); assertEquals(-1, amd.getTotalDisks()); } }