summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Kirk <askirk@umich.edu>2018-06-05 17:01:38 -0400
committerAustin Kirk <askirk@umich.edu>2018-06-05 17:01:38 -0400
commit680dc1d239f6f91e0db799a72cdf95c696350331 (patch)
tree17935cada63853f498e85d669c0cb83ca8fa3fbd
parentc2b524d7f436458552b90c5601f11ec8d98c11b7 (diff)
downloadsdl_android-680dc1d239f6f91e0db799a72cdf95c696350331.tar.gz
Adding tests for BSON payloads in SdlPacket
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlPacketTests.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlPacketTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlPacketTests.java
new file mode 100644
index 000000000..674f5cd95
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/protocol/SdlPacketTests.java
@@ -0,0 +1,50 @@
+package com.smartdevicelink.protocol;
+
+import android.test.AndroidTestCase;
+
+public class SdlPacketTests extends AndroidTestCase {
+ //TODO: Add tests to cover other parts of SdlPacket class
+
+ public void testNull(){
+ byte[] testPayload = hexStringToByteArray(
+ "16000000" +
+ "02" +
+ "68656c6c6f" +"00" + // hello
+ "06000000" + "776f726c64" + "00" + //world
+ "00");
+ String tag = "hello";
+
+
+ SdlPacket sdlPacket = new SdlPacket();
+ assertNull(sdlPacket.getTag(tag));
+ sdlPacket.setPayload(testPayload);
+ assertEquals(sdlPacket.getTag("hello"),"world");
+ }
+
+ public void testBsonDecoding(){
+ SdlPacket sdlPacket = new SdlPacket();
+ // Test payload from core representing hashId and mtu size
+ byte[] testPayload = hexStringToByteArray("39000000" +
+ "10" +
+ "68617368496400" +
+ "01000100" +
+ "126d747500" +
+ "00000002" +
+ "70726f746f636f6c56657273" +
+ "696f6e0006000000352e302e300000");
+ sdlPacket.setPayload(testPayload);
+ assertEquals(sdlPacket.getTag("hashId"), 65537);
+ assertEquals((long) sdlPacket.getTag("mtu"), (long) 33554432);
+ }
+
+ // Helper method for converting String to Byte Array
+ private static byte[] hexStringToByteArray(String s) {
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+}