@Test public void testArea() { final Area area1 = this.atlas.area(45); final Area area2 = this.atlas.area(54); logger.trace(area1.toString()); logger.trace(area2.toString()); Assert.assertTrue(area1.asPolygon().intersects(area2.asPolygon())); Assert.assertEquals(Location.TEST_6, area1.asPolygon().intersections(area2.asPolygon()).iterator().next()); Assert.assertEquals("golf_course", area1.getTags().get("leisure")); Assert.assertEquals("grassland", area1.getTags().get("natural")); Assert.assertFalse(AerowayTag.get(area1).isPresent()); Assert.assertEquals(LeisureTag.GOLF_COURSE, LeisureTag.get(area1).orElseThrow(CoreException.supplier("No tag"))); Assert.assertEquals(NaturalTag.GRASSLAND, NaturalTag.get(area1).orElseThrow(CoreException.supplier("No tag"))); Assert.assertFalse(WaterTag.get(area1).isPresent()); Assert.assertFalse(AerowayTag.get(area2).isPresent()); Assert.assertEquals(LeisureTag.SWIMMING_POOL, LeisureTag.get(area2).orElseThrow(CoreException.supplier("No tag"))); Assert.assertEquals(SportTag.SWIMMING, SportTag.get(area2).orElseThrow(CoreException.supplier("No tag"))); Assert.assertFalse(NaturalTag.get(area2).isPresent()); Assert.assertFalse(WaterTag.get(area2).isPresent()); }