// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.pt_assistant.validation; import static org.junit.Assert.assertEquals; import java.io.File; import java.util.ArrayList; import java.util.List; import org.junit.Test; import org.openstreetmap.josm.data.osm.DataSet; import org.openstreetmap.josm.data.osm.Relation; import org.openstreetmap.josm.data.validation.TestError; import org.openstreetmap.josm.plugins.pt_assistant.AbstractTest; import org.openstreetmap.josm.plugins.pt_assistant.ImportUtils; public class SortingTestTest extends AbstractTest { @Test public void sortingTestBeforeFile() { File file = new File(AbstractTest.PATH_TO_DL131_BEFORE); DataSet ds = ImportUtils.importOsmFile(file, "testLayer"); PTAssistantValidatorTest test = new PTAssistantValidatorTest(); List<TestError> errors = new ArrayList<>(); for (Relation r: ds.getRelations()) { RouteChecker routeChecker = new RouteChecker(r, test); routeChecker.performSortingTest(); errors.addAll(routeChecker.getErrors()); } assertEquals(errors.size(), 1); assertEquals(errors.iterator().next().getCode(), PTAssistantValidatorTest.ERROR_CODE_SORTING); assertEquals(errors.iterator().next().getTester().getClass().getName(), PTAssistantValidatorTest.class.getName()); } @Test public void sortingTestAfterFile() { File file = new File(AbstractTest.PATH_TO_DL131_AFTER); DataSet ds = ImportUtils.importOsmFile(file, "testLayer"); PTAssistantValidatorTest test = new PTAssistantValidatorTest(); List<TestError> errors = new ArrayList<>(); for (Relation r: ds.getRelations()) { RouteChecker routeChecker = new RouteChecker(r, test); routeChecker.performSortingTest(); errors.addAll(routeChecker.getErrors()); } assertEquals(errors.size(), 0); } // TODO: this test will only pass after the functionality for recognizing // and closing the gap is implemented. // @Test // public void overshootTestBeforeFile() { // File file = new File(AbstractTest.PATH_TO_DL286_BEFORE); // DataSet ds = ImportUtils.importOsmFile(file, "testLayer"); // // GapTest gapTest = new GapTest(); // for (Relation r : ds.getRelations()) { // gapTest.visit(r); // } // // List<TestError> errors = gapTest.getErrors(); // // assertEquals(errors.size(), 1); // assertEquals(errors.get(0).getCode(), GapTest.ERROR_CODE_OVERSHOOT); // // } @Test public void overshootTestAfterFile() { File file = new File(AbstractTest.PATH_TO_DL286_AFTER); DataSet ds = ImportUtils.importOsmFile(file, "testLayer"); PTAssistantValidatorTest test = new PTAssistantValidatorTest(); List<TestError> errors = new ArrayList<>(); for (Relation r: ds.getRelations()) { RouteChecker routeChecker = new RouteChecker(r, test); routeChecker.performSortingTest(); errors.addAll(routeChecker.getErrors()); } assertEquals(errors.size(), 0); } }