package com.esri; import ch.hsr.geohash.WGS84Point; import org.junit.Test; import static org.junit.Assert.assertEquals; /** */ public final class QuadTest { @Test public void testEncode() { assertEquals(0L, Quad.encode(0, 0, 0)); assertEquals((0L << 63) | (0L << 62), Quad.encode(-1, -1, 1)); assertEquals((0L << 63) | (1L << 62), Quad.encode(-1, 1, 1)); assertEquals((1L << 63) | (0L << 62), Quad.encode(1, -1, 1)); assertEquals((1L << 63) | (1L << 62), Quad.encode(1, 1, 1)); assertEquals((1L << 63) | (1L << 62), Quad.encode(0, 0, 1)); } @Test public void testEncodeDecode() throws Exception { for (int i = 0; i < 100; i++) { final double lon = -180 + 360 * Math.random(); final double lat = -90 + 180 * Math.random(); final WGS84Point point = Quad.decode(Quad.encode(lon, lat)).getCenterPoint(); assertEquals(lat, point.getLatitude(), 0.000001); assertEquals(lon, point.getLongitude(), 0.000001); } } }