gvsig-raster / org.gvsig.raster / branches / org.gvsig.raster.2.4 / org.gvsig.raster / org.gvsig.raster.lib / org.gvsig.raster.lib.legend / org.gvsig.raster.lib.legend.impl / src / test / java / org / gvsig / raster / lib / legend / impl / io / GimpPaletteColorTableIOTest.java @ 6900
History | View | Annotate | Download (4.56 KB)
1 |
package org.gvsig.raster.lib.legend.impl.io; |
---|---|
2 |
|
3 |
import java.awt.Color; |
4 |
import java.io.File; |
5 |
import java.io.IOException; |
6 |
import java.util.ArrayList; |
7 |
import java.util.List; |
8 |
|
9 |
import org.gvsig.raster.lib.legend.api.RasterLegendLocator; |
10 |
import org.gvsig.raster.lib.legend.api.RasterLegendManager; |
11 |
import org.gvsig.raster.lib.legend.api.colortable.ColorTable; |
12 |
import org.gvsig.raster.lib.legend.api.colortable.ColorTableIO; |
13 |
import org.gvsig.raster.lib.legend.api.colortable.ColorTableIOFactory; |
14 |
import org.gvsig.raster.lib.legend.api.colortable.colortableclass.ColorTableClass; |
15 |
import org.gvsig.raster.lib.legend.api.exceptions.ColorTableIOException; |
16 |
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase; |
17 |
|
18 |
/**
|
19 |
* @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
|
20 |
*
|
21 |
*/
|
22 |
public class GimpPaletteColorTableIOTest extends AbstractLibraryAutoInitTestCase { |
23 |
|
24 |
private ColorTableIO colorTableIO;
|
25 |
|
26 |
@Override
|
27 |
protected void doSetUp() throws Exception { |
28 |
RasterLegendManager rasterLegendManager = RasterLegendLocator.getRasterLegendManager(); |
29 |
ColorTableIOFactory colorTableIOFactory = |
30 |
rasterLegendManager.getColorTableIOFactory(GimpPaletteColorTableIO.NAME); |
31 |
colorTableIO = colorTableIOFactory.create(); |
32 |
} |
33 |
|
34 |
public void testReadFile() { |
35 |
|
36 |
File file =
|
37 |
new File(this.getClass().getClassLoader().getResource("colorTables/gimpPalette.gpl") |
38 |
.getFile()); |
39 |
|
40 |
ColorTable colorTable = null;
|
41 |
try {
|
42 |
colorTable = colorTableIO.read(file); |
43 |
} catch (ColorTableIOException e) {
|
44 |
fail("Can not read file to get Color table");
|
45 |
} |
46 |
|
47 |
assertEquals(100, colorTable.getClasses().size());
|
48 |
assertEquals(new Color(11, 6, 153), colorTable.getClasses().get(0).getColor()); |
49 |
assertEquals(new Color(9, 197, 244), colorTable.getClasses().get(50).getColor()); |
50 |
assertEquals(new Color(6, 154, 63), colorTable.getClasses().get(99).getColor()); |
51 |
} |
52 |
|
53 |
public void testReadColorTableFile() { |
54 |
|
55 |
File file =
|
56 |
new File(this.getClass().getClassLoader().getResource("colorTables/gimpPalette.gpl") |
57 |
.getFile()); |
58 |
|
59 |
ColorTable colorTable = RasterLegendLocator.getRasterLegendManager().createColorTable(); |
60 |
try {
|
61 |
colorTableIO.read(colorTable, file); |
62 |
} catch (ColorTableIOException e) {
|
63 |
fail("Can not read file to get Color table");
|
64 |
} |
65 |
|
66 |
assertEquals(100, colorTable.getClasses().size());
|
67 |
assertEquals(new Color(11, 6, 153), colorTable.getClasses().get(0).getColor()); |
68 |
assertEquals(new Color(9, 197, 244), colorTable.getClasses().get(50).getColor()); |
69 |
assertEquals(new Color(6, 154, 63), colorTable.getClasses().get(99).getColor()); |
70 |
} |
71 |
|
72 |
public void testWrite() { |
73 |
|
74 |
File file = null; |
75 |
try {
|
76 |
file = File.createTempFile("testGimpPalette", ".gpl"); |
77 |
} catch (IOException e) { |
78 |
fail("Can not create temp file");
|
79 |
} |
80 |
|
81 |
RasterLegendManager rasterLegendManager = RasterLegendLocator.getRasterLegendManager(); |
82 |
List<ColorTableClass> colorTableClasses = new ArrayList<ColorTableClass>(); |
83 |
colorTableClasses.add(rasterLegendManager.createColorTableClass("0", 0, 50, Color.BLACK)); |
84 |
colorTableClasses.add(rasterLegendManager.createColorTableClass("1", 20, 50, Color.CYAN)); |
85 |
colorTableClasses.add(rasterLegendManager.createColorTableClass("2", 40, 50, Color.RED)); |
86 |
colorTableClasses.add(rasterLegendManager.createColorTableClass("3", 60, 50, Color.BLUE)); |
87 |
colorTableClasses.add(rasterLegendManager.createColorTableClass("4", 80, 50, Color.WHITE)); |
88 |
colorTableClasses.add(rasterLegendManager.createColorTableClass("5", 100, 50, Color.GRAY)); |
89 |
|
90 |
ColorTable colorTable = |
91 |
rasterLegendManager.createColorTable("testColorTable", colorTableClasses, false); |
92 |
|
93 |
try {
|
94 |
colorTableIO.write(colorTable, file); |
95 |
colorTableIO.read(colorTable, file); |
96 |
} catch (ColorTableIOException e) {
|
97 |
fail("Can not read file to get Color table");
|
98 |
} |
99 |
|
100 |
assertEquals(6, colorTable.getClasses().size());
|
101 |
assertEquals(Color.BLACK, colorTable.getClasses().get(0).getColor()); |
102 |
assertEquals(Color.CYAN, colorTable.getClasses().get(1).getColor()); |
103 |
assertEquals(Color.RED, colorTable.getClasses().get(2).getColor()); |
104 |
assertEquals(Color.BLUE, colorTable.getClasses().get(3).getColor()); |
105 |
assertEquals(Color.WHITE, colorTable.getClasses().get(4).getColor()); |
106 |
assertEquals(Color.GRAY, colorTable.getClasses().get(5).getColor()); |
107 |
} |
108 |
} |