package com.limegroup.gnutella.settings;
import java.io.File;
import junit.framework.Test;
import junit.framework.TestSuite;
import com.limegroup.gnutella.MediaType;
import com.limegroup.gnutella.util.BaseTestCase;
public class SharingSettingsTest extends BaseTestCase {
public SharingSettingsTest(String name) {
super(name);
}
public static void main(java.lang.String[] args) {
junit.textui.TestRunner.run(suite());
}
public static Test suite() {
TestSuite suite = new TestSuite(SharingSettingsTest.class);
return suite;
}
public void setUp() throws Exception {
}
public void tearDown() {
}
/**
* Tests if all settings are set to the default save directory.
*/
public void testUnsetMediaTypeDirectories() {
MediaType[] types = MediaType.getDefaultMediaTypes();
for (int i = 0; i < types.length; i++) {
assertEquals("Should be the save directory",
SharingSettings.getSaveDirectory(),
SharingSettings.getFileSettingForMediaType(types[i]).getValue());
}
}
public void testSetMediaTypeDirectories() throws Exception {
File tmpFile = File.createTempFile("prefix", "postfix");
tmpFile.deleteOnExit();
File dir = new File(tmpFile.getParentFile(), "subdir");
dir.mkdir();
dir.deleteOnExit();
// set all mediatype directories
MediaType[] types = MediaType.getDefaultMediaTypes();
for (int i = 0; i < types.length; i++) {
SharingSettings.getFileSettingForMediaType(types[i]).setValue(dir);
}
// test if they are all set
for (int i = 0; i < types.length; i++) {
assertEquals("Should be the set directory",
dir,
SharingSettings.getFileSettingForMediaType(types[i]).getValue());
}
// revert them
for (int i = 0; i < types.length; i++) {
SharingSettings.getFileSettingForMediaType(types[i]).revertToDefault();
}
// check if they are reverted
for (int i = 0; i < types.length; i++) {
assertTrue("Should be default",
SharingSettings.getFileSettingForMediaType(
types[i]).isDefault());
assertEquals("Should be the save directory",
SharingSettings.getSaveDirectory(),
SharingSettings.getFileSettingForMediaType(types[i]).getValue());
}
}
}