package org.geopublishing.atlasStyler;
import static org.junit.Assert.assertEquals;
import java.awt.Color;
import java.io.IOException;
import org.geopublishing.atlasStyler.rulesLists.RasterRulesListColormapTest;
import org.geopublishing.atlasStyler.rulesLists.RasterRulesList_Intervals;
import org.geotools.styling.ColorMap;
import org.junit.Before;
import org.junit.Test;
import de.schmitzm.geotools.data.rld.RasterLegendData;
import de.schmitzm.geotools.styling.StyledGridCoverageReader;
import de.schmitzm.geotools.styling.StyledLayerUtil;
import de.schmitzm.geotools.styling.StylingUtil;
import de.schmitzm.geotools.testing.GTTestingUtil;
public class RasterRulesList_IntervalsTest extends RasterRulesListColormapTest {
private StyledGridCoverageReader styledRaster;
@Before
public void setup() throws IOException {
styledRaster = GTTestingUtil.TestDatasetsRaster.arcAscii.getStyled();
}
@Test
public void testColorMapImport1() {
ColorMap cm = StylingUtil.STYLE_BUILDER
.createColorMap(new String[] { "A", "B", "ignore", "ignore2" },
new double[] { 1, 2, 3, 3 }, new Color[] { Color.red,
Color.blue, Color.green, Color.green },
ColorMap.TYPE_INTERVALS);
RasterRulesList_Intervals rl = new RasterRulesList_Intervals(
styledRaster, false);
rl.importColorMap(cm);
assertEquals(3, rl.getValues().size());
assertEquals(2, rl.getLabels().size());
assertEquals(2, rl.getColors().size());
assertEquals(2, rl.getOpacities().size());
assertEquals(2, rl.getNumClasses());
assertEquals(Color.blue, rl.getColors().get(0));
assertEquals("B", rl.getLabels().get(1).toString());
testExportAndImport(rl, new RasterRulesList_Intervals(styledRaster,
false));
RasterLegendData rld = StyledLayerUtil.generateRasterLegendData(
rl.getColorMap(), true, null);
assertEquals(2, rld.size());
assertEquals("A", rld.get(1.).toString());
assertEquals("B", rld.get(2.).toString());
}
}