|
| 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