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 / MemoryBandByteTest.java @ 43803

History | View | Annotate | Download (4.88 KB)

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

    
3
import java.util.Arrays;
4

    
5
import org.gvsig.raster.lib.buffer.api.Band;
6
import org.gvsig.raster.lib.buffer.api.BufferLocator;
7
import org.gvsig.raster.lib.buffer.api.BufferManager;
8
import org.gvsig.raster.lib.buffer.api.NoData;
9
import org.gvsig.raster.lib.buffer.api.exceptions.BandException;
10
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
11

    
12
import junit.framework.TestCase;
13

    
14

    
15
public class MemoryBandByteTest extends AbstractLibraryAutoInitTestCase {
16

    
17
    private int ROWS=5;
18
    private int COLUMNS=10;
19
    private Band testBand1=null;
20
    private byte testValueZero=0;
21
    private byte testValueOne=1;
22

    
23
    private void init(){
24

    
25
        BufferManager bufferManager = BufferLocator.getBufferManager();
26
        NoData noData=bufferManager.createNoData(null, null);
27
        try {
28
            testBand1=bufferManager.createBand(BufferManager.TYPE_BYTE, ROWS, COLUMNS, noData, null);
29
        } catch (BandException e) {
30
            fail("Failed creating testBand1");
31
        }
32
        testBand1.fill(testValueZero);
33

    
34
    }
35

    
36

    
37
    public void testDefaultBandByteIntInt() {
38
        init();
39
        Band band=new MemoryBandByte(ROWS, COLUMNS);
40
        band.fill(testValueZero);
41
        for (int i=0;i<band.getRows();i++){
42
            byte[] rowBuffer = new byte[COLUMNS];
43
            byte[] rowBufferTest = new byte[COLUMNS];
44
            band.fetchRow(i, rowBuffer);
45
            testBand1.fetchRow(i, rowBufferTest);
46
            assertEquals( Arrays.equals(rowBufferTest, rowBuffer) , true );
47
        }
48
    }
49

    
50
    public void testDefaultBandByteIntIntNoData() {
51
        init();
52
        BufferManager bufferManager = BufferLocator.getBufferManager();
53
        NoData noData=bufferManager.createNoData(null, null);
54
        Band band=new MemoryBandByte(ROWS, COLUMNS,noData);
55
        band.fill(testValueZero);
56
        for (int i=0;i<band.getRows();i++){
57
            byte[] rowBuffer = new byte[COLUMNS];
58
            byte[] rowBufferTest = new byte[COLUMNS];
59
            band.fetchRow(i, rowBuffer);
60
            testBand1.fetchRow(i, rowBufferTest);
61
            assertEquals( Arrays.equals(rowBufferTest, rowBuffer) , true );
62
        }
63
    }
64

    
65
    public void testGetDataType() {
66
        init();
67
        assertEquals(BufferManager.TYPE_BYTE, testBand1.getDataType());
68
    }
69

    
70
    public void testGet() {
71
        init();
72
        assertEquals(testValueZero, testBand1.get(0, 0));
73
    }
74

    
75
    public void testSet() {
76
        init();
77
        testBand1.set(0, 0, testValueOne);
78
        assertEquals(testValueOne, testBand1.get(0, 0));
79
    }
80

    
81
    public void testFill() {
82
        init();
83
        testBand1.fill(testValueOne);
84
        assertEquals(testValueOne, testBand1.get(ROWS-1, COLUMNS-1));
85
    }
86

    
87
    public void testCopyFrom() {
88
        init();
89
        Band band=new MemoryBandByte(ROWS, COLUMNS);
90
        band.fill(testValueOne);
91
        try {
92
            band.copyFrom(testBand1);
93
        } catch (BandException e) {
94
            fail("Failed copying band");
95
        }
96
        for (int i=0;i<band.getRows();i++){
97
            byte[] rowBuffer = new byte[COLUMNS];
98
            byte[] rowBufferTest = new byte[COLUMNS];
99
            band.fetchRow(i, rowBuffer);
100
            testBand1.fetchRow(i, rowBufferTest);
101
            assertEquals( Arrays.equals(rowBufferTest, rowBuffer) , true );
102
        }
103
    }
104

    
105
    public void testGetValue() {
106
        MemoryBandByte band=new MemoryBandByte(ROWS, COLUMNS);
107
        band.fill(testValueOne);
108
        assertEquals(testValueOne, band.getValue(ROWS-1, COLUMNS-1));
109
    }
110

    
111
    public void testSetValue() {
112
        MemoryBandByte band=new MemoryBandByte(ROWS, COLUMNS);
113
        band.fill(testValueZero);
114
        band.setValue(ROWS-1, COLUMNS-1, testValueOne);
115
        assertEquals(testValueOne, band.getValue(ROWS-1, COLUMNS-1));
116
    }
117

    
118
    public void testCreateRowBuffer() {
119
        init();
120
        Object obj=testBand1.createRowBuffer();
121
        if (obj instanceof byte[]){
122
            byte[] rowBuffer=(byte[])obj;
123
            assertEquals(COLUMNS, rowBuffer.length);
124
        }
125
    }
126

    
127
    public void testFetchRow() {
128
        init();
129
        byte[] rowBuffer=(byte[])testBand1.createRowBuffer();
130
        testBand1.fetchRow(1, rowBuffer);
131
        byte[] rowBufferTest = new byte[COLUMNS];
132
        for (int i=0;i<testBand1.getColumns();i++){
133
            rowBufferTest[i]=(byte)testBand1.get(1, i);
134
        }
135
        assertEquals( Arrays.equals(rowBufferTest, rowBuffer) , true );
136
    }
137

    
138
    public void testPutRow() {
139
        init();
140
        byte[] rowBuffer= new byte[COLUMNS];;
141
        for (int i=0;i<rowBuffer.length;i++){
142
            rowBuffer[i]=testValueOne;
143
        }
144
        testBand1.putRow(1, rowBuffer);
145
        byte[] rowBufferTest=(byte[])testBand1.createRowBuffer();
146
        testBand1.fetchRow(1, rowBufferTest);
147
        assertEquals( Arrays.equals(rowBufferTest, rowBuffer) , true );
148
    }
149

    
150

    
151
    @Override
152
    protected void doSetUp() throws Exception {
153
        // TODO Auto-generated method stub
154

    
155
    }
156

    
157
}