ShadowBundleTest.java revision 29a8359eaef1ee9f40c967d3c4b5c1117c8c2a43
1cfb3d242306311ce27ec51bf511764377c173a7cKiran Ryali + Christian Williamspackage org.robolectric.shadows; 24d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultz 34d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultzimport android.os.Bundle; 47f750b0e733f68282a0158e1c068eb9cd97cf115Jon Boekenoogenimport android.os.Parcelable; 53f465d3c0b9bcae23d11344e53b398b3cad99761Jon Boekenoogenimport junit.framework.AssertionFailedError; 6566a4996cc5ba12e66b10b6b534d5e8bde9601b2Glenn Jahnke & Rick Kawalaimport org.junit.Assert; 74d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultzimport org.junit.Before; 84d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultzimport org.junit.Test; 94d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultzimport org.junit.runner.RunWith; 108efa8a16877d62ef6ba4ddaaaf85055495d73f9fChristian Williamsimport org.robolectric.TestRunners; 114d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultz 1231173f95fa91bf1e10912889dd8f4bf401fe3560Aaron VonderHaar & Ryan Richardimport java.util.ArrayList; 1331173f95fa91bf1e10912889dd8f4bf401fe3560Aaron VonderHaar & Ryan Richard 1461886187d23954530016f4147f9c73b0a9eadd92sorackimport static org.junit.Assert.*; 154d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultz 164d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultz 1756215a065f0b61b67bb7bb21f21b305da9a66c90Christian Williams & Dimitris Couchell@RunWith(TestRunners.WithDefaults.class) 184d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultzpublic class BundleTest { 194d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultz 2029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams private Bundle bundle; 2129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 2229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Before public void setUp() throws Exception { 2329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle = new Bundle(); 2429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 2529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 2629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 2729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testContainsKey() throws Exception { 2829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertFalse(bundle.containsKey("foo")); 2929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putString("foo", "bar"); 3029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertTrue(bundle.containsKey("foo")); 3129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 3229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 3329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 3429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testInt() { 3529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putInt("foo", 5); 3629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(5,bundle.getInt("foo")); 3729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(0,bundle.getInt("bar")); 3829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(7, bundle.getInt("bar", 7)); 3929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 4029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 4129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 4229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testSize() { 4329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(0, bundle.size()); 4429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putInt("foo", 5); 4529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(1, bundle.size()); 4629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putInt("bar", 5); 4729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(2, bundle.size()); 4829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 4929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 5029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 5129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testLong() { 5229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putLong("foo", 5); 5329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(5, bundle.getLong("foo")); 5429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(0,bundle.getLong("bar")); 5529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(7, bundle.getLong("bar", 7)); 5629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 5729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 5829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 5929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testDouble() { 6029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putDouble("foo", 5); 6129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(Double.valueOf(5), Double.valueOf(bundle.getDouble("foo"))); 6229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(Double.valueOf(0),Double.valueOf(bundle.getDouble("bar"))); 6329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(Double.valueOf(7), Double.valueOf(bundle.getDouble("bar", 7))); 6429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 6529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 6629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 6729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testBoolean() { 6829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putBoolean("foo", true); 6929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(true, bundle.getBoolean("foo")); 7029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(false, bundle.getBoolean("bar")); 7129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(true, bundle.getBoolean("bar", true)); 7229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 7329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 7429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 7529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testFloat() { 7629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putFloat("foo", 5f); 7729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(Float.valueOf(5), Float.valueOf(bundle.getFloat("foo"))); 7829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(Float.valueOf(0),Float.valueOf(bundle.getFloat("bar"))); 7929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(Float.valueOf(7), Float.valueOf(bundle.getFloat("bar", 7))); 8029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 8129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 8229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 8329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testGetOfWrongType() { 8429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putFloat("foo", 5f); 8529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(0, bundle.getChar("foo")); 8629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getCharArray("foo")); 8729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(0, bundle.getInt("foo")); 8829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getIntArray("foo")); 8929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getIntegerArrayList("foo")); 9029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(0, bundle.getShort("foo")); 9129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getShortArray("foo")); 9229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(false, bundle.getBoolean("foo")); 9329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getBooleanArray("foo")); 9429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(0, bundle.getLong("foo")); 9529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getLongArray("foo")); 9629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getFloatArray("foo")); 9729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(0, bundle.getDouble("foo"), 0.005); 9829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getDoubleArray("foo")); 9929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getString("foo")); 10029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getStringArray("foo")); 10129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getStringArrayList("foo")); 10229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getBundle("foo")); 10329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getParcelable("foo")); 10429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getParcelableArray("foo")); 10529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(null, bundle.getParcelableArrayList("foo")); 10629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 10729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putInt("foo", 1); 10829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(0, bundle.getFloat("foo"), 0.005f); 10929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 11029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 11129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 11229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testRemove() { 11329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putFloat("foo", 5f); 11429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putFloat("foo2", 5f); 11529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 11629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.remove("foo"); 11729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 11829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertFalse(bundle.containsKey("foo")); 11929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertTrue(bundle.containsKey("foo2")); 12029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 12129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 12229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 12329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testClear() { 12429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putFloat("foo", 5f); 12529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 12629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.clear(); 12729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 12829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(0, bundle.size()); 12929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 13029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 13129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 13229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testIsEmpty() { 13329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertTrue(bundle.isEmpty()); 13429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putBoolean("foo", true); 13529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertFalse(bundle.isEmpty()); 13629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 13729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 13829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 13929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testStringArray() { 14029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putStringArray("foo", new String[] { "a" }); 14129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Assert.assertArrayEquals(new String[] { "a" }, bundle.getStringArray("foo")); 14229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getStringArray("bar")); 14329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 14429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 14529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 14629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testStringArrayList() { 14729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams ArrayList<String> list = new ArrayList<String>(); 14829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams list.add("a"); 14929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 15029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putStringArrayList("foo", new ArrayList<String>(list)); 15129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Assert.assertEquals(list, bundle.getStringArrayList("foo")); 15229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getStringArrayList("bar")); 15329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 15429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 15529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 15629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testIntegerArrayList() { 15729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams ArrayList<Integer> list = new ArrayList<Integer>(); 15829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams list.add(100); 15929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 16029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putIntegerArrayList("foo", new ArrayList<Integer>(list)); 16129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Assert.assertEquals(list, bundle.getIntegerArrayList("foo")); 16229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getIntegerArrayList("bar")); 16329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 16429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 16529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 16629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testBundle() { 16729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Bundle innerBundle = new Bundle(); 16829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams innerBundle.putInt("int", 7); 16929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putBundle("bundle", innerBundle); 17029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 17129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertEquals(innerBundle, bundle.getBundle("bundle")); 17229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getBundle("bar")); 17329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 17429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 17529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 17629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testBooleanArray() { 17729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams boolean [] arr = new boolean[] { false, true }; 17829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putBooleanArray("foo", arr); 17929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 18029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertArrayEquals(arr, bundle.getBooleanArray("foo")); 18129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getBooleanArray("bar")); 18229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 18329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 18429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 18529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testByteArray() { 18629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams byte [] arr = new byte[] { 12, 24 }; 18729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putByteArray("foo", arr); 18829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 18929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Assert.assertArrayEquals(arr, bundle.getByteArray("foo")); 19029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getByteArray("bar")); 19129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 19229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 19329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 19429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testCharArray() { 19529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams char [] arr = new char[] { 'c', 'j' }; 19629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putCharArray("foo", arr); 19729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 19829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Assert.assertArrayEquals(arr, bundle.getCharArray("foo")); 19929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getCharArray("bar")); 20029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 20129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 20229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 20329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testDoubleArray() { 20429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams double [] arr = new double[] { 1.2, 3.4 }; 20529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putDoubleArray("foo", arr); 20629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 20729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertArrayEquals(arr, bundle.getDoubleArray("foo")); 20829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getDoubleArray("bar")); 20929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 21029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 21129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 21229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testIntArray() { 21329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams int [] arr = new int[] { 87, 65 }; 21429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putIntArray("foo", arr); 21529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 21629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Assert.assertArrayEquals(arr, bundle.getIntArray("foo")); 21729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getIntArray("bar")); 21829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 21929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 22029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 22129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testLongArray() { 22229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams long [] arr = new long[] { 23, 11 }; 22329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putLongArray("foo", arr); 22429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 22529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Assert.assertArrayEquals(arr, bundle.getLongArray("foo")); 22629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getLongArray("bar")); 22729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 22829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 22929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 23029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testShortArray() { 23129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams short [] arr = new short[] { 89, 37 }; 23229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putShortArray("foo", arr); 23329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 23429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Assert.assertArrayEquals(arr, bundle.getShortArray("foo")); 23529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getShortArray("bar")); 23629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 23729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 23829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 23929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testParcelableArray() { 24029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Bundle innerBundle = new Bundle(); 24129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams innerBundle.putInt("value", 1); 24229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Parcelable[] arr = new Parcelable[] { innerBundle }; 24329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putParcelableArray("foo", arr); 24429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 24529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Assert.assertArrayEquals(arr, bundle.getParcelableArray("foo")); 24629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams assertNull(bundle.getParcelableArray("bar")); 24729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 24829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 24929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams @Test 25029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public void testCopyConstructor() { 25129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams bundle.putInt("value", 1); 25229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Bundle copiedBundle = new Bundle(bundle); 25329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 25429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams Assert.assertEquals(copiedBundle, bundle); 25529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 25629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 25729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams private void assertArrayEquals(double[] expected, double[] actual) { 25829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams if (expected != null && actual == null) { 25929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams throw new AssertionFailedError(); 26029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } else if (expected == null && actual != null) { 26129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams throw new AssertionFailedError(); 26229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } else { 26329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams for (int i = 0; i < expected.length; i++) { 26429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams if (expected[i] != actual[i]) 26529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams throw new AssertionFailedError(); 26629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 26729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 26829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams if (expected.length != actual.length) 26929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams throw new AssertionFailedError(); 2703f465d3c0b9bcae23d11344e53b398b3cad99761Jon Boekenoogen } 27129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 27229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 27329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams private void assertArrayEquals(boolean[] expected, boolean[] actual) { 27429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams if (expected != null && actual == null) { 27529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams throw new AssertionFailedError(); 27629a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } else if (expected == null && actual != null) { 27729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams throw new AssertionFailedError(); 27829a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } else { 27929a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams for (int i = 0; i < expected.length; i++) { 28029a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams if (expected[i] != actual[i]) 28129a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams throw new AssertionFailedError(); 28229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 28329a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams 28429a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams if (expected.length != actual.length) 28529a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams throw new AssertionFailedError(); 2863f465d3c0b9bcae23d11344e53b398b3cad99761Jon Boekenoogen } 28729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 2884d354c4c5fea070c0975822f25b3bbcf470ff0dfTyler Schultz} 289