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

View differences:

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