@Test public void shouldConnectCorrectly() { PlacesResult result; // Test access denied response places.setApiKey("WRONG_API_KEY"); result = places.search( PICCADILLY_LAT, PICCADILLY_LONG, RADIUS, PlacesQueryOptions.create().types(PLACE_TYPES), false); assertEquals("REQUEST_DENIED", result.getStatus()); assertEquals(false, result.isOkay()); // Test success connection places.setApiKey(API_KEY); result = places.search( PICCADILLY_LAT, PICCADILLY_LONG, RADIUS, PlacesQueryOptions.create().types(PLACE_TYPES), false); assertEquals("OK", result.getStatus()); assertEquals(true, result.isOkay()); }
@Test public void shouldSearchNearbyPlacesCorrectly() { GooglePlaces places = new GooglePlaces(API_KEY); boolean searchResultIsEmpty = true; // Search places nearby PlacesResult result = places.search( PICCADILLY_LAT, PICCADILLY_LONG, RADIUS, PlacesQueryOptions.create().types(PLACE_TYPES), false); assertEquals(true, result.isOkay()); // Foreach all result places and compare results to detail responses by separated Google Places // API call for (Place place : result) { String reference = place.getReference(); String id = place.getId(); String name = place.getName(); float latitude = place.getGeometry().getLocation().getLatitude(); float longitude = place.getGeometry().getLocation().getLongitude(); // Send Google Places Detail request PlaceDetailResult detailResult = places.detail(reference, false); assertEquals(true, detailResult.isOkay()); // Compare detail request result to the previously received Nearby search request assertEquals(id, detailResult.getResult().getId()); assertEquals(name, detailResult.getResult().getName()); assertEquals(latitude, detailResult.getResult().getGeometry().getLocation().getLatitude()); assertEquals(longitude, detailResult.getResult().getGeometry().getLocation().getLongitude()); // Set result is not empty flag to false searchResultIsEmpty = false; } // There always must be something near Piccadilly Circus assertEquals(false, searchResultIsEmpty); }