Add test for WifiInfo#getFrequency()

Add getFrequency() to WifiInfoTest (along with other missing getters),
and test that it is consistent with ScanResult in ScanResultTest.

Test: atest android.net.wifi.cts.ScanResultTest
Fixes: b/138929469
Merged-In: I070b16661bc72a5c5035b0b227821b680d7d71ba
(cherry picked from commit 2d504956e63eefb0a6a90844d1d00b99c097891b)

Change-Id: Ie99011acbbe66e9088f73964fd0c39d640594011
diff --git a/tests/tests/net/src/android/net/wifi/cts/ScanResultTest.java b/tests/tests/net/src/android/net/wifi/cts/ScanResultTest.java
index ccf5fe2..9bd1226 100644
--- a/tests/tests/net/src/android/net/wifi/cts/ScanResultTest.java
+++ b/tests/tests/net/src/android/net/wifi/cts/ScanResultTest.java
@@ -23,6 +23,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.net.wifi.ScanResult;
+import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.net.wifi.WifiManager.WifiLock;
 import android.platform.test.annotations.AppModeFull;
@@ -54,6 +55,8 @@
     private static final int ENABLE_WAIT_MSEC = 10000;
     private static final int SCAN_WAIT_MSEC = 10000;
     private static final int SCAN_MAX_RETRY_COUNT = 6;
+    private static final int SCAN_FIND_BSSID_MAX_RETRY_COUNT = 5;
+    private static final long SCAN_FIND_BSSID_WAIT_MSEC = 5_000L;
     private IntentFilter mIntentFilter;
     private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
         @Override
@@ -200,4 +203,31 @@
 
     }
 
+    public void testScanResultMatchesWifiInfo() throws Exception {
+        if (!WifiFeature.isWifiSupported(getContext())) {
+            // skip the test if WiFi is not supported
+            return;
+        }
+
+        // This test case should run while connected to Wifi
+        final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
+        assertNotNull(wifiInfo);
+
+        ScanResult currentNetwork = null;
+        for (int i = 0; i < SCAN_FIND_BSSID_MAX_RETRY_COUNT; i++) {
+            scanAndWait();
+            final List<ScanResult> scanResults = mWifiManager.getScanResults();
+            currentNetwork = scanResults.stream().filter(r -> r.BSSID.equals(wifiInfo.getBSSID()))
+                    .findAny().orElse(null);
+
+            if (currentNetwork != null) {
+                break;
+            }
+            Thread.sleep(SCAN_FIND_BSSID_WAIT_MSEC);
+        }
+        assertNotNull("Current network not found in scan results", currentNetwork);
+
+        assertEquals(wifiInfo.getWifiSsid(), currentNetwork.wifiSsid);
+        assertEquals(wifiInfo.getFrequency(), currentNetwork.frequency);
+    }
 }
diff --git a/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java b/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java
index 5367722..9d9b2a3 100644
--- a/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java
+++ b/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java
@@ -139,8 +139,11 @@
         }
 
         wifiInfo.getBSSID();
+        wifiInfo.getFrequency();
         wifiInfo.getIpAddress();
         wifiInfo.getLinkSpeed();
+        wifiInfo.getPasspointFqdn();
+        wifiInfo.getPasspointProviderFriendlyName();
         wifiInfo.getTxLinkSpeedMbps();
         wifiInfo.getRxLinkSpeedMbps();
         wifiInfo.getRssi();