Revision 11350 trunk/libraries/libRaster/src-test/org/gvsig/raster/dataset/io/rmf/TestRmfRead.java
TestRmfRead.java | ||
---|---|---|
24 | 24 |
*/ |
25 | 25 |
package org.gvsig.raster.dataset.io.rmf; |
26 | 26 |
|
27 |
import java.io.FileNotFoundException; |
|
28 |
import java.io.IOException; |
|
29 |
|
|
30 | 27 |
import junit.framework.TestCase; |
31 | 28 |
|
32 | 29 |
import org.gvsig.raster.RasterLibrary; |
33 |
import org.gvsig.raster.buffer.BufferFactory; |
|
34 |
import org.gvsig.raster.dataset.FileNotOpenException; |
|
35 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
|
36 |
import org.gvsig.raster.dataset.RasterDataset; |
|
37 |
import org.gvsig.raster.dataset.RasterDriverException; |
|
38 | 30 |
import org.gvsig.raster.dataset.properties.HistogramRmfSerializer; |
39 | 31 |
import org.gvsig.raster.util.Histogram; |
32 |
import org.gvsig.raster.util.HistogramClass; |
|
40 | 33 |
|
41 | 34 |
/** |
35 |
* Test de lectura para ficheros rmf. |
|
36 |
* Obtiene distintos tipos de bloques y comprueba que el objeto que han |
|
37 |
* de generar es correcto. |
|
42 | 38 |
* |
43 | 39 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
44 | 40 |
* |
45 | 41 |
*/ |
46 | 42 |
public class TestRmfRead extends TestCase { |
47 | 43 |
|
44 |
private String baseDir = "./test-images/"; |
|
48 | 45 |
private RmfBlocksManager manager = null; |
49 | 46 |
private Histogram histogram = null; |
47 |
public String file = "readtest.rmf"; |
|
50 | 48 |
|
51 | 49 |
static { |
52 | 50 |
RasterLibrary.wakeUp(); |
... | ... | |
62 | 60 |
} |
63 | 61 |
|
64 | 62 |
public void testStack(){ |
65 |
manager = new RmfBlocksManager("/tmp/p.rmf");
|
|
63 |
manager = new RmfBlocksManager(baseDir + file);
|
|
66 | 64 |
HistogramRmfSerializer ser = new HistogramRmfSerializer(); |
67 | 65 |
manager.addClient(ser); |
68 | 66 |
|
69 | 67 |
try { |
70 | 68 |
manager.read(null); |
71 |
histogram = (Histogram)manager.getResult(); |
|
69 |
for (int i = 0; i < manager.getClientsCount(); i++) { |
|
70 |
IRmfBlock client = manager.getClient(i); |
|
71 |
if(client instanceof HistogramRmfSerializer) { |
|
72 |
testHistogram((Histogram)manager.getClient(i).getResult()); |
|
73 |
} |
|
74 |
} |
|
75 |
|
|
72 | 76 |
} catch (ParsingException e) { |
73 | 77 |
e.printStackTrace(); |
74 | 78 |
} |
75 | 79 |
|
76 | 80 |
} |
81 |
|
|
82 |
public void testHistogram(Histogram h) { |
|
83 |
HistogramClass[][] classes = h.getHistogram(); |
|
84 |
for (int iBand = 0; iBand < classes.length; iBand++) { |
|
85 |
for (int iValue = 0; iValue < classes[iBand].length; iValue++) { |
|
86 |
assertEquals((int)classes[iBand][iValue].getMin(), iValue); |
|
87 |
assertEquals((int)classes[iBand][iValue].getMax(), iValue + 1); |
|
88 |
} |
|
89 |
} |
|
90 |
|
|
91 |
assertEquals((int)classes[0][0].getValue(), 16); |
|
92 |
assertEquals((int)classes[0][1].getValue(), 4); |
|
93 |
assertEquals((int)classes[0][23].getValue(), 6); |
|
94 |
assertEquals((int)classes[0][48].getValue(), 4); |
|
95 |
|
|
96 |
assertEquals((int)classes[1][0].getValue(), 2); |
|
97 |
assertEquals((int)classes[1][4].getValue(), 1); |
|
98 |
assertEquals((int)classes[1][7].getValue(), 8); |
|
99 |
assertEquals((int)classes[1][20].getValue(), 4); |
|
100 |
|
|
101 |
assertEquals((int)classes[2][0].getValue(), 25); |
|
102 |
assertEquals((int)classes[2][2].getValue(), 1); |
|
103 |
assertEquals((int)classes[2][13].getValue(), 4); |
|
104 |
assertEquals((int)classes[2][21].getValue(), 2); |
|
105 |
|
|
106 |
} |
|
77 | 107 |
|
78 | 108 |
} |
Also available in: Unified diff