Currently a few remaining tests (around newRectQuery) are lenient and quantize the query rectangles. This is masking several bugs:
1. Both LatLonPoint and GeoPointField's bbox queries quantize their endpoints incorrectly at query-time, which can e.g. cause it to bring in false positive results
2. Tests have always been lenient about this (either by using epsilons or incorrectly quantizing the query rectangles in tests), hiding the above.
3. Both LatLonPoint and GeoPointField still have rounding issues at quantization. For very special values they do not always consistently round in one direction.
4. Random encoding tests will never find the above issue, hiding it. This is because you need very special double values that the current stuff (e.g. -180 + 360.0 * random().nextDouble() will never find!).