Statistics
| Revision:

svn-gvsig-desktop / branches / org.gvsig.desktop-2018a / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.mapcontext / org.gvsig.fmap.mapcontext.impl / src / test / java / org / gvsig / raster / lib / legend / impl / io / GimpPaletteColorTableIOTest.java @ 43803

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
}