diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/GeoPointTestUtil.java b/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/GeoPointTestUtil.java
deleted file mode 100644
index a8c4271e42f..00000000000
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/geopoint/search/GeoPointTestUtil.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.lucene.spatial.geopoint.search;
-
-import java.util.ArrayList;
-import java.util.Random;
-
-import org.apache.lucene.geo.GeoUtils;
-import org.apache.lucene.geo.Polygon;
-import org.apache.lucene.geo.Rectangle;
-
-import com.carrotsearch.randomizedtesting.RandomizedContext;
-
-// HACK: this is a wimpier version of GeoTestUtil used for now until we can
-// get all tests passing with new random number generator!
-
-final class GeoPointTestUtil {
-
- /** returns next pseudorandom latitude (anywhere) */
- public static double nextLatitude() {
- return -90 + 180.0 * random().nextDouble();
- }
-
- /** returns next pseudorandom longitude (anywhere) */
- public static double nextLongitude() {
- return -180 + 360.0 * random().nextDouble();
- }
-
- /** returns next pseudorandom latitude, kinda close to {@code otherLatitude} */
- public static double nextLatitudeNear(double otherLatitude) {
- GeoUtils.checkLatitude(otherLatitude);
- return normalizeLatitude(otherLatitude + random().nextDouble() - 0.5);
- }
-
- /** returns next pseudorandom longitude, kinda close to {@code otherLongitude} */
- public static double nextLongitudeNear(double otherLongitude) {
- GeoUtils.checkLongitude(otherLongitude);
- return normalizeLongitude(otherLongitude + random().nextDouble() - 0.5);
- }
-
- /**
- * returns next pseudorandom latitude, kinda close to {@code minLatitude/maxLatitude}
- * NOTE:minLatitude/maxLatitude are merely guidelines. the returned value is sometimes
- * outside of that range! this is to facilitate edge testing.
- */
- public static double nextLatitudeAround(double minLatitude, double maxLatitude) {
- GeoUtils.checkLatitude(minLatitude);
- GeoUtils.checkLatitude(maxLatitude);
- return normalizeLatitude(randomRangeMaybeSlightlyOutside(minLatitude, maxLatitude));
- }
-
- /**
- * returns next pseudorandom longitude, kinda close to {@code minLongitude/maxLongitude}
- * NOTE:minLongitude/maxLongitude are merely guidelines. the returned value is sometimes
- * outside of that range! this is to facilitate edge testing.
- */
- public static double nextLongitudeAround(double minLongitude, double maxLongitude) {
- GeoUtils.checkLongitude(minLongitude);
- GeoUtils.checkLongitude(maxLongitude);
- return normalizeLongitude(randomRangeMaybeSlightlyOutside(minLongitude, maxLongitude));
- }
-
- /** returns next pseudorandom box: can cross the 180th meridian */
- public static Rectangle nextBox() {
- return nextBoxInternal(nextLatitude(), nextLatitude(), nextLongitude(), nextLongitude(), true);
- }
-
- /** returns next pseudorandom box: will not cross the 180th meridian */
- public static Rectangle nextSimpleBox() {
- return nextBoxInternal(nextLatitude(), nextLatitude(), nextLongitude(), nextLongitude(), false);
- }
-
- /** returns next pseudorandom box, can cross the 180th meridian, kinda close to {@code otherLatitude} and {@code otherLongitude} */
- public static Rectangle nextBoxNear(double otherLatitude, double otherLongitude) {
- GeoUtils.checkLongitude(otherLongitude);
- GeoUtils.checkLongitude(otherLongitude);
- return nextBoxInternal(nextLatitudeNear(otherLatitude), nextLatitudeNear(otherLatitude),
- nextLongitudeNear(otherLongitude), nextLongitudeNear(otherLongitude), true);
- }
-
- /** returns next pseudorandom box, will not cross the 180th meridian, kinda close to {@code otherLatitude} and {@code otherLongitude} */
- public static Rectangle nextSimpleBoxNear(double otherLatitude, double otherLongitude) {
- GeoUtils.checkLongitude(otherLongitude);
- GeoUtils.checkLongitude(otherLongitude);
- return nextBoxInternal(nextLatitudeNear(otherLatitude), nextLatitudeNear(otherLatitude),
- nextLongitudeNear(otherLongitude), nextLongitudeNear(otherLongitude), false);
- }
-
- /** returns next pseudorandom polygon */
- public static Polygon nextPolygon() {
- if (random().nextBoolean()) {
- return surpriseMePolygon(null, null);
- }
-
- Rectangle box = nextBoxInternal(nextLatitude(), nextLatitude(), nextLongitude(), nextLongitude(), false);
- if (random().nextBoolean()) {
- // box
- return boxPolygon(box);
- } else {
- // triangle
- return trianglePolygon(box);
- }
- }
-
- /** returns next pseudorandom polygon, kinda close to {@code otherLatitude} and {@code otherLongitude} */
- public static Polygon nextPolygonNear(double otherLatitude, double otherLongitude) {
- if (random().nextBoolean()) {
- return surpriseMePolygon(otherLatitude, otherLongitude);
- }
-
- Rectangle box = nextBoxInternal(nextLatitudeNear(otherLatitude), nextLatitudeNear(otherLatitude),
- nextLongitudeNear(otherLongitude), nextLongitudeNear(otherLongitude), false);
- if (random().nextBoolean()) {
- // box
- return boxPolygon(box);
- } else {
- // triangle
- return trianglePolygon(box);
- }
- }
-
- private static Rectangle nextBoxInternal(double lat0, double lat1, double lon0, double lon1, boolean canCrossDateLine) {
- if (lat1 < lat0) {
- double x = lat0;
- lat0 = lat1;
- lat1 = x;
- }
-
- if (canCrossDateLine == false && lon1 < lon0) {
- double x = lon0;
- lon0 = lon1;
- lon1 = x;
- }
-
- return new Rectangle(lat0, lat1, lon0, lon1);
- }
-
- private static Polygon boxPolygon(Rectangle box) {
- assert box.crossesDateline() == false;
- final double[] polyLats = new double[5];
- final double[] polyLons = new double[5];
- polyLats[0] = box.minLat;
- polyLons[0] = box.minLon;
- polyLats[1] = box.maxLat;
- polyLons[1] = box.minLon;
- polyLats[2] = box.maxLat;
- polyLons[2] = box.maxLon;
- polyLats[3] = box.minLat;
- polyLons[3] = box.maxLon;
- polyLats[4] = box.minLat;
- polyLons[4] = box.minLon;
- return new Polygon(polyLats, polyLons);
- }
-
- private static Polygon trianglePolygon(Rectangle box) {
- assert box.crossesDateline() == false;
- final double[] polyLats = new double[4];
- final double[] polyLons = new double[4];
- polyLats[0] = box.minLat;
- polyLons[0] = box.minLon;
- polyLats[1] = box.maxLat;
- polyLons[1] = box.minLon;
- polyLats[2] = box.maxLat;
- polyLons[2] = box.maxLon;
- polyLats[3] = box.minLat;
- polyLons[3] = box.minLon;
- return new Polygon(polyLats, polyLons);
- }
-
- private static Polygon surpriseMePolygon(Double otherLatitude, Double otherLongitude) {
- // repeat until we get a poly that doesn't cross dateline:
- newPoly:
- while (true) {
- //System.out.println("\nPOLY ITER");
- final double centerLat;
- final double centerLon;
- if (otherLatitude == null) {
- centerLat = nextLatitude();
- centerLon = nextLongitude();
- } else {
- GeoUtils.checkLatitude(otherLatitude);
- GeoUtils.checkLongitude(otherLongitude);
- centerLat = nextLatitudeNear(otherLatitude);
- centerLon = nextLongitudeNear(otherLongitude);
- }
-
- double radius = 0.1 + 20 * random().nextDouble();
- double radiusDelta = random().nextDouble();
-
- ArrayList lats = new ArrayList<>();
- ArrayList lons = new ArrayList<>();
- double angle = 0.0;
- while (true) {
- angle += random().nextDouble()*40.0;
- //System.out.println(" angle " + angle);
- if (angle > 360) {
- break;
- }
- double len = radius * (1.0 - radiusDelta + radiusDelta * random().nextDouble());
- //System.out.println(" len=" + len);
- double lat = centerLat + len * Math.cos(Math.toRadians(angle));
- double lon = centerLon + len * Math.sin(Math.toRadians(angle));
- if (lon <= GeoUtils.MIN_LON_INCL || lon >= GeoUtils.MAX_LON_INCL) {
- // cannot cross dateline: try again!
- continue newPoly;
- }
- if (lat > 90) {
- // cross the north pole
- lat = 180 - lat;
- lon = 180 - lon;
- } else if (lat < -90) {
- // cross the south pole
- lat = -180 - lat;
- lon = 180 - lon;
- }
- if (lon <= GeoUtils.MIN_LON_INCL || lon >= GeoUtils.MAX_LON_INCL) {
- // cannot cross dateline: try again!
- continue newPoly;
- }
- lats.add(lat);
- lons.add(lon);
-
- //System.out.println(" lat=" + lats.get(lats.size()-1) + " lon=" + lons.get(lons.size()-1));
- }
-
- // close it
- lats.add(lats.get(0));
- lons.add(lons.get(0));
-
- double[] latsArray = new double[lats.size()];
- double[] lonsArray = new double[lons.size()];
- for(int i=0;i= -90 && latitude <= 90) {
- return latitude; //common case, and avoids slight double precision shifting
- }
- double off = Math.abs((latitude + 90) % 360);
- return (off <= 180 ? off : 360-off) - 90;
- }
-
- /** Puts longitude in range of -180 to +180. */
- private static double normalizeLongitude(double longitude) {
- if (longitude >= -180 && longitude <= 180) {
- return longitude; //common case, and avoids slight double precision shifting
- }
- double off = (longitude + 180) % 360;
- if (off < 0) {
- return 180 + off;
- } else if (off == 0 && longitude > 0) {
- return 180;
- } else {
- return -180 + off;
- }
- }
-
- /** Keep it simple, we don't need to take arbitrary Random for geo tests */
- private static Random random() {
- return RandomizedContext.current().getRandom();
- }
-}