4242import androidx .test .ext .junit .runners .AndroidJUnit4 ;
4343
4444import com .smartdevicelink .R ;
45+ import com .smartdevicelink .proxy .rpc .VehicleType ;
46+ import com .smartdevicelink .test .TestValues ;
4547import com .smartdevicelink .util .SdlAppInfo ;
4648
4749import org .junit .Before ;
4850import org .junit .Test ;
4951import org .junit .runner .RunWith ;
5052
5153import java .util .ArrayList ;
54+ import java .util .Arrays ;
5255import java .util .Collections ;
5356import java .util .List ;
5457
5558import static androidx .test .platform .app .InstrumentationRegistry .getInstrumentation ;
59+ import static junit .framework .Assert .assertTrue ;
5660import static junit .framework .TestCase .assertEquals ;
5761import static junit .framework .TestCase .assertFalse ;
5862import static junit .framework .TestCase .assertNotNull ;
@@ -85,7 +89,7 @@ public void setUp() throws Exception {
8589 @ Test
8690 public void testConstructorWithDefaultData () {
8791
88- SdlAppInfo info = new SdlAppInfo (defaultResolveInfo , defaultPackageInfo );
92+ SdlAppInfo info = new SdlAppInfo (defaultResolveInfo , defaultPackageInfo , context );
8993
9094 assertNotNull (info );
9195
@@ -105,10 +109,10 @@ public void testConstructorWithDefaultData() {
105109 */
106110 @ Test
107111 public void testCompareVersion () {
108- SdlAppInfo defaultInfo = new SdlAppInfo (defaultResolveInfo , defaultPackageInfo );
112+ SdlAppInfo defaultInfo = new SdlAppInfo (defaultResolveInfo , defaultPackageInfo , context );
109113
110114 int newVersion = context .getResources ().getInteger (R .integer .sdl_router_service_version_value ) + 1 ;
111- SdlAppInfo testInfo = new SdlAppInfo (createResolveInfo (newVersion , "com.smartdevicelink.test2" , "com.smartdevicelink.test2.SdlRouterService" , false ), defaultPackageInfo );
115+ SdlAppInfo testInfo = new SdlAppInfo (createResolveInfo (newVersion , "com.smartdevicelink.test2" , "com.smartdevicelink.test2.SdlRouterService" , false ), defaultPackageInfo , context );
112116
113117 List <SdlAppInfo > infos = new ArrayList <>();
114118 infos .add (defaultInfo );
@@ -126,10 +130,10 @@ public void testCompareVersion() {
126130 */
127131 @ Test
128132 public void testCompareVersionAndCustom () {
129- SdlAppInfo defaultInfo = new SdlAppInfo (defaultResolveInfo , defaultPackageInfo );
133+ SdlAppInfo defaultInfo = new SdlAppInfo (defaultResolveInfo , defaultPackageInfo , context );
130134
131135 int newVersion = context .getResources ().getInteger (R .integer .sdl_router_service_version_value ) + 1 ;
132- SdlAppInfo testInfo = new SdlAppInfo (createResolveInfo (newVersion , "com.smartdevicelink.test2" , "com.smartdevicelink.test2.SdlRouterService" , true ), defaultPackageInfo );
136+ SdlAppInfo testInfo = new SdlAppInfo (createResolveInfo (newVersion , "com.smartdevicelink.test2" , "com.smartdevicelink.test2.SdlRouterService" , true ), defaultPackageInfo , context );
133137
134138 List <SdlAppInfo > infos = new ArrayList <>();
135139 infos .add (defaultInfo );
@@ -147,12 +151,12 @@ public void testCompareVersionAndCustom() {
147151 */
148152 @ Test
149153 public void testCompareUpdatedTime () {
150- SdlAppInfo defaultInfo = new SdlAppInfo (defaultResolveInfo , defaultPackageInfo );
154+ SdlAppInfo defaultInfo = new SdlAppInfo (defaultResolveInfo , defaultPackageInfo , context );
151155
152156 PackageInfo packageInfo = new PackageInfo ();
153157 packageInfo .firstInstallTime = defaultPackageInfo .firstInstallTime ;
154158 packageInfo .lastUpdateTime = defaultPackageInfo .lastUpdateTime + 500 ;
155- SdlAppInfo testInfo = new SdlAppInfo (defaultResolveInfo , packageInfo );
159+ SdlAppInfo testInfo = new SdlAppInfo (defaultResolveInfo , packageInfo , context );
156160
157161 List <SdlAppInfo > infos = new ArrayList <>();
158162 infos .add (defaultInfo );
@@ -179,5 +183,106 @@ public ResolveInfo createResolveInfo(int routerServiceVersion, String packageNam
179183 return info ;
180184 }
181185
186+ @ Test
187+ public void testDeserializeVehicleInfo () {
188+ VehicleType type = new VehicleType ();
189+ type .setMake ("SDL" );
190+ type .setModel ("Car" );
191+ type .setModelYear ("2019" );
192+ type .setTrim ("GT" );
193+ List <VehicleType > deserializedList = SdlAppInfo .deserializeSupportedVehicles (getInstrumentation ().getContext ().getResources ().getXml (com .smartdevicelink .test .R .xml .supported_vehicle_type ));
194+ assertTrue (deserializedList .contains (type ));
195+ assertEquals (1 , deserializedList .size ());
196+ }
197+
198+ @ Test
199+ public void testVehicleTypeSupported () {
200+ // tests check with all params
201+ VehicleType type1 = new VehicleType ();
202+ type1 .setMake (TestValues .GENERAL_STRING );
203+ type1 .setModel (TestValues .GENERAL_STRING );
204+ type1 .setMake (TestValues .GENERAL_STRING );
205+ type1 .setTrim (TestValues .GENERAL_STRING );
206+
207+ VehicleType type2 = new VehicleType ();
208+ type2 .setMake (TestValues .GENERAL_STRING );
209+ type2 .setModel (TestValues .GENERAL_STRING );
210+ type2 .setModelYear (TestValues .GENERAL_INTEGER .toString ());
211+ type2 .setTrim (TestValues .GENERAL_STRING );
212+
213+ List <VehicleType > supportedVehicleList = Arrays .asList (type1 , type2 );
214+ assertTrue (SdlAppInfo .checkIfVehicleSupported (supportedVehicleList , type2 ));
215+
216+ // tests check with not all params in connectedVehicle
217+ VehicleType connectedVehicle = new VehicleType ();
218+
219+ // make only param
220+ connectedVehicle .setMake (TestValues .GENERAL_STRING );
221+ assertTrue (SdlAppInfo .checkIfVehicleSupported (supportedVehicleList , connectedVehicle ));
222+
223+ // make and model params
224+ connectedVehicle .setModel (TestValues .GENERAL_STRING );
225+ assertTrue (SdlAppInfo .checkIfVehicleSupported (supportedVehicleList , connectedVehicle ));
226+
227+ // make, model and year params
228+ connectedVehicle .setModelYear (TestValues .GENERAL_STRING );
229+ assertTrue (SdlAppInfo .checkIfVehicleSupported (supportedVehicleList , connectedVehicle ));
230+
231+ // make, model and trim params
232+ connectedVehicle .setModelYear (null );
233+ connectedVehicle .setTrim (TestValues .GENERAL_STRING );
234+ assertTrue (SdlAppInfo .checkIfVehicleSupported (supportedVehicleList , connectedVehicle ));
235+
236+ // tests check with not all params in supportedVehicle
237+ VehicleType supportedVehicle = new VehicleType ();
238+ supportedVehicle .setMake (TestValues .GENERAL_STRING );
239+
240+ // make param only
241+ assertTrue (SdlAppInfo .checkIfVehicleSupported (Collections .singletonList (supportedVehicle ), connectedVehicle ));
242+
243+ // make and model params
244+ supportedVehicle .setModel (TestValues .GENERAL_STRING );
245+ assertTrue (SdlAppInfo .checkIfVehicleSupported (Collections .singletonList (supportedVehicle ), connectedVehicle ));
246+
247+ // make, model and trim params
248+ supportedVehicle .setTrim (TestValues .GENERAL_STRING );
249+ assertTrue (SdlAppInfo .checkIfVehicleSupported (Collections .singletonList (supportedVehicle ), connectedVehicle ));
250+
251+ // make, model and trim params
252+ supportedVehicle .setTrim (TestValues .GENERAL_STRING );
253+ assertTrue (SdlAppInfo .checkIfVehicleSupported (Collections .singletonList (supportedVehicle ), connectedVehicle ));
254+
255+ // make, model and trim params
256+ connectedVehicle .setTrim (null );
257+ connectedVehicle .setModelYear (TestValues .GENERAL_INTEGER .toString ());
258+ supportedVehicle .setModelYear (TestValues .GENERAL_INTEGER .toString ());
259+ assertTrue (SdlAppInfo .checkIfVehicleSupported (Collections .singletonList (supportedVehicle ), connectedVehicle ));
260+ }
261+
262+ @ Test
263+ public void testVehicleTypeNotSupported () {
264+ VehicleType type1 = new VehicleType ();
265+
266+ type1 .setModel (TestValues .GENERAL_STRING );
267+ type1 .setMake (TestValues .GENERAL_INTEGER .toString ());
268+ type1 .setTrim (TestValues .GENERAL_STRING );
269+ type1 .setModelYear (TestValues .GENERAL_STRING );
270+
271+ VehicleType type2 = new VehicleType ();
272+
273+ type2 .setModel (TestValues .GENERAL_STRING );
274+ type2 .setMake (TestValues .GENERAL_INTEGER .toString ());
275+ type2 .setTrim (TestValues .GENERAL_STRING );
276+ type2 .setModelYear (TestValues .GENERAL_STRING );
277+
278+ VehicleType type3 = new VehicleType ();
279+
280+ type3 .setModel (TestValues .GENERAL_STRING );
281+ type3 .setMake (TestValues .GENERAL_STRING );
282+ type3 .setTrim (TestValues .GENERAL_STRING );
283+ type3 .setModelYear (TestValues .GENERAL_INTEGER .toString ());
284+
285+ assertFalse (SdlAppInfo .checkIfVehicleSupported (Arrays .asList (type1 , type2 ), type3 ));
286+ }
182287
183288}
0 commit comments