filebot/test/net/filebot/util/PreferencesMapTest.java

156 lines
3.5 KiB
Java
Raw Normal View History

2014-04-19 02:30:29 -04:00
package net.filebot.util;
import static org.junit.Assert.*;
import java.awt.Color;
import java.util.Arrays;
import java.util.Collection;
import java.util.Map;
import java.util.Map.Entry;
import java.util.prefs.Preferences;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import net.filebot.util.PreferencesMap.JsonAdapter;
2016-03-13 09:32:26 -04:00
import net.filebot.util.PreferencesMap.SimpleAdapter;
public class PreferencesMapTest {
2015-07-25 18:47:19 -04:00
private static Preferences root;
private static Preferences strings;
private static Preferences numbers;
private static Preferences temp;
private static Preferences sequence;
2015-07-25 18:47:19 -04:00
@BeforeClass
public static void setUpBeforeClass() throws Exception {
root = Preferences.userRoot().node("junit-test");
2015-07-25 18:47:19 -04:00
strings = root.node("strings");
strings.put("1", "Firefly");
strings.put("2", "Roswell");
strings.put("3", "Angel");
strings.put("4", "Dead like me");
strings.put("5", "Babylon");
2015-07-25 18:47:19 -04:00
numbers = root.node("numbers");
numbers.putInt("M", 4);
numbers.putInt("A", 5);
numbers.putInt("X", 2);
2015-07-25 18:47:19 -04:00
sequence = root.node("sequence");
sequence.putInt("1", 1);
sequence.putInt("2", 2);
sequence.putInt("3", 3);
2015-07-25 18:47:19 -04:00
temp = root.node("temp");
}
2015-07-25 18:47:19 -04:00
@AfterClass
public static void tearDownAfterClass() throws Exception {
root.removeNode();
}
2015-07-25 18:47:19 -04:00
@Test
public void get() {
Map<String, String> stringMap = PreferencesMap.map(strings);
2015-07-25 18:47:19 -04:00
assertEquals("Firefly", stringMap.get("1"));
}
2015-07-25 18:47:19 -04:00
@Test
public void put() {
Map<String, String> stringMap = PreferencesMap.map(temp);
2015-07-25 18:47:19 -04:00
stringMap.put("key", "snake");
2015-07-25 18:47:19 -04:00
assertEquals("snake", temp.get("key", null));
}
2015-07-25 18:47:19 -04:00
@Test
public void remove() throws Exception {
Map<String, Integer> map = PreferencesMap.map(numbers, SimpleAdapter.forClass(Integer.class));
2015-07-25 18:47:19 -04:00
map.remove("A");
2015-07-25 18:47:19 -04:00
assertFalse(Arrays.asList(numbers.keys()).contains("A"));
}
2015-07-25 18:47:19 -04:00
@Test
public void clear() throws Exception {
Map<String, Integer> map = PreferencesMap.map(temp, SimpleAdapter.forClass(Integer.class));
2015-07-25 18:47:19 -04:00
map.put("X", 42);
2015-07-25 18:47:19 -04:00
map.clear();
2015-07-25 18:47:19 -04:00
assertTrue(temp.keys().length == 0);
}
2015-07-25 18:47:19 -04:00
@Test
public void containsKey() {
temp.put("name", "kaya");
2015-07-25 18:47:19 -04:00
Map<String, String> map = PreferencesMap.map(temp);
2015-07-25 18:47:19 -04:00
assertTrue(map.containsKey("name"));
}
2015-07-25 18:47:19 -04:00
@Test
public void values() {
2015-07-25 18:47:19 -04:00
Map<String, Integer> map = PreferencesMap.map(sequence, SimpleAdapter.forClass(Integer.class));
2015-07-25 18:47:19 -04:00
Collection<Integer> list = map.values();
2015-07-25 18:47:19 -04:00
assertTrue(list.contains(1));
assertTrue(list.contains(2));
assertTrue(list.contains(3));
}
2015-07-25 18:47:19 -04:00
@Test
public void containsValue() {
Map<String, String> map = PreferencesMap.map(strings);
2015-07-25 18:47:19 -04:00
assertTrue(map.containsValue("Firefly"));
}
2015-07-25 18:47:19 -04:00
@Test
public void entrySet() {
Map<String, Integer> map = PreferencesMap.map(numbers, SimpleAdapter.forClass(Integer.class));
2015-07-25 18:47:19 -04:00
for (Entry<String, Integer> entry : map.entrySet()) {
Integer v = entry.getValue();
entry.setValue(v + 1);
}
2015-07-25 18:47:19 -04:00
assertEquals(5, numbers.getInt("M", -1));
}
2015-07-25 18:47:19 -04:00
@Test
public void containsKeyWithObjectKey() throws Exception {
Map<String, String> map = PreferencesMap.map(strings);
2015-07-25 18:47:19 -04:00
assertFalse(map.containsKey(new Object()));
}
2015-07-25 18:47:19 -04:00
public void getWithObjectKey() throws Exception {
Map<String, String> map = PreferencesMap.map(strings);
2015-07-25 18:47:19 -04:00
assertEquals(null, map.get(new Object()));
}
2015-07-25 18:47:19 -04:00
@Test
public void jsonAdapter() {
Map<String, Color> map = PreferencesMap.map(temp, new JsonAdapter<Color>(Color.class));
Color color = new Color(0.25f, 0.50f, 1.00f);
2015-07-25 18:47:19 -04:00
map.put("color", color);
assertEquals(color, map.get("color"));
}
}