Revision 11350

View differences:

trunk/libraries/libRaster/src-test/org/gvsig/raster/AllTests.java
40 40
import org.gvsig.raster.dataset.TestStatisticMultiFile;
41 41
import org.gvsig.raster.dataset.TestStatistics;
42 42
import org.gvsig.raster.dataset.io.TestWriterParams;
43
import org.gvsig.raster.dataset.io.rmf.TestRmfRead;
44
import org.gvsig.raster.dataset.io.rmf.TestRmfWrite;
43 45
import org.gvsig.raster.grid.TGEmptyBufferForWrite;
44 46
import org.gvsig.raster.grid.TGOperations;
45 47
import org.gvsig.raster.grid.TGReadingFullDatasource;
......
65 67
		new TestIOMemoryRasterDriver().start();
66 68
		new TestGdalByteHistogram().start();
67 69
		new TestHistogramSerializer().start();
70
		new TestRmfRead().start();
71
		new TestRmfWrite().start();
68 72
		//new TestGdalByteMultiBandHistogram().start();
69 73
		//new TestGdalFloatHistogram().start();
70 74
		
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataset/io/rmf/TestRmfWrite.java
35 35
import org.gvsig.raster.dataset.NotSupportedExtensionException;
36 36
import org.gvsig.raster.dataset.RasterDataset;
37 37
import org.gvsig.raster.dataset.RasterDriverException;
38
import org.gvsig.raster.dataset.TestHistogramSerializer;
38 39
import org.gvsig.raster.dataset.properties.HistogramRmfSerializer;
39 40
import org.gvsig.raster.util.Histogram;
40 41

  
41 42
/**
43
 * Test de escritura de ficheros rmf.
44
 * Escribe un fichero rmf con distintos bloques y a continuaci?n le pasa un 
45
 * test de lectura para comprobar que se ha generado bien.
42 46
 * 
43 47
 * @author Nacho Brodin (nachobrodin@gmail.com)
44 48
 *
......
84 88
	}
85 89
	
86 90
	public void testStack(){
87
		manager = new RmfBlocksManager("/tmp/p1.rmf");
91
		manager = new RmfBlocksManager(baseDir + "writetest.rmf");
88 92
		HistogramRmfSerializer ser = new HistogramRmfSerializer(histogram);
89 93
		manager.addClient(ser);
90 94
		try {
......
94 98
		} catch (IOException e) {
95 99
			e.printStackTrace();
96 100
		}
101
		
102
		//Pasamos el test de lectura para comprobar que se ha generado bien
103
		TestRmfRead t = new TestRmfRead();
104
		t.file = "writetest.rmf";
105
		t.start();
97 106
	}
98 107

  
99 108
}
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataset/io/rmf/AllTestsRmf.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.raster.dataset.io.rmf;
20

  
21
import junit.framework.Test;
22
import junit.framework.TestSuite;
23

  
24
public class AllTestsRmf {
25

  
26
	public static Test suite() {
27
		TestSuite suite = new TestSuite(
28
				"Test for org.gvsig.raster.dataset.io.rmf");
29
		//$JUnit-BEGIN$
30
		suite.addTestSuite(TestRmfRead.class);
31
		suite.addTestSuite(TestRmfWrite.class);
32
		//$JUnit-END$
33
		return suite;
34
	}
35

  
36
}
0 37

  
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataset/io/rmf/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