blob: 31560b0ac8c31c447ce3ea705c2842b8ca5dc304 [file] [log] [blame]
Jeremy Joslinab60cb62016-12-16 17:48:13 -08001package android.net;
2
3import android.net.wifi.ScanResult;
4import android.net.wifi.WifiConfiguration;
5import android.os.Parcel;
6import android.test.AndroidTestCase;
7
8public class RecommendationRequestTest extends AndroidTestCase {
9 private ScanResult[] mScanResults;
10 private WifiConfiguration mConfiguration;
11 private NetworkCapabilities mCapabilities;
12
13 @Override
14 public void setUp() throws Exception {
15 mScanResults = new ScanResult[2];
16 mScanResults[0] = new ScanResult();
17 mScanResults[1] = new ScanResult(
18 "ssid",
19 "bssid",
20 0L /*hessid*/,
21 1 /*anqpDominId*/,
22 "caps",
23 2 /*level*/,
24 3 /*frequency*/,
25 4L /*tsf*/,
26 5 /*distCm*/,
27 6 /*distSdCm*/,
28 7 /*channelWidth*/,
29 8 /*centerFreq0*/,
30 9 /*centerFreq1*/,
31 false /*is80211McRTTResponder*/);
32 mConfiguration = new WifiConfiguration();
33 mConfiguration.SSID = "RecommendationRequestTest";
34 mCapabilities = new NetworkCapabilities()
35 .removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED);
36 }
37
38 public void testParceling() throws Exception {
39 RecommendationRequest request = new RecommendationRequest.Builder()
40 .setCurrentRecommendedWifiConfig(mConfiguration)
41 .setScanResults(mScanResults)
42 .setNetworkCapabilities(mCapabilities)
43 .build();
44
45 RecommendationRequest parceled = passThroughParcel(request);
46 assertEquals(request.getCurrentSelectedConfig().SSID,
47 parceled.getCurrentSelectedConfig().SSID);
48 assertEquals(request.getRequiredCapabilities(), parceled.getRequiredCapabilities());
49 ScanResult[] parceledScanResults = parceled.getScanResults();
50 assertNotNull(parceledScanResults);
51 assertEquals(mScanResults.length, parceledScanResults.length);
52 for (int i = 0; i < mScanResults.length; i++) {
53 assertEquals(mScanResults[i].SSID, parceledScanResults[i].SSID);
54 }
55 }
56
57 public void testParceling_nullScanResults() throws Exception {
58 RecommendationRequest request = new RecommendationRequest.Builder()
59 .setCurrentRecommendedWifiConfig(mConfiguration)
60 .setNetworkCapabilities(mCapabilities)
61 .build();
62
63 RecommendationRequest parceled = passThroughParcel(request);
64 assertEquals(request.getCurrentSelectedConfig().SSID,
65 parceled.getCurrentSelectedConfig().SSID);
66 assertEquals(request.getRequiredCapabilities(), parceled.getRequiredCapabilities());
67 ScanResult[] parceledScanResults = parceled.getScanResults();
68 assertNull(parceledScanResults);
69 }
70
71 private RecommendationRequest passThroughParcel(RecommendationRequest request) {
72 Parcel p = Parcel.obtain();
73 RecommendationRequest output = null;
74 try {
75 request.writeToParcel(p, 0);
76 p.setDataPosition(0);
77 output = RecommendationRequest.CREATOR.createFromParcel(p);
78 } finally {
79 p.recycle();
80 }
81 assertNotNull(output);
82 return output;
83 }
84}