blob: 1ae789908e28b9db3cedca84370880ff296ba65c [file] [log] [blame]
package com.android.phone.vvm.omtp;
import android.content.ComponentName;
import android.telecom.PhoneAccountHandle;
import android.test.AndroidTestCase;
import android.util.ArraySet;
import java.util.Arrays;
public class VisualVoicemailPreferencesTest extends AndroidTestCase {
public void testWriteRead() {
VisualVoicemailPreferences preferences = new VisualVoicemailPreferences(getContext(),
createFakeHandle("testWriteRead"));
preferences.edit()
.putBoolean("boolean", true)
.putFloat("float", 0.5f)
.putInt("int", 123)
.putLong("long", 456)
.putString("string", "foo")
.putStringSet("stringset", new ArraySet<>(Arrays.asList("bar", "baz")))
.apply();
assertTrue(preferences.contains("boolean"));
assertTrue(preferences.contains("float"));
assertTrue(preferences.contains("int"));
assertTrue(preferences.contains("long"));
assertTrue(preferences.contains("string"));
assertTrue(preferences.contains("stringset"));
assertEquals(true, preferences.getBoolean("boolean", false));
assertEquals(0.5f, preferences.getFloat("float", 0));
assertEquals(123, preferences.getInt("int", 0));
assertEquals(456, preferences.getLong("long", 0));
assertEquals("foo", preferences.getString("string", null));
assertEquals(new ArraySet<>(Arrays.asList("bar", "baz")),
preferences.getStringSet("stringset", null));
}
public void testReadDefault() {
VisualVoicemailPreferences preferences = new VisualVoicemailPreferences(getContext(),
createFakeHandle("testReadDefault"));
assertFalse(preferences.contains("boolean"));
assertFalse(preferences.contains("float"));
assertFalse(preferences.contains("int"));
assertFalse(preferences.contains("long"));
assertFalse(preferences.contains("string"));
assertFalse(preferences.contains("stringset"));
assertEquals(true, preferences.getBoolean("boolean", true));
assertEquals(2.5f, preferences.getFloat("float", 2.5f));
assertEquals(321, preferences.getInt("int", 321));
assertEquals(654, preferences.getLong("long", 654));
assertEquals("foo2", preferences.getString("string", "foo2"));
assertEquals(new ArraySet<>(Arrays.asList("bar2", "baz2")),
preferences.getStringSet(
"stringset", new ArraySet<>(Arrays.asList("bar2", "baz2"))));
}
public void testReadDefaultNull() {
VisualVoicemailPreferences preferences = new VisualVoicemailPreferences(getContext(),
createFakeHandle("testReadDefaultNull"));
assertNull(preferences.getString("string", null));
assertNull(preferences.getStringSet("stringset", null));
}
public void testDifferentHandle() {
VisualVoicemailPreferences preferences1 = new VisualVoicemailPreferences(getContext(),
createFakeHandle("testDifferentHandle1"));
VisualVoicemailPreferences preferences2 = new VisualVoicemailPreferences(getContext(),
createFakeHandle("testDifferentHandle1"));
preferences1.edit().putString("string", "foo");
assertFalse(preferences2.contains("string"));
}
private PhoneAccountHandle createFakeHandle(String id) {
return new PhoneAccountHandle(new ComponentName(getContext(), this.getClass()), id);
}
}