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 / MemoryBandFloatTest.java @ 43803
History | View | Annotate | Download (4.92 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.BufferManager; |
7 |
import org.gvsig.raster.lib.buffer.api.NoData; |
8 |
import org.gvsig.raster.lib.buffer.api.BufferLocator; |
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 MemoryBandFloatTest extends AbstractLibraryAutoInitTestCase { |
16 |
|
17 |
private int ROWS=5; |
18 |
private int COLUMNS=10; |
19 |
private Band testBand1=null; |
20 |
private float testValueZero=0; |
21 |
private float 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_FLOAT, 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 testDefaultBandFloatIntInt() { |
38 |
init(); |
39 |
Band band=new MemoryBandFloat(ROWS, COLUMNS);
|
40 |
band.fill(testValueZero); |
41 |
for (int i=0;i<band.getRows();i++){ |
42 |
float[] rowBuffer = new float[COLUMNS]; |
43 |
float[] rowBufferTest = new float[COLUMNS]; |
44 |
band.fetchRow(i, rowBuffer); |
45 |
testBand1.fetchRow(i, rowBufferTest); |
46 |
assertEquals( Arrays.equals(rowBufferTest, rowBuffer) , true ); |
47 |
} |
48 |
} |
49 |
|
50 |
public void testDefaultBandFloatIntIntNoData() { |
51 |
init(); |
52 |
BufferManager bufferManager = BufferLocator.getBufferManager(); |
53 |
NoData noData=bufferManager.createNoData(null, null); |
54 |
Band band=new MemoryBandFloat(ROWS, COLUMNS,noData);
|
55 |
band.fill(testValueZero); |
56 |
for (int i=0;i<band.getRows();i++){ |
57 |
float[] rowBuffer = new float[COLUMNS]; |
58 |
float[] rowBufferTest = new float[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_FLOAT, 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 MemoryBandFloat(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 |
float[] rowBuffer = new float[COLUMNS]; |
98 |
float[] rowBufferTest = new float[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 |
MemoryBandFloat band=new MemoryBandFloat(ROWS, COLUMNS);
|
107 |
band.fill(testValueOne); |
108 |
assertEquals(testValueOne, band.getValue(ROWS-1, COLUMNS-1)); |
109 |
} |
110 |
|
111 |
public void testSetValue() { |
112 |
MemoryBandFloat band=new MemoryBandFloat(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 float[]){ |
122 |
float[] rowBuffer=(float[])obj; |
123 |
assertEquals(COLUMNS, rowBuffer.length); |
124 |
} |
125 |
} |
126 |
|
127 |
public void testFetchRow() { |
128 |
init(); |
129 |
float[] rowBuffer=(float[])testBand1.createRowBuffer(); |
130 |
testBand1.fetchRow(1, rowBuffer);
|
131 |
float[] rowBufferTest = new float[COLUMNS]; |
132 |
for (int i=0;i<testBand1.getColumns();i++){ |
133 |
rowBufferTest[i]=(float)testBand1.get(1, i); |
134 |
} |
135 |
assertEquals( Arrays.equals(rowBufferTest, rowBuffer) , true ); |
136 |
} |
137 |
|
138 |
public void testPutRow() { |
139 |
init(); |
140 |
float[] rowBuffer= new float[COLUMNS];; |
141 |
for (int i=0;i<rowBuffer.length;i++){ |
142 |
rowBuffer[i]=testValueOne; |
143 |
} |
144 |
testBand1.putRow(1, rowBuffer);
|
145 |
float[] rowBufferTest=(float[])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 |
} |