// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.opendata.core.io.geographic; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import org.junit.Rule; import org.junit.Test; import org.openstreetmap.josm.TestUtils; import org.openstreetmap.josm.data.osm.DataSet; import org.openstreetmap.josm.data.projection.Projections; import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler; import org.openstreetmap.josm.plugins.opendata.core.io.NonRegFunctionalTests; import org.openstreetmap.josm.testutils.JOSMTestRules; /** * Unit tests of {@link MifReader} class. */ public class MifReaderTest { /** * Setup test. */ @Rule public JOSMTestRules rules = new JOSMTestRules().preferences().projection(); private static AbstractDataSetHandler newHandler(final String epsgCode) { AbstractDataSetHandler handler = new AbstractDataSetHandler() { @Override public boolean acceptsFilename(String filename) { return true; } @Override public void updateDataSet(DataSet ds) { } }; DefaultMifHandler mifHandler = new DefaultMifHandler(); mifHandler.setCoordSysNonEarthProjection(Projections.getProjectionByCode(epsgCode)); handler.setMifHandler(mifHandler); return handler; } /** * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/9592">#9592</a> * @throws IOException if an error occurs during reading */ @Test public void testTicket9592() throws IOException { File file = new File(TestUtils.getRegressionDataFile(9592, "bg.mif")); try (InputStream is = new FileInputStream(file)) { NonRegFunctionalTests.testGeneric("#9592", MifReader.parseDataSet(is, file, newHandler("EPSG:32635"), null)); } } }