package com.google.gwt.maps.client.placelib;
/*
* #%L
* GWT Maps API V3 - Core API
* %%
* Copyright (C) 2011 - 2012 GWT Maps API V3
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
import java.util.ArrayList;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.maps.client.AbstractMapsGWTTestHelper;
import com.google.gwt.maps.client.LoadApi;
import com.google.gwt.maps.client.MapOptions;
import com.google.gwt.maps.client.MapTypeId;
import com.google.gwt.maps.client.MapWidget;
import com.google.gwt.maps.client.LoadApi.LoadLibrary;
import com.google.gwt.maps.client.base.LatLng;
import com.google.gwt.maps.client.base.LatLngBounds;
import com.google.gwt.maps.client.placeslib.AutocompleteType;
import com.google.gwt.maps.client.placeslib.PlaceDetailsHandler;
import com.google.gwt.maps.client.placeslib.PlaceDetailsRequest;
import com.google.gwt.maps.client.placeslib.PlaceResult;
import com.google.gwt.maps.client.placeslib.PlaceSearchRequest;
import com.google.gwt.maps.client.placeslib.PlacesService;
import com.google.gwt.maps.client.placeslib.PlacesServiceStatus;
public class PlaceResultGwtTest extends AbstractMapsGWTTestHelper {
@Override
public LoadLibrary[] getLibraries() {
return new LoadLibrary[] { LoadLibrary.PLACES };
}
@SuppressWarnings("unused")
public void testUse() {
asyncLibTest(new Runnable() {
@Override
public void run() {
PlaceSearchRequest o = PlaceSearchRequest.newInstance();
finishTest();
}
});
}
public void testBounds() {
asyncLibTest(new Runnable() {
@Override
public void run() {
PlaceSearchRequest o = PlaceSearchRequest.newInstance();
LatLng sw = LatLng.newInstance(-31.203405d, 125.244141d);
LatLng ne = LatLng.newInstance(-25.363882d, 131.044922d);
LatLngBounds left = LatLngBounds.newInstance(sw, ne);
o.setBounds(left);
LatLngBounds right = o.getBounds();
assertEquals(left.getToString(), right.getToString());
finishTest();
}
});
}
public void testkeyword() {
ArrayList<LoadLibrary> loadLibraries = new ArrayList<LoadApi.LoadLibrary>();
loadLibraries.add(LoadLibrary.PLACES);
asyncLibTest(new Runnable() {
@Override
public void run() {
PlaceSearchRequest o = PlaceSearchRequest.newInstance();
String left = "test";
o.setKeyword(left);
String right = o.getKeyword();
assertEquals(left, right);
finishTest();
}
});
}
public void testlocation() {
asyncLibTest(new Runnable() {
@Override
public void run() {
PlaceSearchRequest o = PlaceSearchRequest.newInstance();
LatLng left = LatLng.newInstance(35, 38);
o.setLocation(left);
LatLng right = o.getLocation();
assertEquals(left.getToString(), right.getToString());
finishTest();
}
});
}
public void testName() {
asyncLibTest(new Runnable() {
@Override
public void run() {
PlaceSearchRequest o = PlaceSearchRequest.newInstance();
String left = "test";
o.setName(left);
String right = o.getName();
assertEquals(left, right);
finishTest();
}
});
}
public void testRaidus() {
asyncLibTest(new Runnable() {
@Override
public void run() {
PlaceSearchRequest o = PlaceSearchRequest.newInstance();
double left = 10.02;
o.setRadius(left);
double right = o.getRadius();
assertEquals(left, right);
finishTest();
}
});
}
public void testTypes() {
asyncLibTest(new Runnable() {
@Override
public void run() {
PlaceSearchRequest o = PlaceSearchRequest.newInstance();
AutocompleteType[] left = new AutocompleteType[2];
left[0] = AutocompleteType.ESTABLISHMENT;
left[1] = AutocompleteType.GEOCODE;
o.setTypes(left);
AutocompleteType[] right = o.getTypes();
assertEquals(left.length, right.length);
assertEquals(left[0].value(), right[0].value());
finishTest();
}
});
}
public void testTypes2() {
asyncLibTest(new Runnable() {
@Override
public void run() {
PlaceSearchRequest o = PlaceSearchRequest.newInstance();
AutocompleteType left = AutocompleteType.ESTABLISHMENT;
o.setTypes(left);
AutocompleteType[] right = o.getTypes();
assertEquals(left.value(), right[0].value());
finishTest();
}
});
}
public void testGetDetailsPlaceResult() {
asyncLibTest(new Runnable() {
@Override
public void run() {
LatLng center = LatLng.newInstance(47.60346, -122.33571);
MapOptions opts = MapOptions.newInstance();
opts.setZoom(16);
opts.setCenter(center);
opts.setMapTypeId(MapTypeId.HYBRID);
MapWidget mapWidget = new MapWidget(opts);
PlacesService placeService = PlacesService.newInstance(mapWidget);
PlaceDetailsRequest request = PlaceDetailsRequest.newInstance();
request.setReference("CpQBjgAAAFCaT73TRgKBKFaeNsvq-wGNIErZoG1kSxvtgrDH6TDaDNBZsb2PDKKxWqmKHZr8kIo_JIzK8CEFgGb"
+ "Luyt1BsdUR20ZiCg3CAXkkLxh2Q08mAzNN7Ai7WzUixXOHjnbnlm6WV-NpFhbJyTPgsV_2l-AfUlyt_SbleAsUUWtdxJTp0HPHWEnQ"
+ "ZNPvcnmQ-lpRRIQZfKps0iYL5VOEBD5dQDF9xoUGgMSwqd1H9CNcwZsbVo1IY4BU44");
placeService.getDetails(request, new PlaceDetailsHandler() {
public void onCallback(PlaceResult result, PlacesServiceStatus status) {
String s = new JSONObject(result).toString();
System.out.println(s);
String s1 = new JSONObject(result.getOpeningHours()).toString();
System.out.println(s1);
String s2 = new JSONObject(result.getOpeningHours().getPeriods().get(0)).toString();
System.out.println(s2);
String s3 = new JSONObject(result.getOpeningHours().getPeriods().get(0).getOpen()).toString();
System.out.println(s3);
String s4 = new JSONObject(result.getReviews()).toString();
System.out.println(s4);
assertEquals(-480, result.getUtcOffset());
assertTrue(result.getOpeningHours() != null);
assertTrue(result.getOpeningHours().getPeriods().length() > 0);
assertTrue(result.getOpeningHours().getPeriods().get(0).getOpen() != null);
assertTrue(result.getOpeningHours().getPeriods().get(0).getClose() != null);
assertTrue(result.getOpeningHours().getPeriods().get(0).getOpen().getDay() == 0);
assertTrue(result.getOpeningHours().getPeriods().get(0).getClose().getTime() != null);
assertTrue(result.getOpeningHours().getPeriods().get(0).getOpen().getMinutes() == 0);
assertTrue(result.getReviews().length() > 0);
assertTrue(result.getReviews().get(0).getAspects().length() > 0);
assertTrue(result.getReviews().get(0).getAspects().get(0).getRating() > 0);
assertTrue(result.getReviews().get(0).getAspects().get(0).getType() != null);
assertTrue(result.getReviews().get(0).getAuthorUrl() != null);
assertTrue(result.getReviews().get(0).getAuthorName() != null);
assertTrue(result.getReviews().get(0).getText() != null);
finishTest();
}
});
}
});
}
}