Revision 12504 trunk/libraries/libRaster/src-test/org/gvsig/raster/dataset/io/rmf/TestRmfRead.java

View differences:

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