package com.crossbow.wear.core;
import android.test.suitebuilder.annotation.SmallTest;
import junit.framework.TestCase;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.Serializable;
import java.util.Arrays;
import com.crossbow.wear.core.ParamsBundle;
import org.junit.Assert;
import org.junit.Test;
import static org.junit.Assert.*;
public class ParamsBundleTest {
@Test
@SmallTest
public void testParamsBundleTest() throws IOException {
ParamsBundle paramsBundle = new ParamsBundle();
paramsBundle.putInt("1", 2);
paramsBundle.putLong("2", 4l);
paramsBundle.putDouble("3", 6d);
paramsBundle.putFloat("4", 7f);
paramsBundle.putBoolean("5", true);
paramsBundle.putSerializable("6", "test-serializable");
paramsBundle.putChar("7", 't');
paramsBundle.putString("8", "putString");
paramsBundle.putCharSequence("9", "putCharSequence");
paramsBundle.putCharArray("10", new char[]{'t', 'u'});
paramsBundle.putIntArray("11", new int[]{87645, 257527});
paramsBundle.putLongArray("12", new long[]{858, 942});
paramsBundle.putDoubleArray("13", new double[]{12d, 3.14d});
paramsBundle.putFloatArray("14", new float[]{3f, 8f});
paramsBundle.putByteArray("15", new byte[]{0x34, 0x54});
paramsBundle.putBooleanArray("16", new boolean[]{true, false});
paramsBundle.putStringArray("17", new String[]{"String", "String-String"});
paramsBundle.putCharSequenceArray("18", new CharSequence[]{"CharSequence", "CharSequence-String"});
paramsBundle.putSerializableArray("19", new Serializable[]{"Serializable", "Serializable-String"});
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
DataOutputStream outputStream = new DataOutputStream(byteArrayOutputStream);
paramsBundle.writeToStream(outputStream);
outputStream.close();
byte[] data = byteArrayOutputStream.toByteArray();
ByteArrayInputStream inputStream = new ByteArrayInputStream(data);
DataInputStream dataInputStream = new DataInputStream(inputStream);
ParamsBundle deserialzed = ParamsBundle.readFromStream(dataInputStream);
dataInputStream.close();
assertEquals(2, deserialzed.getInt("1", 0));
assertEquals(4l, deserialzed.getLong("2", 0));
assertEquals(6d, deserialzed.getDouble("3", 0), 0.0);
assertEquals(7f, deserialzed.getFloat("4", 0), 0.0);
assertEquals(true, deserialzed.getBoolean("5", false));
assertEquals("test-serializable", deserialzed.getSerializable("6"));
assertEquals('t', deserialzed.getChar("7", 'w'));
assertEquals("putString", deserialzed.getString("8"));
assertEquals("putCharSequence", deserialzed.getCharSequence("9"));
assertTrue(Arrays.equals(new char[]{'t', 'u'}, deserialzed.getCharArray("10")));
assertTrue(Arrays.equals(new int[]{87645, 257527}, deserialzed.getIntArray("11")));
assertTrue(Arrays.equals(new long[]{858, 942}, deserialzed.getLongArray("12")));
assertTrue(Arrays.equals(new double[]{12d, 3.14d}, deserialzed.getDoubleArray("13")));
assertTrue(Arrays.equals(new float[]{3f, 8f}, deserialzed.getFloatArray("14")));
assertTrue(Arrays.equals(new byte[]{0x34, 0x54}, deserialzed.getByteArray("15")));
assertTrue(Arrays.equals(new boolean[]{true, false}, deserialzed.getBooleanArray("16")));
assertTrue(Arrays.equals(new String[]{"String", "String-String"}, deserialzed.getStringArray("17")));
assertTrue(Arrays.equals(new CharSequence[]{"CharSequence", "CharSequence-String"}, deserialzed.getCharSequenceArray("18")));
assertTrue(Arrays.equals(new Serializable[]{"Serializable", "Serializable-String"}, deserialzed.getSerializableArray("19")));
}
}