### Question:
ObservationPoint implements AsyncGeolocate.MLSLocationGetterCallback { public void setCounts(MLSJSONObject ichnaeaQueryObj) { mCellCount = ichnaeaQueryObj.getCellCount(); mWifiCount = ichnaeaQueryObj.getWifiCount(); } ObservationPoint(Location pointGPS);  ObservationPoint(String provider, Coordinate pointGPS, int wifis, int cells/*, long timestamp*/); void setMLSQuery(StumblerBundle stumbleBundle); void setCounts(MLSJSONObject ichnaeaQueryObj); void fetchMLS(boolean isWifiConnected, boolean isWifiAvailable); boolean needsToFetchMLS(); void setMLSResponseLocation(Location location); Coordinate getGPSCoordinate(); Coordinate getMLSCoordinate(); void setMLSCoordinate(Coordinate c); void errorMLSResponse(boolean stopRequesting); final Location pointGPS; public Coordinate pointMLS; public int mWifiCount; public int mCellCount; public int mTrackSegment; }### Answer:
@Test public void testSetCounts() { Location mockLocation = new Location(LocationManager.GPS_PROVIDER); { StumblerBundle bundle = new StumblerBundle(mockLocation); testObservationCounts(bundle, 0, 0); for (String bssid : new String[]{"01:23:45:67:89:ab", "23:45:67:89:ab:cd"}) { ScanResult scanResult = createScanResult(bssid, "", 0, 0, 0); bundle.addWifiData(bssid, scanResult); } testObservationCounts(bundle, 0, 2); CellInfo cellInfo = createLteCellInfo(208, 1, 12345, CellInfo.UNKNOWN_CID, 2, 31, 1); bundle.addCellData(cellInfo.getCellIdentity(), cellInfo); testObservationCounts(bundle, 1, 2); } { StumblerBundle bundle = new StumblerBundle(mockLocation); CellInfo cellInfo = createLteCellInfo(208, 1, 12345, CellInfo.UNKNOWN_CID, 2, 31, 1); bundle.addCellData(cellInfo.getCellIdentity(), cellInfo); testObservationCounts(bundle, 1, 0); } }