@Override public final boolean contains(ShortPoint2D position) { return contains(position.x, position.y); }
final MapCircle c3 = new MapCircle(120, 100, 10); final IContainingProvider containingProvider = (x, y) -> c1.contains(x, y) && !c2.contains(x, y) || c3.contains(x, y); assertTrue(c1.contains(x, y) && !c2.contains(x, y)); // checks if the position is in the area area.add(new ShortPoint2D(x, y)); int idx = x + y * WIDTH; if (!c2.contains(curr)) { assertTrue(mapArea.contains(curr));
x += dx; y += dy; if (circle.contains(x, y) && isInBounds(x, y)) { map.setDijkstraSearched(x, y); if (map.fitsSearchType(x, y, request.searchTypes, request.requester)) {
/** * Test method for {@link jsettlers.common.map.shapes.MapCircle#contains(jsettlers.common.position.ShortPoint2D)} . */ @Test public void testContainsShortPoint2D() { short cx = 0; short cy = 0; MapCircle circle = new MapCircle(cx, cy, 1); ShortPoint2D[] truePoints = new ShortPoint2D[] { new ShortPoint2D(cx - 1, cy - 1), new ShortPoint2D(cx - 1, cy), new ShortPoint2D(cx, cy - 1), new ShortPoint2D(cx, cy), new ShortPoint2D(cx + 1, cy), new ShortPoint2D(cx, cy + 1), new ShortPoint2D(cx + 1, cy + 1) }; for (ShortPoint2D point : truePoints) { assertTrue("Point should be inside", circle.contains(point)); } ShortPoint2D[] falsePoints = new ShortPoint2D[] { new ShortPoint2D(cx - 2, cy - 1), new ShortPoint2D(cx, cy + 3), new ShortPoint2D(cx - 1, cy + 1), }; for (ShortPoint2D point : falsePoints) { assertFalse("Point should not be inside: " + point, circle.contains(point)); } }
@Test public void testBorderStream() { for (int i = 1; i < 40; i++) { MapCircle circle = new MapCircle(new ShortPoint2D(100, 100), i); MapCircle oneSmallerCircle = new MapCircle(new ShortPoint2D(100, 100), i - 1); circle.streamBorder().forEach((x, y) -> { assertTrue(circle.contains(x, y)); assertTrue(!oneSmallerCircle.contains(x, y)); }); int maxCount = circle.stream().count() - oneSmallerCircle.stream().count(); int actualCount = circle.streamBorder().count(); assertTrue(actualCount <= maxCount); } } }