package com.limegroup.gnutella.downloader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import junit.framework.Test;
import com.limegroup.gnutella.GUID;
import com.limegroup.gnutella.MediaType;
import com.limegroup.gnutella.RemoteFileDesc;
public class AutoDownloaderDetailsTest extends com.limegroup.gnutella.util.BaseTestCase {
public AutoDownloaderDetailsTest(String name) {
super(name);
}
public static Test suite() {
return buildTestSuite(AutoDownloaderDetailsTest.class);
}
public void testLegacy() throws Exception {
AutoDownloadDetails add =
new AutoDownloadDetails("moxxiffey", null,
GUID.makeGuid(), MediaType.getAudioMediaType());
String[] files = {"moxxiffey - fuedehead.mp3"};
RemoteFileDesc[] rfds = new RemoteFileDesc[files.length];
for (int i = 0; i < rfds.length; i++)
rfds[i] = new RemoteFileDesc("0.0.0.0", 6346, i, files[i],
i, GUID.makeGuid(),
3, false, 3, false,null, null,
false, false,"",0,null, -1);
//Test serialization by writing to disk and rereading. All the methods
//should still work afterwards.
File tmp=File.createTempFile("AutoDownloadDetails_test", "dat");
ObjectOutputStream out=
new ObjectOutputStream(new FileOutputStream(tmp));
out.writeObject(add);
out.close();
ObjectInputStream in=
new ObjectInputStream(new FileInputStream(tmp));
add=(AutoDownloadDetails)in.readObject();
in.close();
tmp.delete();
assertTrue(add.addDownload(rfds[0]));
add.commitDownload(rfds[0]);
// seems like we've committed MAX_DOWNLOADS, should be expired...
assertTrue(add.expired());
}
}