Skip to content

Commit 197937e

Browse files
HeniganHenigan
authored andcommitted
Add QueryID Tests
1 parent 3803831 commit 197937e

2 files changed

Lines changed: 115 additions & 0 deletions

File tree

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.smartdevicelink.protocol.enums.FrameDataControlFrameType;
55
import com.smartdevicelink.protocol.enums.FrameType;
66
import com.smartdevicelink.protocol.enums.QueryErrorCode;
7+
import com.smartdevicelink.protocol.enums.QueryID;
78
import com.smartdevicelink.protocol.enums.QueryType;
89
import com.smartdevicelink.protocol.enums.SessionType;
910
import com.smartdevicelink.proxy.rpc.*;
@@ -151,6 +152,29 @@ public static boolean validateQueryTypeArray(QueryType[] array1, QueryType[] arr
151152
return true;
152153
}
153154

155+
public static boolean validateQueryIDArray(QueryID[] array1, QueryID[] array2) {
156+
157+
if (array1 == null) {
158+
return (array2 == null);
159+
}
160+
161+
if (array2 == null) {
162+
return (array1 == null);
163+
}
164+
165+
if (array1.length != array2.length) {
166+
return false;
167+
}
168+
169+
for (int i = 0; i < array1.length; i++) {
170+
if (array1[i] != array2[i]) {
171+
return false;
172+
}
173+
}
174+
175+
return true;
176+
}
177+
154178
public static boolean validateQueryErrorCodeArray(QueryErrorCode[] array1, QueryErrorCode[] array2) {
155179

156180
if (array1 == null) {
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
package com.smartdevicelink.test.protocol.enums;
2+
3+
import com.smartdevicelink.protocol.enums.QueryID;
4+
import com.smartdevicelink.test.Validator;
5+
6+
import junit.framework.TestCase;
7+
8+
import java.util.Vector;
9+
10+
public class QueryIDTests extends TestCase {
11+
12+
private Vector<QueryID> list = QueryID.getList();
13+
14+
public void testValidEnums() {
15+
final byte[] SEND_HANDSHAKE_DATA_BYTES = {(byte) 0x00, (byte) 0x00, (byte) 0x01};
16+
final String SEND_HANDSHAKE_DATA_STRING = "SEND_HANDSHAKE_DATA";
17+
18+
final byte[] SEND_INTERNAL_ERROR_BYTES = {(byte) 0x00, (byte) 0x00, (byte) 0x02};
19+
final String SEND_INTERNAL_ERROR_STRING = "SEND_INTERNAL_ERROR";
20+
21+
final byte[] INVALID_QUERY_ID_BYTES = {(byte) 0xFF, (byte) 0xFF, (byte) 0xFF};
22+
final String INVALID_QUERY_ID_STRING = "INVALID_QUERY_ID";
23+
24+
try {
25+
assertNotNull("QueryID list returned null", list);
26+
27+
QueryID enumHandshakeData = (QueryID) QueryID.get(list, SEND_HANDSHAKE_DATA_BYTES);
28+
QueryID enumInternalError = (QueryID) QueryID.get(list, SEND_INTERNAL_ERROR_BYTES);
29+
QueryID enumInvalidQueryId = (QueryID) QueryID.get(list, INVALID_QUERY_ID_BYTES);
30+
31+
assertNotNull("Send Handshake Data byte match returned null", enumHandshakeData);
32+
assertNotNull("Send Internal Error byte match returned null", enumInternalError);
33+
assertNotNull("Send Invalid QueryID byte match returned null", enumInvalidQueryId);
34+
35+
enumHandshakeData = (QueryID) QueryID.get(list, SEND_HANDSHAKE_DATA_STRING);
36+
enumInternalError = (QueryID) QueryID.get(list, SEND_INTERNAL_ERROR_STRING);
37+
enumInvalidQueryId = (QueryID) QueryID.get(list, INVALID_QUERY_ID_STRING);
38+
39+
assertNotNull("Send Handshake Data string match returned null", enumHandshakeData);
40+
assertNotNull("Send Internal Error string match returned null", enumInternalError);
41+
assertNotNull("Send Invalid QueryID string match returned null", enumInvalidQueryId);
42+
} catch(NullPointerException exception) {
43+
fail("Null enum list throws NullPointerException.");
44+
}
45+
}
46+
47+
public void testInvalidEnum() {
48+
49+
final byte[] INVALID_BYTE_ARRAY = {(byte) 0xAB, (byte) 0xAB, (byte) 0xAB};
50+
final String INVALID_STRING = "Invalid";
51+
52+
try {
53+
QueryID enumInvalid = (QueryID) QueryID.get(list, INVALID_BYTE_ARRAY);
54+
assertNull("Invalid byte[] match didn't return null", enumInvalid);
55+
56+
enumInvalid = (QueryID) QueryID.get(list, INVALID_STRING);
57+
assertNull("Invalid string match didn't return null", enumInvalid);
58+
} catch (IllegalArgumentException exception) {
59+
fail("Invalid enum throws IllegalArgumentException.");
60+
}
61+
}
62+
63+
public void testNullEnum() {
64+
try {
65+
QueryID enumNull = (QueryID) QueryID.get(list, (String) null);
66+
assertNull("Null lookup returns a null string value", enumNull);
67+
68+
enumNull = (QueryID) QueryID.get(list, (byte[]) null);
69+
assertNull("Null lookup returns a null byte[] value", enumNull);
70+
}catch (NullPointerException exception) {
71+
fail("Null string throws NullPointerException.");
72+
}
73+
}
74+
75+
public void testListEnum() {
76+
Vector<QueryID> enumTestList = new Vector<>();
77+
enumTestList.add(QueryID.SEND_HANDSHAKE_DATA);
78+
enumTestList.add(QueryID.SEND_INTERNAL_ERROR);
79+
enumTestList.add(QueryID.INVALID_QUERY_ID);
80+
81+
assertTrue("List does not match enum test list.",
82+
list.containsAll(enumTestList) &&
83+
enumTestList.containsAll(list));
84+
85+
QueryID[] enumValueArray = QueryID.values();
86+
QueryID[] enumTestArray = {QueryID.SEND_HANDSHAKE_DATA, QueryID.SEND_INTERNAL_ERROR, QueryID.INVALID_QUERY_ID};
87+
assertTrue("Array does not match enum values array.",
88+
Validator.validateQueryIDArray(enumValueArray, enumTestArray));
89+
}
90+
91+
}

0 commit comments

Comments
 (0)