@Test
public void testLaneDiagram() {

  TextInstructions textInstructions = new TextInstructions("en", "v5");
  Map<String, LegStep> map = new HashMap<>();
  map.put("o", new LegStep(Collections.singletonList(new StepIntersection(new IntersectionLanes[] {
    new IntersectionLanes(true), new IntersectionLanes(true), new IntersectionLanes(true)}))));
  map.put("ox", new LegStep(Collections.singletonList(new StepIntersection(new IntersectionLanes[] {
    new IntersectionLanes(true), new IntersectionLanes(true), new IntersectionLanes(false)}))));
  map.put("ox", new LegStep(Collections.singletonList(new StepIntersection(new IntersectionLanes[] {
    new IntersectionLanes(true), new IntersectionLanes(true), new IntersectionLanes(false),
    new IntersectionLanes(false)}))));
  map.put("oxo", new LegStep(Collections.singletonList(new StepIntersection(new IntersectionLanes[] {
    new IntersectionLanes(true), new IntersectionLanes(false), new IntersectionLanes(true)}))));
  map.put("xox", new LegStep(Collections.singletonList(new StepIntersection(new IntersectionLanes[] {
    new IntersectionLanes(false), new IntersectionLanes(true), new IntersectionLanes(true),
    new IntersectionLanes(false)}))));
  map.put("xoxox", new LegStep(Collections.singletonList(new StepIntersection(new IntersectionLanes[] {
    new IntersectionLanes(false), new IntersectionLanes(true), new IntersectionLanes(false),
    new IntersectionLanes(true), new IntersectionLanes(false)}))));
  map.put("x", new LegStep(Collections.singletonList(new StepIntersection(new IntersectionLanes[] {
    new IntersectionLanes(false), new IntersectionLanes(false), new IntersectionLanes(false)}))));
  for (Object entry : map.entrySet()) {
    Map.Entry pair = (Map.Entry) entry;
    assertEquals(pair.getKey(), textInstructions.laneConfig((LegStep) pair.getValue()));
  }
}