package org.osmtools.ra.analyzer; import static org.junit.Assert.*; import java.util.Arrays; import java.util.List; import org.junit.Test; import org.osmtools.ra.data.Node; import org.osmtools.ra.data.Way; public class RoundaboutServiceTest { @Test public void testIsRoundabout() throws Exception { Node node1 = new Node(1, 0, 0); Node node2 = new Node(2, 1, 1); Node node3 = new Node(3, 1, 2); Node node4 = new Node(4, 0, 0); Node node1bad = new Node(1, 2, 2); assertRoundabout(false, Arrays.asList(node1)); assertRoundabout(false, Arrays.asList(node1, node2, node3, node4)); assertRoundabout(false, Arrays.asList(node1, node1bad)); assertRoundabout(true, Arrays.asList(node1, node1)); // hmm assertRoundabout(true, Arrays.asList(node1, node2, node1)); assertRoundabout(true, Arrays.asList(node1, node2, node4, node1)); } private void assertRoundabout(boolean expected, List<Node> nodes) { assertEquals(expected, RoundaboutService.isRoundabout(new Way(0, nodes))); } }