@Test public void testTwoWaySubAtlasWithThreeNodes() { final Atlas subAtlas1 = this.setup.twoWaySubAtlas1From1To3(); final Atlas subAtlas2 = this.setup.twoWaySubAtlas2From1To3(); final MultiAtlas multiAtlas = new MultiAtlas(subAtlas1, subAtlas2); // Verify first edge verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); // Verify first reverse edge verifyEdge(multiAtlas.edge(-123456789120001L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_1_LOCATION); // Verify second edge verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION); // Verify second edge verifyEdge(multiAtlas.edge(-123456789120002L), MultiAtlasBorderFixerTestRule.POINT_3_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); } }
@Test public void testThreeWayWithLoopSubAtlas() { final Atlas subAtlas1 = this.setup.threeWayWithLoopSubAtlas1(); final Atlas subAtlas2 = this.setup.threeWayWithLoopSubAtlas2(); final MultiAtlas multiAtlas = new MultiAtlas(subAtlas1, subAtlas2); // Verify first edge verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); // Verify second edge verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION); // Verify third edge verifyEdge(multiAtlas.edge(123456789120003L), MultiAtlasBorderFixerTestRule.POINT_3_LOCATION, MultiAtlasBorderFixerTestRule.POINT_4_LOCATION); // Verify fourth edge verifyEdge(multiAtlas.edge(123456789120004L), MultiAtlasBorderFixerTestRule.POINT_4_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION); // Verify fifth edge verifyEdge(multiAtlas.edge(123456789120005L), MultiAtlasBorderFixerTestRule.POINT_3_LOCATION, MultiAtlasBorderFixerTestRule.POINT_5_LOCATION); }
@Test public void testOneWayWithDuplicateNode() { final Atlas subAtlas1 = this.setup.oneWayWithDuplicateNodeSubAtlas1(); final Atlas subAtlas2 = this.setup.oneWayWithDuplicateNodeSubAtlas2(); final MultiAtlas multiAtlas = new MultiAtlas(subAtlas1, subAtlas2); // Verify first edge verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); // Verify second edge verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION, MultiAtlasBorderFixerTestRule.POINT_4_LOCATION); // Verify third edge verifyEdge(multiAtlas.edge(123456789120003L), MultiAtlasBorderFixerTestRule.POINT_4_LOCATION, MultiAtlasBorderFixerTestRule.POINT_5_LOCATION); }
@Test public void oneWaySubAtlas1From1To4WithInnerLocations() { final Atlas subAtlas1 = this.setup.oneWaySubAtlas1From1To4WithInnerLocations(); final Atlas subAtlas2 = this.setup.oneWaySubAtlas2From1To4WithInnerLocations(); final MultiAtlas multiAtlas = new MultiAtlas(subAtlas1, subAtlas2); // Verify first edge verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION, MultiAtlasBorderFixerTestRule.POINT_4_LOCATION); // Verify second edge verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_4_LOCATION, MultiAtlasBorderFixerTestRule.POINT_5_LOCATION); }
@Test public void testOneWaySubAtlasWithInconsistentRoads() { final Atlas subAtlas1 = this.setup.oneWaySubAtlas1From1To3WithInconsistentRoads(); final Atlas subAtlas2 = this.setup.oneWaySubAtlas2From1To3WithInconsistentRoads(); final MultiAtlas multiAtlas = new MultiAtlas(subAtlas1, subAtlas2); // Verify edges are NOT gone even though they were forming an inconsistent road Assert.assertNotNull(multiAtlas.edge(123456789120000L)); Assert.assertNotNull(multiAtlas.edge(123456789120001L)); Assert.assertNotNull(multiAtlas.edge(123456789120002L)); // Verify fixed edges verifyEdge(multiAtlas.edge(223456789120001L), MultiAtlasBorderFixerTestRule.POINT_5_LOCATION, MultiAtlasBorderFixerTestRule.POINT_6_LOCATION); verifyEdge(multiAtlas.edge(223456789120002L), MultiAtlasBorderFixerTestRule.POINT_6_LOCATION, MultiAtlasBorderFixerTestRule.POINT_7_LOCATION); }
verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION); verifyEdge(multiAtlas.edge(123456789120003L), MultiAtlasBorderFixerTestRule.POINT_3_LOCATION, MultiAtlasBorderFixerTestRule.POINT_4_LOCATION);
@Test public void testOneWaySubAtlasWithRelations() { final Atlas subAtlas1 = this.setup.oneWaySubAtlas1From1To3WithRelations(); final Atlas subAtlas2 = this.setup.oneWaySubAtlas2From1To3WithRelations(); final MultiAtlas multiAtlas = new MultiAtlas(subAtlas1, subAtlas2); // Verify first edge verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); // Verify second edge verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION); // Verify relations Assert.assertEquals(multiAtlas.edge(123456789120001L).relations().size(), 2); Assert.assertEquals(multiAtlas.edge(123456789120002L).relations().size(), 2); // Verify that relation has members Assert.assertEquals(multiAtlas.relation(987654321L).members().size(), 2); Assert.assertEquals(multiAtlas.relation(887654321L).members().size(), 2); }
verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION);
verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION);
verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION);
verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION);
verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION);
verifyEdge(multiAtlas.edge(123456789120001L), MultiAtlasBorderFixerTestRule.POINT_1_LOCATION, MultiAtlasBorderFixerTestRule.POINT_2_LOCATION); verifyEdge(multiAtlas.edge(123456789120002L), MultiAtlasBorderFixerTestRule.POINT_2_LOCATION, MultiAtlasBorderFixerTestRule.POINT_3_LOCATION);
@Test public void testOneWaySubAtlasWithInconsistentRoadsAndARelation() { final Atlas subAtlas1 = this.setup.oneWaySubAtlas1WithInconsistentRoadsAndARelation(); final Atlas subAtlas2 = this.setup.oneWaySubAtlas2WithInconsistentRoadsAndARelation(); final MultiAtlas multiAtlas = new MultiAtlas(subAtlas1, subAtlas2); // Verify edges are NOT gone even though they were forming an inconsistent road Assert.assertNotNull(multiAtlas.edge(123456789120000L)); Assert.assertNotNull(multiAtlas.edge(123456789120001L)); Assert.assertNotNull(multiAtlas.edge(123456789120002L)); // Verify that relation has members Assert.assertEquals(multiAtlas.relation(987654321L).members().size(), 2); Assert.assertEquals(multiAtlas.relation(887654321L).members().size(), 1); // Verify fixed edges verifyEdge(multiAtlas.edge(223456789120001L), MultiAtlasBorderFixerTestRule.POINT_5_LOCATION, MultiAtlasBorderFixerTestRule.POINT_6_LOCATION); verifyEdge(multiAtlas.edge(223456789120002L), MultiAtlasBorderFixerTestRule.POINT_6_LOCATION, MultiAtlasBorderFixerTestRule.POINT_7_LOCATION); }