• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.android.phone.vvm.omtp;
2 
3 import android.content.ComponentName;
4 import android.telecom.PhoneAccountHandle;
5 import android.test.AndroidTestCase;
6 import android.util.ArraySet;
7 
8 import java.util.Arrays;
9 
10 public class VisualVoicemailPreferencesTest extends AndroidTestCase {
11 
testWriteRead()12     public void testWriteRead() {
13         VisualVoicemailPreferences preferences = new VisualVoicemailPreferences(getContext(),
14                 createFakeHandle("testWriteRead"));
15         preferences.edit()
16                 .putBoolean("boolean", true)
17                 .putFloat("float", 0.5f)
18                 .putInt("int", 123)
19                 .putLong("long", 456)
20                 .putString("string", "foo")
21                 .putStringSet("stringset", new ArraySet<>(Arrays.asList("bar", "baz")))
22                 .apply();
23 
24         assertTrue(preferences.contains("boolean"));
25         assertTrue(preferences.contains("float"));
26         assertTrue(preferences.contains("int"));
27         assertTrue(preferences.contains("long"));
28         assertTrue(preferences.contains("string"));
29         assertTrue(preferences.contains("stringset"));
30 
31         assertEquals(true, preferences.getBoolean("boolean", false));
32         assertEquals(0.5f, preferences.getFloat("float", 0));
33         assertEquals(123, preferences.getInt("int", 0));
34         assertEquals(456, preferences.getLong("long", 0));
35         assertEquals("foo", preferences.getString("string", null));
36         assertEquals(new ArraySet<>(Arrays.asList("bar", "baz")),
37                 preferences.getStringSet("stringset", null));
38     }
39 
testReadDefault()40     public void testReadDefault() {
41         VisualVoicemailPreferences preferences = new VisualVoicemailPreferences(getContext(),
42                 createFakeHandle("testReadDefault"));
43 
44         assertFalse(preferences.contains("boolean"));
45         assertFalse(preferences.contains("float"));
46         assertFalse(preferences.contains("int"));
47         assertFalse(preferences.contains("long"));
48         assertFalse(preferences.contains("string"));
49         assertFalse(preferences.contains("stringset"));
50 
51         assertEquals(true, preferences.getBoolean("boolean", true));
52         assertEquals(2.5f, preferences.getFloat("float", 2.5f));
53         assertEquals(321, preferences.getInt("int", 321));
54         assertEquals(654, preferences.getLong("long", 654));
55         assertEquals("foo2", preferences.getString("string", "foo2"));
56         assertEquals(new ArraySet<>(Arrays.asList("bar2", "baz2")),
57                 preferences.getStringSet(
58                         "stringset", new ArraySet<>(Arrays.asList("bar2", "baz2"))));
59     }
60 
testReadDefaultNull()61     public void testReadDefaultNull() {
62         VisualVoicemailPreferences preferences = new VisualVoicemailPreferences(getContext(),
63                 createFakeHandle("testReadDefaultNull"));
64         assertNull(preferences.getString("string", null));
65         assertNull(preferences.getStringSet("stringset", null));
66     }
67 
testDifferentHandle()68     public void testDifferentHandle() {
69         VisualVoicemailPreferences preferences1 = new VisualVoicemailPreferences(getContext(),
70                 createFakeHandle("testDifferentHandle1"));
71         VisualVoicemailPreferences preferences2 = new VisualVoicemailPreferences(getContext(),
72                 createFakeHandle("testDifferentHandle1"));
73 
74         preferences1.edit().putString("string", "foo");
75         assertFalse(preferences2.contains("string"));
76     }
77 
createFakeHandle(String id)78     private PhoneAccountHandle createFakeHandle(String id) {
79         return new PhoneAccountHandle(new ComponentName(getContext(), this.getClass()), id);
80     }
81 }
82