// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.gui.layer; import static org.junit.Assert.assertEquals; import org.junit.BeforeClass; import org.junit.Test; import org.openstreetmap.josm.JOSMFixture; import org.openstreetmap.josm.Main; import org.openstreetmap.josm.data.imagery.ImageryInfo; import org.openstreetmap.josm.data.imagery.ImageryInfo.ImageryType; /** * Unit tests of {@link TMSLayer} class. */ public class TMSLayerTest { /** * Setup tests */ @BeforeClass public static void setUpBeforeClass() { JOSMFixture.createUnitTestFixture().init(true); } /** * Creates a new TMS layer. * @return a new TMS layer */ public static TMSLayer createTmsLayer() { return new TMSLayer(new ImageryInfo("test tms", "http://localhost", "tms", null, null)); } /** * Creates a new Bing layer. * @return a new Bing layer */ public static TMSLayer createBingLayer() { return new TMSLayer(new ImageryInfo("test bing", "http://localhost", "bing", null, null)); } /** * Creates a new Scanex layer. * @return a new Scanex layer */ public static TMSLayer createScanexLayer() { return new TMSLayer(new ImageryInfo("test scanex", "http://localhost", "scanex", null, null)); } private static void test(ImageryType expected, TMSLayer layer) { try { Main.getLayerManager().addLayer(layer); assertEquals(expected, layer.getInfo().getImageryType()); } finally { // Ensure we clean the place before leaving, even if test fails. Main.getLayerManager().removeLayer(layer); } } /** * Unit test of {@link TMSLayer#TMSLayer}. */ @Test public void testTMSLayer() { test(ImageryType.TMS, createTmsLayer()); test(ImageryType.BING, createBingLayer()); test(ImageryType.SCANEX, createScanexLayer()); } }