package com.github.davidmoten.rtree.geometry; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; public class PointTest { private static final double PRECISION = 0.000001; @Test public void testCoordinates() { Point point = Geometries.point(1, 2); assertEquals(1, point.x(), PRECISION); assertEquals(2, point.y(), PRECISION); } @Test public void testDistanceToRectangle() { Point p1 = Geometries.point(1, 2); Rectangle r = Geometries.rectangle(4, 6, 4, 6); assertEquals(5, p1.distance(r), PRECISION); } @Test public void testDistanceToPoint() { Point p1 = Geometries.point(1, 2); Point p2 = Geometries.point(4, 6); assertEquals(5, p1.distance(p2), PRECISION); } @Test public void testMbr() { Point p = Geometries.point(1, 2); Point p2 = Geometries.point(1, 2); assertEquals(p, p2); } @Test public void testPointIntersectsItself() { Point p = Geometries.point(1, 2); assertTrue(p.distance(p.mbr()) == 0); } @Test public void testIntersectIsFalseWhenPointsDiffer() { Point p1 = Geometries.point(1, 2); Point p2 = Geometries.point(1, 2.000001); assertFalse(p1.distance(p2.mbr()) == 0); } @Test public void testEquality() { Point p1 = Geometries.point(1, 2); Point p2 = Geometries.point(1, 2); assertTrue(p1.equals(p2)); } @Test public void testInequality() { Point p1 = Geometries.point(1, 2); Point p2 = Geometries.point(1, 3); assertFalse(p1.equals(p2)); } @Test public void testInequalityToNull() { Point p1 = Geometries.point(1, 2); assertFalse(p1.equals(null)); } @Test public void testHashCode() { Point p = Geometries.point(1, 2); assertEquals(-260045887, p.hashCode()); } @Test public void testDoesNotContain() { Point p = Geometries.point(1, 2); assertFalse(p.contains(1, 3)); } @Test public void testContains() { Point p = Geometries.point(1, 2); assertTrue(p.contains(1, 2)); } }