@Override public ParseGeoPoint then(Task<Location> task) { Location location = task.getResult(); return new ParseGeoPoint(location.getLatitude(), location.getLongitude()); } });
@Override public ParseGeoPoint then(Task<Location> task) { Location location = task.getResult(); return new ParseGeoPoint(location.getLatitude(), location.getLongitude()); } });
@Test(expected = IllegalArgumentException.class) public void testThreePointMinimum() { ParseGeoPoint p1 = new ParseGeoPoint(0, 0); ParseGeoPoint p2 = new ParseGeoPoint(0, 1); List<ParseGeoPoint> points = Arrays.asList(p1, p2); ParsePolygon polygon = new ParsePolygon(points); }
@Test public void testContainsPoint() { List<ParseGeoPoint> points = new ArrayList<>(); points.add(new ParseGeoPoint(0, 0)); points.add(new ParseGeoPoint(0, 1)); points.add(new ParseGeoPoint(1, 1)); points.add(new ParseGeoPoint(1, 0)); ParseGeoPoint inside = new ParseGeoPoint(0.5, 0.5); ParseGeoPoint outside = new ParseGeoPoint(10, 10); ParsePolygon polygon = new ParsePolygon(points); assertTrue(polygon.containsPoint(inside)); assertFalse(polygon.containsPoint(outside)); }
@Test public void testGetParsePolygon() { ParseObject object = new ParseObject("Test"); List<ParseGeoPoint> points = new ArrayList<>(); points.add(new ParseGeoPoint(0, 0)); points.add(new ParseGeoPoint(0, 1)); points.add(new ParseGeoPoint(1, 1)); points.add(new ParseGeoPoint(1, 0)); ParsePolygon polygon = new ParsePolygon(points); object.put("key", polygon); assertEquals(polygon, object.getParsePolygon("key")); }
@Test public void testParsePolygon() throws JSONException { List<ParseGeoPoint> points = new ArrayList<>(); points.add(new ParseGeoPoint(0, 0)); points.add(new ParseGeoPoint(0, 1)); points.add(new ParseGeoPoint(1, 1)); points.add(new ParseGeoPoint(1, 0)); ParsePolygon parsePolygon = new ParsePolygon(points); JSONObject polygonJSON = (JSONObject) testClassObject.encode(parsePolygon); assertNotNull(polygonJSON); assertEquals("Polygon", polygonJSON.getString("__type")); assertEquals(parsePolygon.coordinatesToJSONArray(), polygonJSON.getJSONArray("coordinates")); }
@Test public void testGetParseGeoPointKeyNotExist() { final ParseGeoPoint geoPoint = new ParseGeoPoint(44.484, 26.029); ParseGeoPoint geoPointAgain = new ParseGeoPoint(45.484, 27.029); final Map<String, Object> params = new HashMap<>(); params.put("key", geoPoint); ParseConfig config = new ParseConfig(params); assertNull(config.getParseGeoPoint("wrongKey")); assertSame(geoPointAgain, config.getParseGeoPoint("wrongKey", geoPointAgain)); }
@Test public void testToStringParseGeoPoint() { final ParseGeoPoint geoPoint = new ParseGeoPoint(45.484, 27.029); final Map<String, Object> params = new HashMap<>(); params.put("geoPoint", geoPoint); ParseConfig config = new ParseConfig(params); String configStr = config.toString(); assertTrue(configStr.contains("ParseGeoPoint")); assertTrue(configStr.contains("45.484")); assertTrue(configStr.contains("27.029")); }
@Test public void testParseGeoPoint() throws JSONException { ParseGeoPoint parseGeoPoint = new ParseGeoPoint(30, -20); JSONObject geoPointJSON = (JSONObject) testClassObject.encode(parseGeoPoint); assertNotNull(geoPointJSON); final double DELTA = 0.00001; assertEquals("GeoPoint", geoPointJSON.getString("__type")); assertEquals(30, geoPointJSON.getDouble("latitude"), DELTA); assertEquals(-20, geoPointJSON.getDouble("longitude"), DELTA); }
@Test public void testGetParseGeoPointKeyExistValueNotParseGeoPoint() { ParseGeoPoint geoPoint = new ParseGeoPoint(45.484, 27.029); final Map<String, Object> params = new HashMap<>(); params.put("key", 1); ParseConfig config = new ParseConfig(params); assertNull(config.getParseGeoPoint("key")); assertSame(geoPoint, config.getParseGeoPoint("key", geoPoint)); }
@Test public void testWhereNear() { ParseQuery<ParseObject> query = new ParseQuery<>("Test"); ParseGeoPoint point = new ParseGeoPoint(10, 10); query.whereNear("key", point); verifyCondition(query, "key", "$nearSphere", point); }
@Test public void testGetParseGeoPointKeyExist() { final ParseGeoPoint geoPoint = new ParseGeoPoint(44.484, 26.029); ParseGeoPoint geoPointAgain = new ParseGeoPoint(45.484, 27.029); final Map<String, Object> params = new HashMap<>(); params.put("key", geoPoint); ParseConfig config = new ParseConfig(params); ParseGeoPoint geoPointConfig = config.getParseGeoPoint("key"); assertEquals(geoPoint.getLongitude(), geoPointConfig.getLongitude(), 0.0001); assertEquals(geoPoint.getLatitude(), geoPointConfig.getLatitude(), 0.0001); assertSame(geoPointConfig, config.getParseGeoPoint("key", geoPointAgain)); }
@Test public void testEquals() { ParseGeoPoint pointA = new ParseGeoPoint(30d, 50d); ParseGeoPoint pointB = new ParseGeoPoint(30d, 50d); ParseGeoPoint pointC = new ParseGeoPoint(45d, 45d); assertTrue(pointA.equals(pointB)); assertTrue(pointA.equals(pointA)); assertTrue(pointB.equals(pointA)); assertFalse(pointA.equals(null)); assertFalse(pointA.equals(true)); assertFalse(pointA.equals(pointC)); }
@Test public void testConstructors() { ParseGeoPoint point = new ParseGeoPoint(); assertEquals(0, point.getLatitude(), 0); assertEquals(0, point.getLongitude(), 0); double lat = 1.0; double lng = 2.0; point = new ParseGeoPoint(lat, lng); assertEquals(lat, point.getLatitude(), 0); assertEquals(lng, point.getLongitude(), 0); ParseGeoPoint copy = new ParseGeoPoint(point); assertEquals(lat, copy.getLatitude(), 0); assertEquals(lng, copy.getLongitude(), 0); }
@Test public void testGetParseGeoPointKeyExistValueNull() { ParseGeoPoint geoPoint = new ParseGeoPoint(45.484, 27.029); final Map<String, Object> params = new HashMap<>(); params.put("key", JSONObject.NULL); params.put("keyAgain", null); ParseConfig config = new ParseConfig(params); assertNull(config.getParseGeoPoint("key")); assertNull(config.getParseGeoPoint("key", geoPoint)); assertNull(config.getParseGeoPoint("keyAgain")); assertNull(config.getParseGeoPoint("keyAgain", geoPoint)); }
@Test public void testWhereWithinMiles() { ParseQuery<ParseObject> query = new ParseQuery<>("Test"); ParseGeoPoint point = new ParseGeoPoint(10, 10); query.whereWithinMiles("key", point, 100.0); verifyCondition(query, "key", "$nearSphere", point); verifyCondition(query, "key", "$maxDistance", 100.0 / ParseGeoPoint.EARTH_MEAN_RADIUS_MILE); }
@Test public void testWhereWithinRadians() { ParseQuery<ParseObject> query = new ParseQuery<>("Test"); ParseGeoPoint point = new ParseGeoPoint(10, 10); query.whereWithinRadians("key", point, 100.0); verifyCondition(query, "key", "$nearSphere", point); verifyCondition(query, "key", "$maxDistance", 100.0); }
@Test public void testGetParseGeoPoint() { ParseObject object = new ParseObject("Test"); ParseGeoPoint point = new ParseGeoPoint(10, 10); object.put("key", point); assertEquals(point, object.getParseGeoPoint("key")); }
@Test public void testWhereWithinKilometers() { ParseQuery<ParseObject> query = new ParseQuery<>("Test"); ParseGeoPoint point = new ParseGeoPoint(10, 10); query.whereWithinKilometers("key", point, 100.0); verifyCondition(query, "key", "$nearSphere", point); verifyCondition(query, "key", "$maxDistance", 100.0 / ParseGeoPoint.EARTH_MEAN_RADIUS_KM); }
@Test public void testParcelable() { ParseGeoPoint point = new ParseGeoPoint(30d, 50d); Parcel parcel = Parcel.obtain(); point.writeToParcel(parcel, 0); parcel.setDataPosition(0); point = ParseGeoPoint.CREATOR.createFromParcel(parcel); assertEquals(point.getLatitude(), 30d, 0); assertEquals(point.getLongitude(), 50d, 0); } }