package org.osmtools.ra.traverse; import static org.junit.Assert.*; import static org.osmtools.ra.TestUtils.*; import java.util.Collection; import java.util.Iterator; import java.util.List; import org.junit.Before; import org.junit.Test; import org.osmtools.ra.SegmentsBuilder; import org.osmtools.ra.TestBase; import org.osmtools.ra.data.Node; import org.osmtools.ra.graph.IntersectionNode; public class SingleRouteTraverserRoundaboutTest extends TestBase { private Collection<IntersectionNode> leaves; private IntersectionNode node; @Before public void setup() { leaves = executeAndGetLeaves(SegmentsBuilder.create().appendFlexible(5, 4).appendFlexible(4, 3) .appendFlexible(3, 2).appendFlexible(2, 1).appendFlexible(5, 1)); Iterator<IntersectionNode> it = leaves.iterator(); node = it.next(); } @Test public void testTraverseRoundabout() throws Exception { SingleRouteTraverser traverser = new SingleRouteTraverser(node, node); List<Node> nodes = traverser.getPath(); assertEquals(getNode(5), nodes.get(0)); assertEquals(getNode(4), nodes.get(1)); assertEquals(getNode(3), nodes.get(2)); assertEquals(getNode(2), nodes.get(3)); assertEquals(getNode(1), nodes.get(4)); assertEquals(getNode(5), nodes.get(5)); } }