package org.deviceconnect.android.profile.spec; import android.os.Bundle; import android.support.test.runner.AndroidJUnit4; import android.test.InstrumentationTestCase; import org.junit.Test; import org.junit.runner.RunWith; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @RunWith(AndroidJUnit4.class) public class DConnectProfileSpecTest extends InstrumentationTestCase { @Test public void testDeepCopy() throws Exception { Bundle src = new Bundle(); src.putInt("int", 1); src.putLong("long", 1L); src.putDouble("double", 1d); src.putBoolean("boolean", true); src.putString("string", ""); src.putIntArray("intArray", new int[] {1, 1, 1}); src.putLongArray("longArray", new long[] {1, 1, 1}); src.putDoubleArray("doubleArray", new double[] {1, 1, 1}); src.putBooleanArray("booleanArray", new boolean[] {true, true, true}); src.putStringArray("stringArray", new String[] {"", "", ""}); Bundle srcObj = new Bundle(); srcObj.putInt("int", 1); srcObj.putLong("long", 1L); srcObj.putDouble("double", 1d); srcObj.putBoolean("boolean", true); srcObj.putString("string", ""); srcObj.putIntArray("intArray", new int[] {1, 1, 1}); srcObj.putLongArray("longArray", new long[] {1, 1, 1}); srcObj.putDoubleArray("doubleArray", new double[] {1, 1, 1}); srcObj.putBooleanArray("booleanArray", new boolean[] {true, true, true}); srcObj.putStringArray("stringArray", new String[] {"", "", ""}); src.putBundle("object", srcObj); Bundle dst = new Bundle(); DConnectProfileSpec.deepCopy(src, dst); assertThat(dst.getInt("int"), is(1)); assertThat(dst.getLong("long"), is(1L)); assertThat(dst.getDouble("double"), is(1d)); assertThat(dst.getBoolean("boolean"), is(true)); assertThat(dst.getString("string"), is("")); assertThat(dst.getIntArray("intArray"), is(new int[] {1, 1, 1})); assertThat(dst.getLongArray("longArray"), is(new long[] {1, 1, 1})); assertThat(dst.getDoubleArray("doubleArray"), is(new double[] {1, 1, 1})); assertThat(dst.getBooleanArray("booleanArray"), is(new boolean[] {true, true, true})); assertThat(dst.getStringArray("stringArray"), is(new String[] {"", "", ""})); Bundle dstObj = dst.getBundle("object"); assertThat(dstObj.getInt("int"), is(1)); assertThat(dstObj.getLong("long"), is(1L)); assertThat(dstObj.getDouble("double"), is(1d)); assertThat(dstObj.getBoolean("boolean"), is(true)); assertThat(dstObj.getString("string"), is("")); assertThat(dstObj.getIntArray("intArray"), is(new int[] {1, 1, 1})); assertThat(dstObj.getLongArray("longArray"), is(new long[] {1, 1, 1})); assertThat(dstObj.getDoubleArray("doubleArray"), is(new double[] {1, 1, 1})); assertThat(dstObj.getBooleanArray("booleanArray"), is(new boolean[] {true, true, true})); assertThat(dstObj.getStringArray("stringArray"), is(new String[] {"", "", ""})); } }