Statistics
| Revision:

svn-gvsig-desktop / branches / org.gvsig.desktop-2018a / org.gvsig.desktop.library / org.gvsig.raster / org.gvsig.raster.lib / org.gvsig.raster.lib.buffer.impl / src / test / java / org / gvsig / raster / lib / buffer / impl / AbstractBandTest.java @ 43803

History | View | Annotate | Download (2.92 KB)

1
package org.gvsig.raster.lib.buffer.impl;
2

    
3
import org.gvsig.raster.lib.buffer.api.Band;
4
import org.gvsig.raster.lib.buffer.api.BufferLocator;
5
import org.gvsig.raster.lib.buffer.api.BufferManager;
6
import org.gvsig.raster.lib.buffer.api.NoData;
7
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
8

    
9
/**
10
 * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
11
 *
12
 */
13
public class AbstractBandTest extends AbstractLibraryAutoInitTestCase {
14

    
15
    private final int BAND_ROWS = 10;
16
    private final int BAND_COLUMNS = 10;
17
    private final int BAND_DATATYPE = BufferManager.TYPE_DOUBLE;
18

    
19
    private final Number defaultNoDataValue = 1472.14;
20
    private final Number noDataValue = 36547;
21

    
22
    Band testBand = null;
23
    NoData testNoData = null;
24

    
25
    @Override
26
    protected void doSetUp() throws Exception {
27

    
28
        testNoData = BufferLocator.getBufferManager().createNoData(noDataValue, defaultNoDataValue);
29
        testBand =
30
            BufferLocator.getBufferManager().createBand(BAND_DATATYPE, BAND_ROWS, BAND_COLUMNS,
31
                testNoData, null);
32

    
33
        testBand.fill(Math.random());
34
    }
35

    
36
    /**
37
     * Test get columns method
38
     */
39
    public void testGetColumns() {
40
        assertEquals(testBand.getColumns(), BAND_COLUMNS);
41
    }
42

    
43
    /**
44
     * Test get rows method
45
     */
46
    public void testGetRows() {
47
        assertEquals(testBand.getRows(), BAND_ROWS);
48
    }
49

    
50
    /**
51
     * Test get no data method
52
     */
53
    public void testGetNoData() {
54
        assertEquals(testBand.getNoData(), testNoData);
55
        assertEquals(testBand.getNoData().getDefaultValue(), testNoData.getDefaultValue());
56
        assertEquals(testBand.getNoData().getDataType(), testNoData.getDataType());
57
        assertEquals(testBand.getNoData().getValue(), testNoData.getValue());
58
    }
59

    
60
    /**
61
     * Test clone method
62
     */
63
    public void testClone() {
64

    
65
        Band clonedBand = null;
66

    
67
        try {
68
            clonedBand = (Band) testBand.clone();
69
        } catch (CloneNotSupportedException e) {
70
            fail("Can not clone test band");
71
        }
72

    
73
        assertEquals(testBand.getColumns(), clonedBand.getColumns());
74
        assertEquals(testBand.getRows(), clonedBand.getRows());
75
        assertEquals(testBand.getNoData().getDefaultValue(), clonedBand.getNoData()
76
            .getDefaultValue());
77
        assertEquals(testBand.getNoData().getValue(), clonedBand.getNoData().getValue());
78
        assertEquals(testBand.getNoData().getDataType(), clonedBand.getNoData().getDataType());
79
        assertFalse(testBand.equals(clonedBand));
80
        assertFalse(testBand.getNoData() == clonedBand.getNoData());
81

    
82
        // Method equals has to be override and must return true
83
        assertTrue(testBand.getNoData().equals(clonedBand.getNoData()));
84

    
85
        for (int i = 0; i < testBand.getRows(); i++) {
86
            for (int j = 0; j < testBand.getColumns(); j++) {
87
                assertEquals(testBand.get(i, j), clonedBand.get(i, j));
88
            }
89
        }
90
    }
91
}