### Question:
GeoPoint implements IGeoPoint, MathConstants, GeoConstants, Parcelable, Serializable, Cloneable { public GeoPoint destinationPoint(final double aDistanceInMeters, final double aBearingInDegrees) { final double dist = aDistanceInMeters / RADIUS_EARTH_METERS; final double brng = DEG2RAD * aBearingInDegrees; final double lat1 = DEG2RAD * getLatitude(); final double lon1 = DEG2RAD * getLongitude(); final double lat2 = Math.asin(Math.sin(lat1) * Math.cos(dist) + Math.cos(lat1) * Math.sin(dist) * Math.cos(brng)); final double lon2 = lon1 + Math.atan2(Math.sin(brng) * Math.sin(dist) * Math.cos(lat1), Math.cos(dist) - Math.sin(lat1) * Math.sin(lat2)); final double lat2deg = lat2 / DEG2RAD; final double lon2deg = lon2 / DEG2RAD; return new GeoPoint(lat2deg, lon2deg); } @Deprecated  GeoPoint(final int aLatitudeE6, final int aLongitudeE6); @Deprecated  GeoPoint(final int aLatitudeE6, final int aLongitudeE6, final int aAltitude);  GeoPoint(final double aLatitude, final double aLongitude);  GeoPoint(final double aLatitude, final double aLongitude, final double aAltitude);  GeoPoint(final Location aLocation);  GeoPoint(final GeoPoint aGeopoint);  GeoPoint(final IGeoPoint pGeopoint); private  GeoPoint(final Parcel in); static GeoPoint fromDoubleString(final String s, final char spacer); static GeoPoint fromInvertedDoubleString(final String s, final char spacer); @Deprecated static GeoPoint fromIntString(final String s); @Override double getLongitude(); @Override double getLatitude(); double getAltitude(); void setLatitude(final double aLatitude); void setLongitude(final double aLongitude); void setAltitude(final double aAltitude); void setCoords(final double aLatitude, final double aLongitude); @Override GeoPoint clone(); String toIntString(); @Override String toString(); @Override boolean equals(final Object obj); @Override int hashCode(); @Override int describeContents(); @Override void writeToParcel(final Parcel out, final int flags); double distanceToAsDouble(final IGeoPoint other); double bearingTo(final IGeoPoint other); GeoPoint destinationPoint(final double aDistanceInMeters, final double aBearingInDegrees); static GeoPoint fromCenterBetween(final GeoPoint geoPointA, final GeoPoint geoPointB); String toDoubleString(); String toInvertedDoubleString(); @Deprecated @Override int getLatitudeE6(); @Deprecated @Override int getLongitudeE6(); static final Parcelable.Creator<GeoPoint> CREATOR; }### Answer:
@Test public void test_destinationPoint_north_west_here() { final GeoPoint start = new GeoPoint(52.387524, 4.891604); final GeoPoint end = new GeoPoint(52.3906999098817, 4.886399738626785); assertEquals("destinationPoint north west", end, start.destinationPoint(500, -45)); }