Revision 12504 trunk/libraries/libRaster/src-test/org/gvsig/raster/dataset/io/rmf/TestRmfRead.java
TestRmfRead.java | ||
---|---|---|
43 | 43 |
* Test de lectura para ficheros rmf. |
44 | 44 |
* Obtiene distintos tipos de bloques y comprueba que el objeto que han |
45 | 45 |
* de generar es correcto. |
46 |
*
|
|
46 |
* |
|
47 | 47 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
48 | 48 |
* |
49 | 49 |
*/ |
50 | 50 |
public class TestRmfRead extends TestCase { |
51 |
|
|
51 |
|
|
52 | 52 |
private String baseDir = "./test-images/"; |
53 | 53 |
private RasterDataset testDataset = null; |
54 | 54 |
private RmfBlocksManager manager = null; |
... | ... | |
56 | 56 |
public String file = "readtest.rmf"; |
57 | 57 |
private RasterDataset f1 = null; |
58 | 58 |
private String path1 = baseDir + "03AUG23153350-M2AS-000000122423_01_P001-BROWSE.jpg"; |
59 |
|
|
59 |
|
|
60 | 60 |
static { |
61 | 61 |
RasterLibrary.wakeUp(); |
62 | 62 |
} |
63 |
|
|
63 |
|
|
64 | 64 |
public void start() { |
65 | 65 |
this.setUp(); |
66 | 66 |
this.testStack(); |
67 | 67 |
} |
68 |
|
|
68 |
|
|
69 | 69 |
public void setUp() { |
70 | 70 |
System.err.println("TestRmfRead running..."); |
71 | 71 |
try { |
... | ... | |
76 | 76 |
e1.printStackTrace(); |
77 | 77 |
} |
78 | 78 |
} |
79 |
|
|
79 |
|
|
80 | 80 |
public void testStack(){ |
81 | 81 |
manager = new RmfBlocksManager(baseDir + file); |
82 | 82 |
if(!manager.checkRmf()) |
... | ... | |
89 | 89 |
manager.addClient(ser1); |
90 | 90 |
manager.addClient(ser2); |
91 | 91 |
manager.addClient(ser3); |
92 |
|
|
92 |
|
|
93 | 93 |
try { |
94 | 94 |
manager.read(null); |
95 | 95 |
for (int i = 0; i < manager.getClientsCount(); i++) { |
96 | 96 |
IRmfBlock client = manager.getClient(i); |
97 | 97 |
if(client instanceof HistogramRmfSerializer) |
98 |
testHistogram((Histogram)manager.getClient(i).getResult());
|
|
98 |
testHistogram((Histogram)manager.getClient(i).getResult()); |
|
99 | 99 |
if(client instanceof ColorTableRmfSerializer) |
100 | 100 |
testColorTable((ColorTable)manager.getClient(i).getResult()); |
101 | 101 |
if(client instanceof StatisticsRmfSerializer) |
... | ... | |
103 | 103 |
if(client instanceof GeoInfoRmfSerializer) |
104 | 104 |
testGeoInfo((RasterDataset)manager.getClient(i).getResult()); |
105 | 105 |
} |
106 |
|
|
106 |
|
|
107 | 107 |
} catch (ParsingException e) { |
108 | 108 |
e.printStackTrace(); |
109 | 109 |
} |
110 |
|
|
110 |
|
|
111 | 111 |
} |
112 |
|
|
112 |
|
|
113 | 113 |
public void testHistogram(Histogram h) { |
114 | 114 |
HistogramClass[][] classes = h.getHistogram(); |
115 | 115 |
for (int iBand = 0; iBand < classes.length; iBand++) { |
... | ... | |
117 | 117 |
assertEquals((int)classes[iBand][iValue].getMin(), iValue); |
118 | 118 |
assertEquals((int)classes[iBand][iValue].getMax(), iValue + 1); |
119 | 119 |
} |
120 |
}
|
|
121 |
|
|
120 |
} |
|
121 |
|
|
122 | 122 |
assertEquals((int)classes[0][0].getValue(), 16); |
123 | 123 |
assertEquals((int)classes[0][1].getValue(), 4); |
124 | 124 |
assertEquals((int)classes[0][23].getValue(), 6); |
125 | 125 |
assertEquals((int)classes[0][48].getValue(), 4); |
126 |
|
|
126 |
|
|
127 | 127 |
assertEquals((int)classes[1][0].getValue(), 2); |
128 | 128 |
assertEquals((int)classes[1][4].getValue(), 1); |
129 | 129 |
assertEquals((int)classes[1][7].getValue(), 8); |
130 | 130 |
assertEquals((int)classes[1][20].getValue(), 4); |
131 |
|
|
131 |
|
|
132 | 132 |
assertEquals((int)classes[2][0].getValue(), 25); |
133 | 133 |
assertEquals((int)classes[2][2].getValue(), 1); |
134 | 134 |
assertEquals((int)classes[2][13].getValue(), 4); |
135 | 135 |
assertEquals((int)classes[2][21].getValue(), 2); |
136 | 136 |
} |
137 |
|
|
137 |
|
|
138 | 138 |
public void testColorTable(ColorTable ct) { |
139 |
/* |
|
139 | 140 |
int[] range = ct.getIntRange(); |
140 | 141 |
byte[][] color = ct.getColorTableByBand(); |
141 |
|
|
142 |
|
|
142 | 143 |
assertEquals(ct.getType(), 0); |
143 | 144 |
assertEquals(ct.getName(), "Prueba Tabla de Color"); |
144 | 145 |
for (int i = 0; i < color.length; i++) { |
145 | 146 |
assertEquals(range[i], (31 - i)); |
146 | 147 |
switch(i) { |
147 |
case 15:
|
|
148 |
case 15: |
|
148 | 149 |
assertEquals(color[i][0], -65); |
149 | 150 |
assertEquals(color[i][1], -65); |
150 | 151 |
assertEquals(color[i][2], -65); |
151 | 152 |
break; |
152 |
case 22:
|
|
153 |
case 22: |
|
153 | 154 |
assertEquals(color[i][0], -65); |
154 | 155 |
assertEquals(color[i][1], -14); |
155 | 156 |
assertEquals(color[i][2], -1); |
156 | 157 |
break; |
157 |
case 24:
|
|
158 |
case 24: |
|
158 | 159 |
assertEquals(color[i][0], 0); |
159 | 160 |
assertEquals(color[i][1], -52); |
160 | 161 |
assertEquals(color[i][2], -1); |
161 | 162 |
break; |
162 |
case 28:
|
|
163 |
case 28: |
|
163 | 164 |
assertEquals(color[i][0], 0); |
164 | 165 |
assertEquals(color[i][1], -103); |
165 | 166 |
assertEquals(color[i][2], -1); |
166 | 167 |
break; |
167 | 168 |
} |
168 | 169 |
} |
169 |
|
|
170 |
*/ |
|
171 |
|
|
170 | 172 |
//System.out.println(ct.getName()); |
171 | 173 |
//System.out.println(ct.getType()); |
172 |
|
|
174 |
|
|
173 | 175 |
/*for (int i = 0; i < color.length; i++) { |
174 | 176 |
System.out.print(range[i] + ": "); |
175 | 177 |
System.out.println(color[i][0] + " " + color[i][1] + " " + color[i][2]); |
... | ... | |
184 | 186 |
double[] secondMin = ds.getSecondMin(); |
185 | 187 |
double[] mean = ds.getMean(); |
186 | 188 |
double[] variance = ds.getVariance(); |
187 |
|
|
189 |
|
|
188 | 190 |
assertEquals(bandCount, 3); |
189 | 191 |
for (int i = 0; i < bandCount; i++) { |
190 | 192 |
switch(i) { |
191 |
case 0:
|
|
193 |
case 0: |
|
192 | 194 |
assertEquals((int)max[i], 250); |
193 | 195 |
assertEquals((int)min[i], 0); |
194 | 196 |
assertEquals((int)secondMax[i], 248); |
... | ... | |
196 | 198 |
assertEquals((int)mean[i], 95); |
197 | 199 |
assertEquals((int)variance[i], 3050); |
198 | 200 |
break; |
199 |
case 1:
|
|
201 |
case 1: |
|
200 | 202 |
assertEquals((int)max[i], 255); |
201 | 203 |
assertEquals((int)min[i], 0); |
202 | 204 |
assertEquals((int)secondMax[i], 254); |
... | ... | |
204 | 206 |
assertEquals((int)mean[i], 105); |
205 | 207 |
assertEquals((int)variance[i], 2689); |
206 | 208 |
break; |
207 |
case 2:
|
|
209 |
case 2: |
|
208 | 210 |
assertEquals((int)max[i], 254); |
209 | 211 |
assertEquals((int)min[i], 0); |
210 | 212 |
assertEquals((int)secondMax[i], 250); |
... | ... | |
214 | 216 |
break; |
215 | 217 |
} |
216 | 218 |
} |
217 |
|
|
219 |
|
|
218 | 220 |
//System.out.println(ct.getName()); |
219 | 221 |
//System.out.println(ct.getType()); |
220 |
|
|
222 |
|
|
221 | 223 |
/*for (int i = 0; i < color.length; i++) { |
222 | 224 |
System.out.print(range[i] + ": "); |
223 | 225 |
System.out.println(color[i][0] + " " + color[i][1] + " " + color[i][2]); |
224 | 226 |
}*/ |
225 | 227 |
} |
226 |
|
|
228 |
|
|
227 | 229 |
public void testGeoInfo(RasterDataset dataset) { |
228 | 230 |
String proj = ""; |
229 | 231 |
//TODO: TEST: Terminar test de acceso a la georreferenciaci?n. |
... | ... | |
231 | 233 |
proj = dataset.getProjection().getAbrev(); |
232 | 234 |
double x = dataset.getExtent().getMin().getX(); |
233 | 235 |
double y = dataset.getExtent().getMax().getY(); |
234 |
|
|
236 |
|
|
235 | 237 |
assertEquals((int)x, 5000); |
236 | 238 |
assertEquals((int)y, 5000); |
237 | 239 |
} |
Also available in: Unified diff