Revision 21615

View differences:

trunk/libraries/libRaster/src-test/org/gvsig/raster/dataset/TestIOMemoryRasterDriver.java
1
/*
2
 * Created on 19-jul-2006
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
3 2
 *
4
 * To change the template for this generated file go to
5
 * Window>Preferences>Java>Code Generation>Code and Comments
6
 */
7
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
8 4
 *
9
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
10
 *
11 5
 * This program is free software; you can redistribute it and/or
12 6
 * modify it under the terms of the GNU General Public License
13 7
 * as published by the Free Software Foundation; either version 2
......
31 25
import org.gvsig.raster.buffer.RasterBuffer;
32 26
import org.gvsig.raster.dataset.io.MemoryRasterDriverParam;
33 27
import org.gvsig.raster.dataset.io.RasterDriverException;
34

  
35 28
/**
36
 * 
37 29
 * @author Nacho Brodin (nachobrodin@gmail.com)
38
 *
39 30
 */
40 31
public class TestIOMemoryRasterDriver extends TestCase {
32
	private String        baseDir  = "./test-images/";
33
	private String        path     = baseDir + "miniRaster25x24.tif";
41 34

  
42
	private String baseDir = "./test-images/";
43
	private String path = baseDir + "miniRaster25x24.tif";	
35
	private RasterDataset f        = null;
36
	private RasterDataset f1       = null;
37
	private BufferFactory ds       = null;
38
	private BandList      bandList = null;
44 39
	
45
	private RasterDataset f = null;
46
	private RasterDataset f1 = null;
47
	private BufferFactory ds = null;
48
	private BandList bandList = null;
49
	
50 40
	public void start() {
51 41
		this.setUp();
52 42
		try {
......
104 94
		}
105 95
	}
106 96
	
97
	private void dataTest1(IBuffer raster) {
98
		int band0[] = { 14, 97, 97, 119, 119, 93, 93, 58, 0, 0, 1, 1, 54, 54, 79, 69, 69, 59, 59, 61, 61, 75, 58, 58, 68, 14, 97, 97, 119, 119, 93, 93, 58, 0, 0, 1, 1, 54, 54, 79, 69, 69, 59, 59, 61, 61, 75, 58, 58, 68, 0, 58, 58, 71, 71, 33, 33, 16, 0, 0, 37, 37, 54, 54, 78, 74, 74, 69, 69, 38, 38, 53, 30, 30, 82, 0, 58, 58, 71, 71, 33, 33, 16, 0, 0, 37, 37, 54, 54, 78, 74, 74, 69, 69, 38, 38, 53, 30, 30, 82, 19, 88, 88, 65, 65, 23, 23, 0, 9, 9, 49, 49, 66, 66, 71, 66, 66, 70, 70, 48, 48, 77, 56, 56, 73, 19, 88, 88, 65, 65, 23, 23, 0, 9, 9, 49, 49, 66, 66, 71, 66, 66, 70, 70, 48, 48, 77, 56, 56, 73, 54, 83, 83, 58, 58, 21, 21, 0, 24, 24, 55, 55, 70, 70, 68, 74, 74, 83, 83, 56, 56, 88, 91, 91, 82, 82, 51, 51, 60, 60, 42, 42, 61, 64, 64, 65, 65, 65, 65, 62, 82, 82, 91, 91, 71, 71, 103, 97, 97, 78, 82, 51, 51, 60, 60, 42, 42, 61, 64, 64, 65, 65, 65, 65, 62, 82, 82, 91, 91, 71, 71, 103, 97, 97, 78, 86, 54, 54, 70, 70, 70, 70, 109, 97, 97, 80, 80, 65, 65, 63, 80, 80, 80, 80, 90, 90, 114, 116, 116, 111, 86, 54, 54, 70, 70, 70, 70, 109, 97, 97, 80, 80, 65, 65, 63, 80, 80, 80, 80, 90, 90, 114, 116, 116, 111, 66, 94, 94, 76, 76, 77, 77, 87, 75, 75, 82, 82, 81, 81, 91, 90, 90, 71, 71, 102, 102, 81, 58, 58, 0, 66, 94, 94, 76, 76, 77, 77, 87, 75, 75, 82, 82, 81, 81, 91, 90, 90, 71, 71, 102, 102, 81, 58, 58, 0, 56, 113, 113, 84, 84, 68, 68, 61, 57, 57, 88, 88, 92, 92, 116, 111, 111, 93, 93, 130, 130, 34, 17, 17, 0, 63, 106, 106, 97, 97, 62, 62, 66, 81, 81, 110, 110, 94, 94, 114, 120, 120, 124, 124, 172, 172, 22, 4, 4, 23, 63, 106, 106, 97, 97, 62, 62, 66, 81, 81, 110, 110, 94, 94, 114, 120, 120, 124, 124, 172, 172, 22, 4, 4, 23, 85, 109, 109, 53, 53, 79, 79, 112, 107, 107, 115, 115, 117, 117, 122, 149, 149, 178, 178, 178, 178, 152, 11, 11, 31, 85, 109, 109, 53, 53, 79, 79, 112, 107, 107, 115, 115, 117, 117, 122, 149, 149, 178, 178, 178, 178, 152, 11, 11, 31, 87, 110, 110, 96, 96, 86, 86, 118, 125, 125, 138, 138, 160, 160, 179, 194, 194, 222, 222, 235, 235, 222, 95, 95, 68, 87, 110, 110, 96, 96, 86, 86, 118, 125, 125, 138, 138, 160, 160, 179, 194, 194, 222, 222, 235, 235, 222, 95, 95, 68, 97, 175, 175, 234, 234, 154, 154, 140, 146, 146, 152, 152, 200, 200, 242, 248, 248, 250, 250, 246, 246, 215, 150, 150, 115, 119, 164, 164, 225, 225, 157, 157, 162, 166, 166, 142, 142, 180, 180, 235, 237, 237, 225, 225, 198, 198, 146, 135, 135, 129, 119, 164, 164, 225, 225, 157, 157, 162, 166, 166, 142, 142, 180, 180, 235, 237, 237, 225, 225, 198, 198, 146, 135, 135, 129, 129, 129, 129, 164, 164, 153, 153, 183, 183, 183, 128, 128, 134, 134, 171, 173, 173, 169, 169, 158, 158, 123, 141, 141, 145};
99
		int band1[] = { 14, 101, 101, 127, 127, 108, 108, 75, 18, 18, 17, 17, 61, 61, 78, 65, 65, 59, 59, 65, 65, 84, 85, 85, 90, 14, 101, 101, 127, 127, 108, 108, 75, 18, 18, 17, 17, 61, 61, 78, 65, 65, 59, 59, 65, 65, 84, 85, 85, 90, 11, 86, 86, 102, 102, 61, 61, 39, 7, 7, 43, 43, 59, 59, 85, 83, 83, 82, 82, 52, 52, 70, 47, 47, 98, 11, 86, 86, 102, 102, 61, 61, 39, 7, 7, 43, 43, 59, 59, 85, 83, 83, 82, 82, 52, 52, 70, 47, 47, 98, 37, 115, 115, 94, 94, 47, 47, 6, 18, 18, 56, 56, 71, 71, 77, 75, 75, 82, 82, 63, 63, 96, 70, 70, 85, 37, 115, 115, 94, 94, 47, 47, 6, 18, 18, 56, 56, 71, 71, 77, 75, 75, 82, 82, 63, 63, 96, 70, 70, 85, 72, 108, 108, 79, 79, 37, 37, 4, 37, 37, 65, 65, 78, 78, 72, 81, 81, 93, 93, 71, 71, 107, 105, 105, 94, 100, 70, 70, 75, 75, 51, 51, 66, 81, 81, 79, 79, 73, 73, 66, 88, 88, 101, 101, 87, 87, 121, 112, 112, 93, 100, 70, 70, 75, 75, 51, 51, 66, 81, 81, 79, 79, 73, 73, 66, 88, 88, 101, 101, 87, 87, 121, 112, 112, 93, 104, 72, 72, 82, 82, 78, 78, 111, 115, 115, 96, 96, 75, 75, 69, 84, 84, 88, 88, 104, 104, 131, 129, 129, 124, 104, 72, 72, 82, 82, 78, 78, 111, 115, 115, 96, 96, 75, 75, 69, 84, 84, 88, 88, 104, 104, 131, 129, 129, 124, 84, 109, 109, 88, 88, 85, 85, 91, 94, 94, 97, 97, 91, 91, 98, 94, 94, 79, 79, 112, 112, 94, 65, 65, 0, 84, 109, 109, 88, 88, 85, 85, 91, 94, 94, 97, 97, 91, 91, 98, 94, 94, 79, 79, 112, 112, 94, 65, 65, 0, 72, 128, 128, 97, 97, 78, 78, 68, 76, 76, 103, 103, 104, 104, 125, 117, 117, 98, 98, 137, 137, 43, 26, 26, 3, 79, 121, 121, 110, 110, 75, 75, 77, 98, 98, 124, 124, 107, 107, 123, 127, 127, 129, 129, 178, 178, 29, 20, 20, 38, 79, 121, 121, 110, 110, 75, 75, 77, 98, 98, 124, 124, 107, 107, 123, 127, 127, 129, 129, 178, 178, 29, 20, 20, 38, 104, 130, 130, 74, 74, 97, 97, 126, 123, 123, 130, 130, 133, 133, 137, 161, 161, 187, 187, 180, 180, 153, 7, 7, 35, 104, 130, 130, 74, 74, 97, 97, 126, 123, 123, 130, 130, 133, 133, 137, 161, 161, 187, 187, 180, 180, 153, 7, 7, 35, 102, 124, 124, 109, 109, 95, 95, 126, 135, 135, 147, 147, 172, 172, 190, 205, 205, 228, 228, 237, 237, 222, 89, 89, 68, 102, 124, 124, 109, 109, 95, 95, 126, 135, 135, 147, 147, 172, 172, 190, 205, 205, 228, 228, 237, 237, 222, 89, 89, 68, 106, 182, 182, 236, 236, 151, 151, 134, 145, 145, 153, 153, 204, 204, 249, 254, 254, 255, 255, 247, 247, 215, 140, 140, 114, 120, 158, 158, 215, 215, 143, 143, 146, 159, 159, 136, 136, 181, 181, 238, 242, 242, 230, 230, 200, 200, 146, 126, 126, 124, 120, 158, 158, 215, 215, 143, 143, 146, 159, 159, 136, 136, 181, 181, 238, 242, 242, 230, 230, 200, 200, 146, 126, 126, 124, 122, 117, 117, 148, 148, 133, 133, 163, 173, 173, 122, 122, 132, 132, 173, 176, 176, 172, 172, 160, 160, 123, 133, 133, 140};
100
		int band2[] = { 0, 68, 68, 88, 88, 67, 67, 31, 0, 0, 0, 0, 28, 28, 48, 36, 36, 31, 31, 38, 38, 57, 42, 42, 52, 0, 68, 68, 88, 88, 67, 67, 31, 0, 0, 0, 0, 28, 28, 48, 36, 36, 31, 31, 38, 38, 57, 42, 42, 52, 0, 37, 37, 42, 42, 23, 23, 31, 0, 0, 29, 29, 36, 36, 54, 52, 52, 56, 56, 35, 35, 60, 11, 11, 61, 0, 37, 37, 42, 42, 23, 23, 31, 0, 0, 29, 29, 36, 36, 54, 52, 52, 56, 56, 35, 35, 60, 11, 11, 61, 23, 70, 70, 38, 38, 13, 13, 0, 1, 1, 38, 38, 49, 49, 51, 48, 48, 58, 58, 42, 42, 76, 57, 57, 71, 23, 70, 70, 38, 38, 13, 13, 0, 1, 1, 38, 38, 49, 49, 51, 48, 48, 58, 58, 42, 42, 76, 57, 57, 71, 60, 69, 69, 36, 36, 10, 10, 0, 7, 7, 38, 38, 55, 55, 55, 63, 63, 69, 69, 42, 42, 75, 92, 92, 80, 86, 42, 42, 42, 42, 30, 30, 59, 39, 39, 44, 44, 50, 50, 52, 74, 74, 77, 77, 51, 51, 79, 83, 83, 64, 86, 42, 42, 42, 42, 30, 30, 59, 39, 39, 44, 44, 50, 50, 52, 74, 74, 77, 77, 51, 51, 79, 83, 83, 64, 88, 50, 50, 58, 58, 57, 57, 97, 73, 73, 60, 60, 51, 51, 55, 70, 70, 65, 65, 69, 69, 89, 111, 111, 107, 88, 50, 50, 58, 58, 57, 57, 97, 73, 73, 60, 60, 51, 51, 55, 70, 70, 65, 65, 69, 69, 89, 111, 111, 107, 62, 90, 90, 68, 68, 62, 62, 68, 62, 62, 68, 68, 67, 67, 80, 77, 77, 56, 56, 85, 85, 64, 75, 75, 12, 62, 90, 90, 68, 68, 62, 62, 68, 62, 62, 68, 68, 67, 67, 80, 77, 77, 56, 56, 85, 85, 64, 75, 75, 12, 46, 109, 109, 79, 79, 53, 53, 35, 56, 56, 82, 82, 80, 80, 98, 91, 91, 76, 76, 119, 119, 26, 21, 21, 2, 50, 102, 102, 92, 92, 47, 47, 37, 88, 88, 107, 107, 81, 81, 92, 96, 96, 106, 106, 164, 164, 22, 0, 0, 0, 50, 102, 102, 92, 92, 47, 47, 37, 88, 88, 107, 107, 81, 81, 92, 96, 96, 106, 106, 164, 164, 22, 0, 0, 0, 84, 111, 111, 55, 55, 75, 75, 103, 97, 97, 111, 111, 120, 120, 130, 159, 159, 184, 184, 177, 177, 148, 24, 24, 36, 84, 111, 111, 55, 55, 75, 75, 103, 97, 97, 111, 111, 120, 120, 130, 159, 159, 184, 184, 177, 177, 148, 24, 24, 36, 83, 107, 107, 91, 91, 76, 76, 105, 111, 111, 128, 128, 158, 158, 182, 201, 201, 228, 228, 236, 236, 220, 101, 101, 66, 83, 107, 107, 91, 91, 76, 76, 105, 111, 111, 128, 128, 158, 158, 182, 201, 201, 228, 228, 236, 236, 220, 101, 101, 66, 87, 166, 166, 222, 222, 136, 136, 118, 124, 124, 135, 135, 190, 190, 241, 250, 250, 254, 254, 249, 249, 215, 148, 148, 109, 102, 144, 144, 203, 203, 130, 130, 133, 141, 141, 120, 120, 167, 167, 227, 235, 235, 226, 226, 199, 199, 148, 127, 127, 118, 102, 144, 144, 203, 203, 130, 130, 133, 141, 141, 120, 120, 167, 167, 227, 235, 235, 226, 226, 199, 199, 148, 127, 127, 118, 106, 101, 101, 133, 133, 122, 122, 152, 161, 161, 108, 108, 119, 119, 160, 165, 165, 165, 165, 155, 155, 121, 130, 130, 134};
101
		compareRaster(raster, band0, band1, band2);
102
	}
103

  
104
	private void dataTest2(IBuffer raster) {
105
		int band0[] = { 80, 80, 82, 82};
106
		int band1[] = { 96, 96, 97, 97};
107
		int band2[] = { 60, 60, 68, 68};
108
		compareRaster(raster, band0, band1, band2);
109
	}
110
	
111
	private void dataTest3(IBuffer raster) {
112
		int band0[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
113
		int band1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
114
		int band2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
115
		compareRaster(raster, band0, band1, band2);
116
	}
117

  
118
	private void dataTest4(IBuffer raster) {
119
		int band0[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
120
		int band1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
121
		int band2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
122
		compareRaster(raster, band0, band1, band2);
123
	}
124
	
125
	private void dataTest5(IBuffer raster) {
126
		int band0[] = { 86, 86, 54, 54, 54, 54, 70, 70, 70, 70, 70, 70, 70, 70, 109, 109, 97, 97, 97, 97, 86, 86, 54, 54, 54, 54, 70, 70, 70, 70, 70, 70, 70, 70, 109, 109, 97, 97, 97, 97, 66, 66, 94, 94, 94, 94, 76, 76, 76, 76, 77, 77, 77, 77, 87, 87, 75, 75, 75, 75, 66, 66, 94, 94, 94, 94, 76, 76, 76, 76, 77, 77, 77, 77, 87, 87, 75, 75, 75, 75, 66, 66, 94, 94, 94, 94, 76, 76, 76, 76, 77, 77, 77, 77, 87, 87, 75, 75, 75, 75, 66, 66, 94, 94, 94, 94, 76, 76, 76, 76, 77, 77, 77, 77, 87, 87, 75, 75, 75, 75, 56, 56, 113, 113, 113, 113, 84, 84, 84, 84, 68, 68, 68, 68, 61, 61, 57, 57, 57, 57, 56, 56, 113, 113, 113, 113, 84, 84, 84, 84, 68, 68, 68, 68, 61, 61, 57, 57, 57, 57, 63, 63, 106, 106, 106, 106, 97, 97, 97, 97, 62, 62, 62, 62, 66, 66, 81, 81, 81, 81, 63, 63, 106, 106, 106, 106, 97, 97, 97, 97, 62, 62, 62, 62, 66, 66, 81, 81, 81, 81, 63, 63, 106, 106, 106, 106, 97, 97, 97, 97, 62, 62, 62, 62, 66, 66, 81, 81, 81, 81, 63, 63, 106, 106, 106, 106, 97, 97, 97, 97, 62, 62, 62, 62, 66, 66, 81, 81, 81, 81, 85, 85, 109, 109, 109, 109, 53, 53, 53, 53, 79, 79, 79, 79, 112, 112, 107, 107, 107, 107, 85, 85, 109, 109, 109, 109, 53, 53, 53, 53, 79, 79, 79, 79, 112, 112, 107, 107, 107, 107, 85, 85, 109, 109, 109, 109, 53, 53, 53, 53, 79, 79, 79, 79, 112, 112, 107, 107, 107, 107, 85, 85, 109, 109, 109, 109, 53, 53, 53, 53, 79, 79, 79, 79, 112, 112, 107, 107, 107, 107, 87, 87, 110, 110, 110, 110, 96, 96, 96, 96, 86, 86, 86, 86, 118, 118, 125, 125, 125, 125, 87, 87, 110, 110, 110, 110, 96, 96, 96, 96, 86, 86, 86, 86, 118, 118, 125, 125, 125, 125, 87, 87, 110, 110, 110, 110, 96, 96, 96, 96, 86, 86, 86, 86, 118, 118, 125, 125, 125, 125, 87, 87, 110, 110, 110, 110, 96, 96, 96, 96, 86, 86, 86, 86, 118, 118, 125, 125, 125, 125};
127
		int band1[] = { 104, 104, 72, 72, 72, 72, 82, 82, 82, 82, 78, 78, 78, 78, 111, 111, 115, 115, 115, 115, 104, 104, 72, 72, 72, 72, 82, 82, 82, 82, 78, 78, 78, 78, 111, 111, 115, 115, 115, 115, 84, 84, 109, 109, 109, 109, 88, 88, 88, 88, 85, 85, 85, 85, 91, 91, 94, 94, 94, 94, 84, 84, 109, 109, 109, 109, 88, 88, 88, 88, 85, 85, 85, 85, 91, 91, 94, 94, 94, 94, 84, 84, 109, 109, 109, 109, 88, 88, 88, 88, 85, 85, 85, 85, 91, 91, 94, 94, 94, 94, 84, 84, 109, 109, 109, 109, 88, 88, 88, 88, 85, 85, 85, 85, 91, 91, 94, 94, 94, 94, 72, 72, 128, 128, 128, 128, 97, 97, 97, 97, 78, 78, 78, 78, 68, 68, 76, 76, 76, 76, 72, 72, 128, 128, 128, 128, 97, 97, 97, 97, 78, 78, 78, 78, 68, 68, 76, 76, 76, 76, 79, 79, 121, 121, 121, 121, 110, 110, 110, 110, 75, 75, 75, 75, 77, 77, 98, 98, 98, 98, 79, 79, 121, 121, 121, 121, 110, 110, 110, 110, 75, 75, 75, 75, 77, 77, 98, 98, 98, 98, 79, 79, 121, 121, 121, 121, 110, 110, 110, 110, 75, 75, 75, 75, 77, 77, 98, 98, 98, 98, 79, 79, 121, 121, 121, 121, 110, 110, 110, 110, 75, 75, 75, 75, 77, 77, 98, 98, 98, 98, 104, 104, 130, 130, 130, 130, 74, 74, 74, 74, 97, 97, 97, 97, 126, 126, 123, 123, 123, 123, 104, 104, 130, 130, 130, 130, 74, 74, 74, 74, 97, 97, 97, 97, 126, 126, 123, 123, 123, 123, 104, 104, 130, 130, 130, 130, 74, 74, 74, 74, 97, 97, 97, 97, 126, 126, 123, 123, 123, 123, 104, 104, 130, 130, 130, 130, 74, 74, 74, 74, 97, 97, 97, 97, 126, 126, 123, 123, 123, 123, 102, 102, 124, 124, 124, 124, 109, 109, 109, 109, 95, 95, 95, 95, 126, 126, 135, 135, 135, 135, 102, 102, 124, 124, 124, 124, 109, 109, 109, 109, 95, 95, 95, 95, 126, 126, 135, 135, 135, 135, 102, 102, 124, 124, 124, 124, 109, 109, 109, 109, 95, 95, 95, 95, 126, 126, 135, 135, 135, 135, 102, 102, 124, 124, 124, 124, 109, 109, 109, 109, 95, 95, 95, 95, 126, 126, 135, 135, 135, 135};
128
		int band2[] = { 88, 88, 50, 50, 50, 50, 58, 58, 58, 58, 57, 57, 57, 57, 97, 97, 73, 73, 73, 73, 88, 88, 50, 50, 50, 50, 58, 58, 58, 58, 57, 57, 57, 57, 97, 97, 73, 73, 73, 73, 62, 62, 90, 90, 90, 90, 68, 68, 68, 68, 62, 62, 62, 62, 68, 68, 62, 62, 62, 62, 62, 62, 90, 90, 90, 90, 68, 68, 68, 68, 62, 62, 62, 62, 68, 68, 62, 62, 62, 62, 62, 62, 90, 90, 90, 90, 68, 68, 68, 68, 62, 62, 62, 62, 68, 68, 62, 62, 62, 62, 62, 62, 90, 90, 90, 90, 68, 68, 68, 68, 62, 62, 62, 62, 68, 68, 62, 62, 62, 62, 46, 46, 109, 109, 109, 109, 79, 79, 79, 79, 53, 53, 53, 53, 35, 35, 56, 56, 56, 56, 46, 46, 109, 109, 109, 109, 79, 79, 79, 79, 53, 53, 53, 53, 35, 35, 56, 56, 56, 56, 50, 50, 102, 102, 102, 102, 92, 92, 92, 92, 47, 47, 47, 47, 37, 37, 88, 88, 88, 88, 50, 50, 102, 102, 102, 102, 92, 92, 92, 92, 47, 47, 47, 47, 37, 37, 88, 88, 88, 88, 50, 50, 102, 102, 102, 102, 92, 92, 92, 92, 47, 47, 47, 47, 37, 37, 88, 88, 88, 88, 50, 50, 102, 102, 102, 102, 92, 92, 92, 92, 47, 47, 47, 47, 37, 37, 88, 88, 88, 88, 84, 84, 111, 111, 111, 111, 55, 55, 55, 55, 75, 75, 75, 75, 103, 103, 97, 97, 97, 97, 84, 84, 111, 111, 111, 111, 55, 55, 55, 55, 75, 75, 75, 75, 103, 103, 97, 97, 97, 97, 84, 84, 111, 111, 111, 111, 55, 55, 55, 55, 75, 75, 75, 75, 103, 103, 97, 97, 97, 97, 84, 84, 111, 111, 111, 111, 55, 55, 55, 55, 75, 75, 75, 75, 103, 103, 97, 97, 97, 97, 83, 83, 107, 107, 107, 107, 91, 91, 91, 91, 76, 76, 76, 76, 105, 105, 111, 111, 111, 111, 83, 83, 107, 107, 107, 107, 91, 91, 91, 91, 76, 76, 76, 76, 105, 105, 111, 111, 111, 111, 83, 83, 107, 107, 107, 107, 91, 91, 91, 91, 76, 76, 76, 76, 105, 105, 111, 111, 111, 111, 83, 83, 107, 107, 107, 107, 91, 91, 91, 91, 76, 76, 76, 76, 105, 105, 111, 111, 111, 111};
129
		compareRaster(raster, band0, band1, band2);
130
	}
131

  
132
	private void dataTest6(IBuffer raster) {
133
		int band0[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
134
		int band1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
135
		int band2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
136
		compareRaster(raster, band0, band1, band2);
137
	}
138

  
139
	private void dataTest7(IBuffer raster) {
140
		int band0[] = { 14, 93, 1, 69, 61, 19, 23, 49, 66, 48, 86, 70, 80, 80, 90, 63, 62, 110, 120, 172, 87, 86, 138, 194, 235};
141
		int band1[] = { 14, 108, 17, 65, 65, 37, 47, 56, 75, 63, 104, 78, 96, 84, 104, 79, 75, 124, 127, 178, 102, 95, 147, 205, 237};
142
		int band2[] = { 0, 67, 0, 36, 38, 23, 13, 38, 48, 42, 88, 57, 60, 70, 69, 50, 47, 107, 96, 164, 83, 76, 128, 201, 236};
143
		compareRaster(raster, band0, band1, band2);
144
	}
145
	
107 146
	public void testStack() throws RasterDriverException {
108
		//**************************************
109
		//Prueba getWindowRaster(int x, int y, int w, int h, BandList bandList, IBuffer rasterBuf)
110
		
111
		//COMPLETA
112
		IBuffer buffer = RasterBuffer.getBuffer(f.getDataType()[0], 25, 24, 3, true);
113 147
		try {
148
			//**************************************
149
			//Prueba getWindowRaster(int x, int y, int w, int h, BandList bandList, IBuffer rasterBuf)
150
			//COMPLETA
151
			IBuffer buffer = RasterBuffer.getBuffer(f.getDataType()[0], 25, 24, 3, true);
114 152
			f.getWindowRaster(0, 0, 25, 24, bandList, buffer);
115
		} catch (InterruptedException e) {
116
			e.printStackTrace();
117
		}
118
		dataTest1(buffer);
119
		
120
		//ZOOM
121
		buffer = RasterBuffer.getBuffer(f.getDataType()[0], 2, 2, 3, true);
122
		try {
153
			dataTest1(buffer);
154
			
155
			//ZOOM
156
			buffer = RasterBuffer.getBuffer(f.getDataType()[0], 2, 2, 3, true);
123 157
			f.getWindowRaster(10, 10, 2, 2, bandList, buffer);
124
		} catch (InterruptedException e) {
125
			e.printStackTrace();
126
		}
127
		dataTest2(buffer);
128
		
129
		//**************************************		
130
		//Prueba de getWindowRaster(double minX, double minY, double maxX, double maxY, int bufWidth, int bufHeight, BandList bandList, IBuffer rasterBuf, boolean adjustToExtent)
131
		
132
		//EXTENT COMPLETO
133
		buffer = RasterBuffer.getBuffer(f.getDataType()[0], 25, 24, 3, true);
134
		try {
135
			f.getWindowRaster(f.getExtent().minX(),
136
								f.getExtent().minY(),
137
								f.getExtent().maxX(),
138
								f.getExtent().maxY(),
139
								25, 24, bandList, buffer, true);
140
		} catch (InterruptedException e) {
141
			e.printStackTrace();
142
		}
143
		dataTest1(buffer);
158
			dataTest2(buffer);
159

  
160
			//**************************************		
161
			//Prueba de getWindowRaster(double minX, double minY, double maxX, double maxY, int bufWidth, int bufHeight, BandList bandList, IBuffer rasterBuf, boolean adjustToExtent)
162
			//EXTENT COMPLETO
163
			buffer = RasterBuffer.getBuffer(f.getDataType()[0], 25, 24, 3, true);
164
			f.getWindowRaster(f.getExtent().minX(), f.getExtent().minY(), f.getExtent().maxX(), f.getExtent().maxY(), 25, 24, bandList, buffer, true);
165
			dataTest3(buffer);
144 166
			
145
		//ZOOM + subsampling
146
		buffer = RasterBuffer.getBuffer(f.getDataType()[0], 8, 8, 3, true);
147
		try {
148
			f.getWindowRaster(	Math.ceil(f.getExtent().minX()),
149
								Math.ceil(f.getExtent().minY()),
150
								Math.floor(f.getExtent().maxX()),
151
								Math.floor(f.getExtent().maxY()),
152
								8, 8, bandList, buffer, true);
153
		} catch (InterruptedException e) {
154
			e.printStackTrace();
155
		}
156
		dataTest3(buffer);
157
		
158
		//ZOOM + supersampling
159
		buffer = RasterBuffer.getBuffer(f.getDataType()[0], 20, 20, 3, true);
160
		try {
161
			f.getWindowRaster(	Math.ceil(f.getExtent().minX()),
162
								Math.ceil(f.getExtent().minY()),
163
								Math.floor(f.getExtent().minX() + 10),
164
								Math.floor(f.getExtent().minY() + 10),
165
								20, 20, bandList, buffer, true);
166
		} catch (InterruptedException e) {
167
			e.printStackTrace();
168
		}
169
		
170
		
171
		//**************************************
172
		//Prueba de getWindowRaster(double x, double y, double w, double h, BandList bandList, IBuffer rasterBuf, boolean adjustToExtent)
173
		
174
		//COMPLETA
175
		buffer = RasterBuffer.getBuffer(f.getDataType()[0], 25, 24, 3, true);
176
		try {
177
			f.getWindowRaster(	f.getExtent().minX(),
178
								f.getExtent().maxY(),
179
								f.getExtent().width(),
180
								f.getExtent().height(),
181
								bandList, buffer, true);
182
		} catch (InterruptedException e) {
183
			e.printStackTrace();
184
		}
185
		dataTest1(buffer);
186
		
187
		//**************************************
188
		//Prueba de getWindowRaster(int x, int y, int w, int h, int bufWidth, int bufHeight, BandList bandList, IBuffer rasterBuf)
189
		
190
		//COMPLETA
191
		buffer = RasterBuffer.getBuffer(f.getDataType()[0], 5, 5, 3, true);
192
		try {
167
			//ZOOM + subsampling
168
			buffer = RasterBuffer.getBuffer(f.getDataType()[0], 8, 8, 3, true);
169
			f.getWindowRaster(Math.ceil(f.getExtent().minX()), Math.ceil(f.getExtent().minY()), Math.floor(f.getExtent().maxX()), Math.floor(f.getExtent().maxY()), 8, 8, bandList, buffer, true);
170
			dataTest4(buffer);
171
			
172
			//ZOOM + supersampling
173
			buffer = RasterBuffer.getBuffer(f.getDataType()[0], 20, 20, 3, true);
174
			f.getWindowRaster(Math.ceil(f.getExtent().minX()), Math.ceil(f.getExtent().minY()), Math.floor(f.getExtent().minX() + 10), Math.floor(f.getExtent().minY() + 10), 20, 20, bandList, buffer, true);
175
			dataTest5(buffer);
176
			
177
			//**************************************
178
			//Prueba de getWindowRaster(double x, double y, double w, double h, BandList bandList, IBuffer rasterBuf, boolean adjustToExtent)
179
			//COMPLETA
180
			buffer = RasterBuffer.getBuffer(f.getDataType()[0], 25, 24, 3, true);
181
			f.getWindowRaster(f.getExtent().minX(), f.getExtent().maxY(), f.getExtent().width(), f.getExtent().height(), bandList, buffer, true);
182
			dataTest6(buffer);
183
			
184
			//**************************************
185
			//Prueba de getWindowRaster(int x, int y, int w, int h, int bufWidth, int bufHeight, BandList bandList, IBuffer rasterBuf)
186
			//COMPLETA
187
			buffer = RasterBuffer.getBuffer(f.getDataType()[0], 5, 5, 3, true);
193 188
			f.getWindowRaster(0, 0, 25, 24, 5, 5, bandList, buffer);
189
			dataTest7(buffer);
194 190
		} catch (InterruptedException e) {
195 191
			e.printStackTrace();
196 192
		}
197
		dataTest4(buffer);
198
		
199 193
	}
200
	
201
	
202
	private void dataTest1(IBuffer raster){
203
		//Upper Left
204
		assertEquals((int)(raster.getElemByte(0, 0, 0) & 0xff), 14);
205
		assertEquals((int)(raster.getElemByte(0, 0, 1) & 0xff), 14);
206
		assertEquals((int)(raster.getElemByte(0, 0, 2) & 0xff), 0);
207
		//Upper Right
208
		assertEquals((int)(raster.getElemByte(0, 24, 0) & 0xff), 68);
209
		assertEquals((int)(raster.getElemByte(0, 24, 1) & 0xff), 90);
210
		assertEquals((int)(raster.getElemByte(0, 24, 2) & 0xff), 52);
211
		//Lower Left
212
		assertEquals((int)(raster.getElemByte(23, 0, 0) & 0xff), 129);
213
		assertEquals((int)(raster.getElemByte(23, 0, 1) & 0xff), 122);
214
		assertEquals((int)(raster.getElemByte(23, 0, 2) & 0xff), 106);
215
		//Lower Right
216
		assertEquals((int)(raster.getElemByte(23, 24, 0) & 0xff), 145);
217
		assertEquals((int)(raster.getElemByte(23, 24, 1) & 0xff), 140);
218
		assertEquals((int)(raster.getElemByte(23, 24, 2) & 0xff), 134);
219
		
220
		assertEquals((int)(raster.getElemByte(6, 6, 0) & 0xff), 21);
221
		assertEquals((int)(raster.getElemByte(6, 6, 1) & 0xff), 37);
222
		assertEquals((int)(raster.getElemByte(6, 6, 2) & 0xff), 10);
223
		
224
		assertEquals((int)(raster.getElemByte(6, 23, 0) & 0xff), 91);
225
		assertEquals((int)(raster.getElemByte(6, 23, 1) & 0xff), 105);
226
		assertEquals((int)(raster.getElemByte(6, 23, 2) & 0xff), 92);
227
		
228
		assertEquals((int)(raster.getElemByte(23, 6, 0) & 0xff), 153);
229
		assertEquals((int)(raster.getElemByte(23, 6, 1) & 0xff), 133);
230
		assertEquals((int)(raster.getElemByte(23, 6, 2) & 0xff), 122);
231
		
232
		assertEquals((int)(raster.getElemByte(9, 14, 0) & 0xff), 63);
233
		assertEquals((int)(raster.getElemByte(9, 14, 1) & 0xff), 69);
234
		assertEquals((int)(raster.getElemByte(9, 14, 2) & 0xff), 55);
235
		
236
		assertEquals((int)(raster.getElemByte(6, 13, 0) & 0xff), 70);
237
		assertEquals((int)(raster.getElemByte(6, 13, 1) & 0xff), 78);
238
		assertEquals((int)(raster.getElemByte(6, 13, 2) & 0xff), 55);
194

  
195
	public void compareRaster(IBuffer raster, int band0[], int band1[], int band2[]) {
196
		int cont = 0;
197
		for (int line = 0; line < raster.getHeight(); line++) {
198
			for (int col = 0; col < raster.getWidth(); col++) {
199
				assertEquals((int) (raster.getElemByte(line, col, 0) & 0xff), band0[cont]);
200
				assertEquals((int) (raster.getElemByte(line, col, 1) & 0xff), band1[cont]);
201
				assertEquals((int) (raster.getElemByte(line, col, 2) & 0xff), band2[cont]);
202
				cont++;
203
			}
204
		}
239 205
	}
240 206
	
241
	private void dataTest2(IBuffer raster){
242
		//Upper Left
243
		assertEquals((int)(raster.getElemByte(0, 0, 0) & 0xff), 80);
244
		assertEquals((int)(raster.getElemByte(0, 0, 1) & 0xff), 96);
245
		assertEquals((int)(raster.getElemByte(0, 0, 2) & 0xff), 60);
246
		//Upper Right
247
		assertEquals((int)(raster.getElemByte(0, 1, 0) & 0xff), 80);
248
		assertEquals((int)(raster.getElemByte(0, 1, 1) & 0xff), 96);
249
		assertEquals((int)(raster.getElemByte(0, 1, 2) & 0xff), 60);
250
		//Lower Left
251
		assertEquals((int)(raster.getElemByte(1, 0, 0) & 0xff), 82);
252
		assertEquals((int)(raster.getElemByte(1, 0, 1) & 0xff), 97);
253
		assertEquals((int)(raster.getElemByte(1, 0, 2) & 0xff), 68);
254
		//Lower Right
255
		assertEquals((int)(raster.getElemByte(1, 1, 0) & 0xff), 82);
256
		assertEquals((int)(raster.getElemByte(1, 1, 1) & 0xff), 97);
257
		assertEquals((int)(raster.getElemByte(1, 1, 2) & 0xff), 68);
258
	}
259
	
260
	private void dataTest3(IBuffer raster){
261
		//Upper Left
262
		assertEquals((int)(raster.getElemByte(0, 0, 0) & 0xff), 14);
263
		assertEquals((int)(raster.getElemByte(0, 0, 1) & 0xff), 14);
264
		assertEquals((int)(raster.getElemByte(0, 0, 2) & 0xff), 0);
265
		//Upper Right
266
		assertEquals((int)(raster.getElemByte(0, 7, 0) & 0xff), 75);
267
		assertEquals((int)(raster.getElemByte(0, 7, 1) & 0xff), 84);
268
		assertEquals((int)(raster.getElemByte(0, 7, 2) & 0xff), 57);
269
		//Lower Left
270
		assertEquals((int)(raster.getElemByte(7, 0, 0) & 0xff), 97);
271
		assertEquals((int)(raster.getElemByte(7, 0, 1) & 0xff), 106);
272
		assertEquals((int)(raster.getElemByte(7, 0, 2) & 0xff), 87);
273
		//Lower Right
274
		assertEquals((int)(raster.getElemByte(7, 7, 0) & 0xff), 215);
275
		assertEquals((int)(raster.getElemByte(7, 7, 1) & 0xff), 215);
276
		assertEquals((int)(raster.getElemByte(7, 7, 2) & 0xff), 215);
277
	}
278
	
279
	private void dataTest4(IBuffer raster){
280
		//Upper Left
281
		assertEquals((int)(raster.getElemByte(0, 0, 0) & 0xff), 14);
282
		assertEquals((int)(raster.getElemByte(0, 0, 1) & 0xff), 14);
283
		assertEquals((int)(raster.getElemByte(0, 0, 2) & 0xff), 0);
284
		//Upper Right
285
		assertEquals((int)(raster.getElemByte(0, 4, 0) & 0xff), 61);
286
		assertEquals((int)(raster.getElemByte(0, 4, 1) & 0xff), 65);
287
		assertEquals((int)(raster.getElemByte(0, 4, 2) & 0xff), 38);
288
		//Lower Left
289
		assertEquals((int)(raster.getElemByte(4, 0, 0) & 0xff), 87);
290
		assertEquals((int)(raster.getElemByte(4, 0, 1) & 0xff), 102);
291
		assertEquals((int)(raster.getElemByte(4, 0, 2) & 0xff), 83);
292
		//Lower Right
293
		assertEquals((int)(raster.getElemByte(4, 4, 0) & 0xff), 235);
294
		assertEquals((int)(raster.getElemByte(4, 4, 1) & 0xff), 237);
295
		assertEquals((int)(raster.getElemByte(4, 4, 2) & 0xff), 236);
296
	}
297
	
298 207
	/**
299 208
	 * Imprime todos los pixels de la fuente de datos en RGB
300 209
	 */
301
	/*private void print(IBuffer raster){
302
		for(int line = 0; line < raster.getHeight(); line++){
303
			for(int col = 0; col < raster.getWidth(); col++)
304
				System.out.print("(" + (int)(raster.getElemByte(line, col, 0) & 0xff) + " " + (int)(raster.getElemByte(line, col, 1) & 0xff) + " " + (int)(raster.getElemByte(line, col, 2) & 0xff) + ")");
305
			System.out.println();
210
	public void print(IBuffer raster) {
211
		System.out.println("");
212
		for (int band = 0; band < 3; band++) {
213
			System.out.print("int band" + band + "[] = { ");
214
			int cont = 0;
215
			for (int line = 0; line < raster.getHeight(); line++) {
216
				for (int col = 0; col < raster.getWidth(); col++) {
217
					if (cont != 0)
218
						System.out.print(", ");
219
					System.out.print(((int) (raster.getElemByte(line, col, band) & 0xff)));
220
					cont++;
221
				}
222
			}
223
			System.out.println("};");
306 224
		}
307
	}*/
225
	}
308 226
}
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataset/TestBandList.java
1
/*
2
 * Created on 9-ago-2006
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
3 2
 *
4
 * To change the template for this generated file go to
5
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
6
 */
7
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
8 4
 *
9
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
10
 *
11 5
 * This program is free software; you can redistribute it and/or
12 6
 * modify it under the terms of the GNU General Public License
13 7
 * as published by the Free Software Foundation; either version 2
......
27 21
import junit.framework.TestCase;
28 22

  
29 23
import org.gvsig.raster.RasterLibrary;
30

  
31 24
/**
32
 * 
33 25
 * @author Nacho Brodin (nachobrodin@gmail.com)
34
 *
35 26
 */
36 27
public class TestBandList extends TestCase {
28
	private boolean  showCode = false;
37 29
	private BandList bandList = null;
38
	
30

  
39 31
	static {
40 32
		RasterLibrary.wakeUp();
41 33
	}
42
	
34

  
43 35
	public void start() {
44 36
		this.setUp();
45 37
		this.testStack();
46 38
	}
47
	
39

  
48 40
	public void setUp() {
49 41
		System.err.println("TestBandList running...");
50 42
		bandList = new BandList();
51
		for(int i = 0; i < 5; i++) {
43
		for (int i = 0; i < 5; i++) {
52 44
			try {
53 45
				Band band = new Band("fileName", i, IBuffer.TYPE_BYTE);
54 46
				bandList.addBand(band, i);
55
			} catch(BandNotFoundInListException ex) {
56
				//No a?adimos la banda
47
			} catch (BandNotFoundInListException ex) {
48
				// No a?adimos la banda
57 49
			}
58 50
		}
59
		
60 51
	}
61
	
62
	public void testStack(){
52

  
53
	public void testStack() {
63 54
		bandList.clearDrawableBands();
64 55
		bandList.addDrawableBand(0, 1);
65 56
		bandList.addDrawableBand(1, 4);
66 57
		bandList.addDrawableBand(2, 3);
67
		
58

  
68 59
		bandList.clearDrawableBands();
69 60
		bandList.addDrawableBand(0, 3);
70 61
		bandList.addDrawableBand(1, 2);
71 62
		bandList.addDrawableBand(2, 4);
72 63
		bandList.addDrawableBand(3, 4);
73
		print();
64
		if (showCode)
65
			print();
74 66
	}
75
	
76
	/*private void test2() {
77
		assertEquals(bandList.getBandCount(), 5);
78
		assertEquals(bandList.getDrawableBandsCount(), 4);
79
		for (int i = 0; i < bandList.getBandCount(); i++) {
80
		
81
			assertEquals((((Band)bandList.getBand(i)).getDataType()), 0);
82
			assertEquals((((Band)bandList.getBand(i)).getFileName()), "fileName");
83
			assertEquals((((Band)bandList.getBand(i)).getPosition()), i);
84
		}
85
	}*/
86 67

  
68
//	private void test2() {
69
//		assertEquals(bandList.getBandCount(), 5);
70
//		assertEquals(bandList.getDrawableBandsCount(), 4);
71
//		for (int i = 0; i < bandList.getBandCount(); i++) {
72
//
73
//			assertEquals((((Band) bandList.getBand(i)).getDataType()), 0);
74
//			assertEquals((((Band) bandList.getBand(i)).getFileName()), "fileName");
75
//			assertEquals((((Band) bandList.getBand(i)).getPosition()), i);
76
//		}
77
//	}
78

  
87 79
	/**
88
	 *Muestra la lista de bandas en modo texto
80
	 * Muestra la lista de bandas en modo texto
89 81
	 */
90 82
	public void print() {
91 83
		System.out.println("BandCount: " + bandList.getBandCount());
......
94 86
			System.out.println("");
95 87
			System.out.println("***********************");
96 88
			System.out.println("Band: " + i);
97
			System.out.println("DataType: " + ((Band)bandList.getBand(i)).getDataType());
98
			System.out.println("FileName: " + ((Band)bandList.getBand(i)).getFileName());
99
			System.out.println("Position: " + ((Band)bandList.getBand(i)).getPosition());
100
			if(((Band)bandList.getBand(i)).getBufferBandListToDraw() != null) {
89
			System.out.println("DataType: " + ((Band) bandList.getBand(i)).getDataType());
90
			System.out.println("FileName: " + ((Band) bandList.getBand(i)).getFileName());
91
			System.out.println("Position: " + ((Band) bandList.getBand(i)).getPosition());
92
			if (((Band) bandList.getBand(i)).getBufferBandListToDraw() != null) {
101 93
				System.out.print("Band Dst: ");
102
				for (int j = 0; j < ((Band)bandList.getBand(i)).getBufferBandListToDraw().length; j++)
103
					System.out.print(((Band)bandList.getBand(i)).getBufferBandListToDraw()[j] + " ");
94
				for (int j = 0; j < ((Band) bandList.getBand(i)).getBufferBandListToDraw().length; j++)
95
					System.out.print(((Band) bandList.getBand(i)).getBufferBandListToDraw()[j] + " ");
104 96
			}
105 97
		}
106
		
107 98
	}
108 99
}
trunk/libraries/libRaster/src-test/org/gvsig/raster/grid/TGEmptyBufferForWrite.java
24 24
import org.gvsig.raster.buffer.RasterBufferInvalidAccessException;
25 25
import org.gvsig.raster.buffer.RasterBufferInvalidException;
26 26
import org.gvsig.raster.dataset.IBuffer;
27

  
28 27
/**
29 28
 * Este test prueba el acceso a datos a traves de un grid.
30
 * 1-Crear? un buffer vacio para escritura con la extensi?n pasado por par?metro. El extent
31
 * completo ser? igual que el extent de la vista asignada (SIN INTERPOLACI?N).
29
 * 
30
 * 1-Crear? un buffer vacio para escritura con la extensi?n pasado por
31
 *   par?metro. El extent completo ser? igual que el extent de la vista asignada
32
 *   (SIN INTERPOLACI?N).
32 33
 * 2-Comprueba que se calcule bien el n?mero de pixels
33 34
 * 3-Asigna datos al grid
34 35
 * 4-Los recupera comprobando que est?n bien asignados
35 36
 * 
36
 * 1-Crear? un buffer vacio para escritura con la extensi?n pasado por par?metro. El extent
37
 * completo ser? distinto que el extent de la vista asignada (CON INTERPOLACI?N).
37
 * 1-Crear? un buffer vacio para escritura con la extensi?n pasado por
38
 *   par?metro. El extent completo ser? distinto que el extent de la vista
39
 *   asignada (CON INTERPOLACI?N).
38 40
 * 2-Comprueba que se calcule bien el n?mero de pixels
39 41
 * 3-Asigna datos al grid
40
 * 4-Los recupera con distintos m?todos de interpolaci?n comprobando que est?n bien asignados
42
 * 4-Los recupera con distintos m?todos de interpolaci?n comprobando que est?n
43
 *   bien asignados
41 44
 * 
42 45
 * @author Nacho Brodin (nachobrodin@gmail.com)
43 46
 *
44 47
 */
45
public class TGEmptyBufferForWrite extends TestCase{
46
	
47
	static{
48
		RasterLibrary.wakeUp();	
48
public class TGEmptyBufferForWrite extends TestCase {
49

  
50
	static {
51
		RasterLibrary.wakeUp();
49 52
	}
50
	
53

  
51 54
	public void setUp() {
52 55
		System.err.println("TGEmptyBufferForWrite running...");
53 56
	}
54
	
55
	public void start(){
57

  
58
	public void start() {
56 59
		this.setUp();
57 60
		this.testStack();
58 61
	}
59
	
60
	public void testStack(){
62

  
63
	public void testStack() {
61 64
		try {
62
			//SIN INTERPOLACI?N
65
			// SIN INTERPOLACI?N
63 66
			GridExtent layerExtent = new GridExtent(1000, 1000, 1500, 1500, 50);
64
			Grid g = new Grid(layerExtent, layerExtent, IBuffer.TYPE_INT, new int[]{0, 1, 2});
67
			Grid g = new Grid(layerExtent, layerExtent, IBuffer.TYPE_INT, new int[] { 0, 1, 2 });
65 68

  
66
			//Tama?o en pixels
69
			// Tama?o en pixels
67 70
			assertEquals(layerExtent.getNX(), 10);
68 71
			assertEquals(layerExtent.getNY(), 10);
69 72
			assertEquals(g.getNX(), 10);
70 73
			assertEquals(g.getNY(), 10);
71
			
74

  
72 75
			for (int i = 0; i < g.getNX(); i++) {
73 76
				for (int j = 0; j < g.getNY(); j++)
74
					g.setCellValue(j, i, (int)(j * i));
77
					g.setCellValue(j, i, (int) (j * i));
75 78
			}
76
			//print(g);
79
			// print(g);
77 80
			for (int i = 0; i < g.getNX(); i++) {
78 81
				for (int j = 0; j < g.getNY(); j++)
79
					assertEquals(g.getCellValueAsInt(j, i), (int)(j * i));
82
					assertEquals(g.getCellValueAsInt(j, i), (int) (j * i));
80 83
			}
81
			
82
			//CON INTERPOLACI?N
84

  
85
			// CON INTERPOLACI?N
83 86
			GridExtent windowExtent = new GridExtent(1125, 1125, 1375, 1375, 50);
84 87
			layerExtent = new GridExtent(1000, 1000, 1500, 1500, 50);
85
			g = new Grid(layerExtent, windowExtent, IBuffer.TYPE_INT, new int[]{0, 1, 2});
88
			g = new Grid(layerExtent, windowExtent, IBuffer.TYPE_INT, new int[] { 0, 1, 2 });
86 89

  
87
			//Tama?o en pixels
90
			// Tama?o en pixels
88 91
			assertEquals(layerExtent.getNX(), 10);
89 92
			assertEquals(layerExtent.getNY(), 10);
90 93
			assertEquals(g.getNX(), 5);
91 94
			assertEquals(g.getNY(), 5);
92
			
95

  
93 96
			for (int i = 0; i < g.getLayerNX(); i++) {
94 97
				for (int j = 0; j < g.getLayerNY(); j++)
95
					g.setCellValue(j, i, (int)(j * i));
98
					g.setCellValue(j, i, (int) (j * i));
96 99
			}
97 100
			g.setInterpolationMethod(GridInterpolated.INTERPOLATION_BicubicSpline);
98
			int[][] m1 = new int[][]{{9, 12, 15, 18, 21}, {12, 16, 20, 24, 28}, {15, 20, 25, 30, 35}, {18, 24, 30, 36, 42}, {21, 28, 35, 42, 49}};
99
			//print(g);
101
			int[][] m1 = new int[][] { { 9, 12, 15, 18, 21 }, { 12, 16, 20, 24, 28 }, { 15, 20, 25, 30, 35 }, { 18, 24, 30, 36, 42 }, { 21, 28, 35, 42, 49 } };
102
			// print(g);
100 103
			compare(m1, g);
101
			
104

  
102 105
			g.setInterpolationMethod(GridInterpolated.INTERPOLATION_NearestNeighbour);
103
			//print(g);
104
			int[][] m2 = new int[][]{{9, 12, 15, 18, 21}, {12, 16, 20, 24, 28}, {15, 20, 25, 30, 35}, {18, 24, 30, 36, 42}, {21, 28, 35, 42, 49}};
106
			// print(g);
107
			int[][] m2 = new int[][] { { 9, 12, 15, 18, 21 }, { 12, 16, 20, 24, 28 }, { 15, 20, 25, 30, 35 }, { 18, 24, 30, 36, 42 }, { 21, 28, 35, 42, 49 } };
105 108
			compare(m2, g);
106
			
109

  
107 110
			g.setInterpolationMethod(GridInterpolated.INTERPOLATION_Bilinear);
108
			//print(g);
109
			int[][] m3 = new int[][]{{9, 12, 15, 18, 21}, {12, 16, 20, 24, 28}, {15, 20, 25, 30, 35}, {18, 24, 30, 36, 42}, {21, 28, 35, 42, 49}};
111
			// print(g);
112
			int[][] m3 = new int[][] { { 9, 12, 15, 18, 21 }, { 12, 16, 20, 24, 28 }, { 15, 20, 25, 30, 35 }, { 18, 24, 30, 36, 42 }, { 21, 28, 35, 42, 49 } };
110 113
			compare(m3, g);
111
			
114

  
112 115
			g.setInterpolationMethod(GridInterpolated.INTERPOLATION_BSpline);
113
			//print(g);
114
			int[][] m4 = new int[][]{{9, 11, 14, 18, 21}, {12, 15, 19, 23, 27}, {14, 20, 24, 29, 35}, {18, 23, 30, 36, 41}, {21, 27, 35, 42, 49}};
116
			// print(g);
117
			int[][] m4 = new int[][] { { 9, 11, 14, 18, 21 }, { 12, 15, 19, 23, 27 }, { 14, 20, 24, 29, 35 }, { 18, 23, 30, 36, 41 }, { 21, 27, 35, 42, 49 } };
115 118
			compare(m4, g);
116
			
119

  
117 120
			g.setInterpolationMethod(GridInterpolated.INTERPOLATION_InverseDistance);
118
			//print(g);
119
			int[][] m5 = new int[][]{{9, 12, 15, 18, 21}, {12, 16, 20, 24, 28}, {15, 20, 25, 30, 35}, {18, 24, 30, 36, 42}, {21, 28, 35, 42, 49}};
121
			// print(g);
122
			int[][] m5 = new int[][] { { 9, 12, 15, 18, 21 }, { 12, 16, 20, 24, 28 }, { 15, 20, 25, 30, 35 }, { 18, 24, 30, 36, 42 }, { 21, 28, 35, 42, 49 } };
120 123
			compare(m5, g);
121
						
124

  
122 125
		} catch (RasterBufferInvalidException e1) {
123 126
			e1.printStackTrace();
124
		}  catch (OutOfGridException e3) {
127
		} catch (OutOfGridException e3) {
125 128
			e3.printStackTrace();
126 129
		} catch (RasterBufferInvalidAccessException e) {
127 130
			e.printStackTrace();
......
131 134
	}
132 135
	
133 136
	private void compare(int[][] m, Grid g) throws RasterBufferInvalidAccessException, GridException {
134
		for(int line = 0; line < g.getNY(); line++){
135
			for(int col = 0; col < g.getNX(); col++)
137
		for (int line = 0; line < g.getNY(); line++) {
138
			for (int col = 0; col < g.getNX(); col++)
136 139
				assertEquals(g.getCellValueAsInt(col, line), m[line][col]);
137 140
		}
138 141
	}
......
149 152
		}
150 153
		System.out.println();
151 154
	}*/
152
	
153 155
}
trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/TestGdalByteMultiBandHistogram.java
1
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2 2
 *
3 3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4 4
 *
trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/TDSDoubleAdjustToExtentGdal.java
1
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2 2
 *
3 3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4 4
 *
trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/cache/TestRasterReadOnlyBuffer.java
72 72
			e.printStackTrace();
73 73
		}
74 74
		//Reducimos el tama?o de la cach? para poder trabajar con un volumen de datos reducido
75
		long cacheSize = RasterLibrary.cacheSize;
76
		double pageSize = RasterLibrary.pageSize;
75 77
		RasterLibrary.cacheSize = 1;
76 78
		RasterLibrary.pageSize = 0.2;
77 79
		
......
107 109

  
108 110
		}
109 111
		
112
		RasterLibrary.cacheSize = cacheSize;
113
		RasterLibrary.pageSize = pageSize;
110 114
	}
111 115
	
112 116
	public void testStack(){
trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/cache/TestStructCache.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
 */
1 19
package org.gvsig.raster.buffer.cache;
2 20

  
3 21
import junit.framework.TestCase;
4 22

  
5 23
import org.gvsig.raster.RasterLibrary;
6 24
import org.gvsig.raster.dataset.IBuffer;
7

  
8

  
9 25
/**
10 26
 * Test para comprobar la inicializaci?n de la cach?. El constructor de CacheStruct es el 
11 27
 * encargado de crear la estructura de cache. Esta clase comprueba que esta creaci?n
......
14 30
 * 
15 31
 * @author Nacho Brodin (nachobrodin@gmail.com)
16 32
 */
17
public class TestStructCache extends TestCase{
18
	private CacheStruct cs = null;
19
	
20
	static{
21
		RasterLibrary.wakeUp();	
33
public class TestStructCache extends TestCase {
34
	private boolean     showCode = false;
35
	private CacheStruct cs       = null;
36

  
37
	static {
38
		RasterLibrary.wakeUp();
22 39
	}
23
	
24
	public void start(){
40

  
41
	public void start() {
25 42
		this.setUp();
26 43
		this.testStack();
27 44
	}
28
	
45

  
29 46
	public void setUp() {
30 47
		System.err.println("TestStructCache running...");
31
		
32 48
	}
33 49
	
34 50
	public void testStack(){
35
		//Test para los siguientes valores
36
		//Cach? size = 20M
37
		//Pags Per Group = 5
38
		//Page size = 2M
51
		// Test para los siguientes valores
52
		// Cach? size = 20M
53
		// Pags Per Group = 5
54
		// Page size = 2M
39 55

  
40 56
		cs = new CacheStruct(3, IBuffer.TYPE_BYTE, 2048, 2048, 20, 2);
41
		print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 2048, 2048, IBuffer.TYPE_BYTE);
57
		if (showCode)
58
			print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 2048, 2048, IBuffer.TYPE_BYTE);
42 59
		assertEquals(cs.getHPag(), 256);
43 60
		assertEquals(cs.getNBands(), 3);
44 61
		assertEquals(cs.getCacheSize(), 23592960);
......
46 63
		assertEquals(cs.getPagSize(), 1572864);
47 64
		assertEquals(cs.getNPags(), 15);
48 65
		assertEquals(cs.getNGroups(), 3);
49
		System.out.println("**********************************************");
50
		
51
		
66
		if (showCode)
67
			System.out.println("**********************************************");
68

  
52 69
		cs = new CacheStruct(4, IBuffer.TYPE_INT, 5000, 5000, 20, 2);
53
		print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 5000, 5000, IBuffer.TYPE_INT);
70
		if (showCode)
71
			print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 5000, 5000, IBuffer.TYPE_INT);
54 72
		assertEquals(cs.getHPag(), 16);
55 73
		assertEquals(cs.getNBands(), 4);
56 74
		assertEquals(cs.getCacheSize(), 25600000);
......
58 76
		assertEquals(cs.getPagSize(), 1280000);
59 77
		assertEquals(cs.getNPags(), 20);
60 78
		assertEquals(cs.getNGroups(), 4);
61
		System.out.println("**********************************************");
62
		
79
		if (showCode)
80
			System.out.println("**********************************************");
81

  
63 82
		cs = new CacheStruct(3, IBuffer.TYPE_FLOAT, 42000, 42000, 20, 2);
64
		print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 42000, 42000, IBuffer.TYPE_FLOAT);
83
		if (showCode)
84
			print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 42000, 42000, IBuffer.TYPE_FLOAT);
65 85
		assertEquals(cs.getHPag(), 4);
66 86
		assertEquals(cs.getNBands(), 3);
67 87
		assertEquals(cs.getCacheSize(), 20160000);
......
69 89
		assertEquals(cs.getPagSize(), 2016000);
70 90
		assertEquals(cs.getNPags(), 10);
71 91
		assertEquals(cs.getNGroups(), 2);
72
		System.out.println("**********************************************");
73
		
92
		if (showCode)
93
			System.out.println("**********************************************");
94

  
74 95
		cs = new CacheStruct(1, IBuffer.TYPE_FLOAT, 105000, 105000, 20, 2);
75
		print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 105000, 105000, IBuffer.TYPE_FLOAT);
96
		if (showCode)
97
			print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 105000, 105000, IBuffer.TYPE_FLOAT);
76 98
		assertEquals(cs.getHPag(), 4);
77 99
		assertEquals(cs.getNBands(), 1);
78 100
		assertEquals(cs.getCacheSize(), 25200000);
......
80 102
		assertEquals(cs.getPagSize(), 1680000);
81 103
		assertEquals(cs.getNPags(), 15);
82 104
		assertEquals(cs.getNGroups(), 3);
83
		System.out.println("**********************************************");		
105
		if (showCode)
106
			System.out.println("**********************************************");
84 107
	}
85 108
	
86
	private void print(CacheStruct cs, String initValues, int w, int h, int type) {
109
	public void print(CacheStruct cs, String initValues, int w, int h, int type) {
87 110
		System.out.println(initValues);
88 111
		System.out.println("W x H = " + w + " x " + h);
89 112
		cs.show();
90 113
	}
91
}
114
}
trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/cache/TestRasterCache.java
9 9
import org.gvsig.raster.dataset.NotSupportedExtensionException;
10 10
import org.gvsig.raster.dataset.RasterDataset;
11 11
import org.gvsig.raster.dataset.io.RasterDriverException;
12

  
13

  
14 12
/**
15 13
 * Test de comparativa de datos cacheados con datos sin cachear. 
16 14
 * Leemos un raster 1..n veces cacheandolo por p?ginas. Una vez cacheado recorreremos
......
20 18
 * @author Nacho Brodin (nachobrodin@gmail.com)
21 19
 */
22 20
public class TestRasterCache extends TestCase{
23
	private String baseDir = "./test-images/";
24
	private String path = baseDir + "03AUG23153350-M2AS-000000122423_01_P001-BROWSE.jpg";
25
	private RasterDataset f = null;
26
	private BufferFactory ds = null;
27
		
28
	static{
21
	private String        baseDir = "./test-images/";
22
	private String        path    = baseDir + "03AUG23153350-M2AS-000000122423_01_P001-BROWSE.jpg";
23
	private RasterDataset f       = null;
24

  
25
	static {
29 26
		RasterLibrary.wakeUp();
30 27
	}
31
	
32
	public void start(){
28

  
29
	public void start() {
33 30
		this.setUp();
34 31
		this.testStack();
35 32
	}
36
	
33

  
37 34
	public void setUp() {
38 35
		System.err.println("TestRasterCache running...");
39 36
		try {
......
46 43
	}
47 44
	
48 45
	public void testStack() {
49
		int[] drawableBands = {0, 1, 2};
46
		int[] drawableBands = { 0, 1, 2 };
50 47
		//N?mero de veces que cacheamos la imagen. Esto hace que el n?mero de l?neas totales se multiplique por este n?mero
51 48
		int nTimes = 1;
52
		
53
		ds = new BufferFactory(f);
49
		BufferFactory ds = new BufferFactory(f);
54 50
		ds.setDrawableBands(drawableBands);
55 51
		try {
56 52
			ds.setAreaOfInterest(0, 0, f.getWidth(), f.getHeight());
......
61 57
		} catch (RasterDriverException e) {
62 58
			e.printStackTrace();
63 59
		}
64
				        
65
		//Salvamos los PageBuffer
60

  
61
		// Salvamos los PageBuffer
66 62
		IBuffer buf = ds.getRasterBuf();
67 63
		
68 64
		//Reducimos el tama?o de la cach? para poder trabajar con un volumen de datos reducido
65
		long cacheSize = RasterLibrary.cacheSize;
66
		double pageSize = RasterLibrary.pageSize;
69 67
		RasterLibrary.cacheSize = 1;
70 68
		RasterLibrary.pageSize = 0.2;
71
		
69

  
72 70
		RasterCache rc = new RasterCache(f.getDataType()[0], f.getWidth(), f.getHeight() * nTimes, 3);
73
		//rc.getCache().getCacheStruct().show();
74
		
75
		//Cargamos la cach?
71
//		rc.getCache().getCacheStruct().show();
72

  
73
		// Cargamos la cach?
76 74
		byte[] data = new byte[3];
77
		for(int i = 0; i < nTimes; i++){
78
			for(int line = 0; line < f.getHeight(); line ++){
75
		for (int i = 0; i < nTimes; i++) {
76
			for (int line = 0; line < f.getHeight(); line++) {
79 77
				for (int col = 0; col < f.getWidth(); col++) {
80 78
					buf.getElemByte(line, col, data);
81 79
					rc.setElemByte(line + (f.getHeight() * i), col, data);
82 80
				}
83 81
			}
84 82
		}
85
		
86
		//Obtenemos los datos y comparamos
83

  
84
		// Obtenemos los datos y comparamos
87 85
		byte[] dataA = new byte[3];
88 86
		byte[] dataB = new byte[3];
89
		for(int i = 0; i < nTimes; i++){
90
			for(int line = 0; line < f.getHeight(); line ++){
87
		for (int i = 0; i < nTimes; i++) {
88
			for (int line = 0; line < f.getHeight(); line++) {
91 89
				for (int col = 0; col < f.getWidth(); col++) {
92 90
					buf.getElemByte(line, col, dataA);
93 91
					rc.getElemByte(line + (f.getHeight() * i), col, dataB);
......
97 95
				}
98 96
			}
99 97
		}
100
		
101
		
98
		RasterLibrary.cacheSize = cacheSize;
99
		RasterLibrary.pageSize = pageSize;
102 100
	}
103 101
}
trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/TDSDoubleAdjustToExtentBufferEcw.java
1
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2 2
 *
3 3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4 4
 *
......
26 26
import org.gvsig.raster.dataset.NotSupportedExtensionException;
27 27
import org.gvsig.raster.dataset.RasterDataset;
28 28
import org.gvsig.raster.dataset.io.RasterDriverException;
29

  
30 29
/**
31 30
 * Este test prueba el acceso a datos a traves de un DataSource sin resampleo
32 31
 * para un ECW con coordenadas reales. 
......
42 41
 * @author Nacho Brodin (nachobrodin@gmail.com)
43 42
 *
44 43
 */
45
public class TDSDoubleAdjustToExtentBufferEcw extends TestCase{
44
public class TDSDoubleAdjustToExtentBufferEcw extends TestCase {
45
	private String        baseDir = "./test-images/";
46
	private String        path    = baseDir + "miniraster30x30.jp2";
46 47

  
47
	private String baseDir = "./test-images/";
48
	private String path = baseDir + "miniraster30x30.jp2";	
49
	private RasterDataset f = null;	
50
	private BufferFactory ds = null;
51
	
52
	public void start(){
48
	public void start() {
53 49
		this.setUp();
54 50
		this.testStack();
55 51
	}
56
	
52

  
57 53
	public void setUp() {
58 54
		System.err.println("TDSDoubleAdjustToExtentBufferEcw running...");
59
		//System.out.println("TestDataSource (Real Coord) Adjust To Extent With Buffer [Ecw] running...");
60 55
	}
61 56

  
62
	static{
57
	static {
63 58
		RasterLibrary.wakeUp();
64 59
	}
65
	
60

  
66 61
	public void testStack() {
67
		int[] drawableBands = {0, 1, 2};
62
		RasterDataset f;
63
		int[] drawableBands = { 0, 1, 2 };
68 64
		try {
69 65
			f = RasterDataset.open(null, path);
70 66
		} catch (RasterDriverException e) {
......
72 68
		} catch (NotSupportedExtensionException e) {
73 69
			return;
74 70
		}
75
		ds = new BufferFactory(f);
71
		BufferFactory ds = new BufferFactory(f);
76 72
		ds.setDrawableBands(drawableBands);
77 73
		//Se selecciona un ?rea mayor que el extent para probar que lo ajusta a este 
78 74
		try {
......
84 80
		} catch (InterruptedException e) {
85 81
			e.printStackTrace();
86 82
		}
87
		//print();
88
		dataTest1();
83
//		print(ds.getRasterBuf());
84
		dataTest1(ds.getRasterBuf());
89 85
				
90 86
		try {
91 87
			ds.setAreaOfInterest(645860.0, 4923870.0, 645986.0, 4923744.0, 2, 2);
......
96 92
		} catch (InterruptedException e) {
97 93
			e.printStackTrace();
98 94
		}
99
		dataTest2();
100
		//print();
95
//		print(ds.getRasterBuf());
96
		dataTest2(ds.getRasterBuf());
101 97
	}
102
	
103
	private void dataTest2(){
104
		IBuffer raster = ds.getRasterBuf();
105
		//Upper Left
106
		assertEquals((int)(raster.getElemByte(0, 0, 0) & 0xff), 43);
107
		assertEquals((int)(raster.getElemByte(0, 0, 1) & 0xff), 53);
108
		assertEquals((int)(raster.getElemByte(0, 0, 2) & 0xff), 26);
109
		//Upper Right
110
		assertEquals((int)(raster.getElemByte(0, 1, 0) & 0xff), 109);
111
		assertEquals((int)(raster.getElemByte(0, 1, 1) & 0xff), 111);
112
		assertEquals((int)(raster.getElemByte(0, 1, 2) & 0xff), 97);
113
		//Lower Left
114
		assertEquals((int)(raster.getElemByte(1, 0, 0) & 0xff), 159);
115
		assertEquals((int)(raster.getElemByte(1, 0, 1) & 0xff), 168);
116
		assertEquals((int)(raster.getElemByte(1, 0, 2) & 0xff), 146);
117
		//Lower Right
118
		assertEquals((int)(raster.getElemByte(1, 1, 0) & 0xff), 18);
119
		assertEquals((int)(raster.getElemByte(1, 1, 1) & 0xff), 39);
120
		assertEquals((int)(raster.getElemByte(1, 1, 2) & 0xff), 41);
98

  
99
	private void dataTest1(IBuffer raster) {
100
		int band0[] = { 43, 14, 87, 166, 174, 109, 90, 93, 190, 143, 85, 93, 103, 112, 138, 94, 138, 192, 180, 196, 99, 209, 41, 98, 168, 170, 89, 141, 158, 199, 108, 71, 67, 92, 131, 176, 243, 98, 163, 141, 157, 170, 94, 159, 233, 114, 144, 62, 147, 173, 159, 173, 184, 94, 56, 18, 69, 78, 83, 115, 95, 37, 80, 57, 68, 68, 55, 59, 58, 101, 69, 44, 24, 58, 115, 40, 58, 56, 68, 111, 84, 117, 55, 88, 170, 135, 169, 99, 74, 42, 114, 223, 171, 67, 216, 104, 167, 83, 66, 45 };
101
		int band1[] = { 53, 15, 109, 154, 164, 111, 109, 93, 189, 151, 89, 102, 107, 111, 142, 100, 143, 195, 178, 190, 100, 192, 61, 108, 154, 172, 99, 149, 160, 206, 122, 74, 81, 94, 136, 195, 248, 105, 173, 141, 158, 162, 98, 158, 226, 114, 132, 66, 150, 176, 168, 172, 175, 105, 82, 39, 85, 89, 73, 104, 92, 51, 80, 71, 88, 84, 71, 74, 68, 106, 82, 62, 37, 74, 129, 49, 78, 67, 89, 126, 100, 132, 71, 107, 164, 145, 154, 108, 85, 48, 130, 210, 164, 66, 209, 115, 160, 85, 90, 61 };
102
		int band2[] = { 26, 11, 82, 145, 165, 97, 86, 71, 191, 135, 74, 75, 85, 110, 117, 82, 115, 186, 179, 183, 91, 181, 43, 85, 139, 178, 78, 133, 152, 206, 98, 61, 71, 109, 118, 181, 244, 82, 144, 117, 144, 159, 83, 155, 231, 98, 108, 60, 136, 163, 146, 170, 162, 111, 102, 41, 62, 60, 64, 68, 97, 26, 74, 50, 64, 70, 47, 48, 56, 70, 54, 35, 19, 50, 91, 35, 48, 52, 62, 101, 73, 91, 35, 80, 140, 119, 140, 91, 58, 36, 112, 202, 146, 66, 192, 81, 131, 71, 63, 37 };
103
		compareRaster(raster, band0, band1, band2);
121 104
	}
122
	
123
	private void dataTest1(){
124
		IBuffer raster = ds.getRasterBuf();
125
		//Upper Left
126
		assertEquals((int)(raster.getElemByte(0, 0, 0) & 0xff), 43);
127
		assertEquals((int)(raster.getElemByte(0, 0, 1) & 0xff), 53);
128
		assertEquals((int)(raster.getElemByte(0, 0, 2) & 0xff), 26);
129
		//Upper Right
130
		assertEquals((int)(raster.getElemByte(0, 9, 0) & 0xff), 144);
131
		assertEquals((int)(raster.getElemByte(0, 9, 1) & 0xff), 157);
132
		assertEquals((int)(raster.getElemByte(0, 9, 2) & 0xff), 141);
133
		//Lower Left
134
		assertEquals((int)(raster.getElemByte(9, 0, 0) & 0xff), 113);
135
		assertEquals((int)(raster.getElemByte(9, 0, 1) & 0xff), 130);
136
		assertEquals((int)(raster.getElemByte(9, 0, 2) & 0xff), 111);
137
		//Lower Right
138
		assertEquals((int)(raster.getElemByte(9, 9, 0) & 0xff), 28);
139
		assertEquals((int)(raster.getElemByte(9, 9, 1) & 0xff), 43);
140
		assertEquals((int)(raster.getElemByte(9, 9, 2) & 0xff), 24);
141
		
142
		assertEquals((int)(raster.getElemByte(6, 6, 0) & 0xff), 54);
143
		assertEquals((int)(raster.getElemByte(6, 6, 1) & 0xff), 71);
144
		assertEquals((int)(raster.getElemByte(6, 6, 2) & 0xff), 46);
145
		
146
		assertEquals((int)(raster.getElemByte(6, 9, 0) & 0xff), 91);
147
		assertEquals((int)(raster.getElemByte(6, 9, 1) & 0xff), 94);
148
		assertEquals((int)(raster.getElemByte(6, 9, 2) & 0xff), 53);
149
		
150
		assertEquals((int)(raster.getElemByte(9, 6, 0) & 0xff), 166);
151
		assertEquals((int)(raster.getElemByte(9, 6, 1) & 0xff), 160);
152
		assertEquals((int)(raster.getElemByte(9, 6, 2) & 0xff), 131);
153
		
154
		assertEquals((int)(raster.getElemByte(2, 3, 0) & 0xff), 89);
155
		assertEquals((int)(raster.getElemByte(2, 3, 1) & 0xff), 105);
156
		assertEquals((int)(raster.getElemByte(2, 3, 2) & 0xff), 79);
157
		
158
		assertEquals((int)(raster.getElemByte(3, 1, 0) & 0xff), 71);
159
		assertEquals((int)(raster.getElemByte(3, 1, 1) & 0xff), 73);
160
		assertEquals((int)(raster.getElemByte(3, 1, 2) & 0xff), 61);
161
		
162
		assertEquals((int)(raster.getElemByte(0, 2, 0) & 0xff), 87);
163
		assertEquals((int)(raster.getElemByte(0, 2, 1) & 0xff), 109);
164
		assertEquals((int)(raster.getElemByte(0, 2, 2) & 0xff), 81);
105

  
106
	private void dataTest2(IBuffer raster) {
107
		int band0[] = { 43, 109, 160, 18 };
108
		int band1[] = { 53, 111, 168, 39 };
109
		int band2[] = { 26, 97, 146, 41 };
110
		compareRaster(raster, band0, band1, band2);
165 111
	}
166
	
112

  
113
	public void compareRaster(IBuffer raster, int band0[], int band1[], int band2[]) {
114
		int cont = 0;
115
		for (int line = 0; line < raster.getHeight(); line++) {
116
			for (int col = 0; col < raster.getWidth(); col++) {
117
				assertEquals((int) (raster.getElemByte(line, col, 0) & 0xff), band0[cont]);
118
				assertEquals((int) (raster.getElemByte(line, col, 1) & 0xff), band1[cont]);
119
				assertEquals((int) (raster.getElemByte(line, col, 2) & 0xff), band2[cont]);
120
				cont++;
121
			}
122
		}
123
	}
124

  
167 125
	/**
168 126
	 * Imprime todos los pixels de la fuente de datos en RGB
169 127
	 */
170
	/*private void print(){
171
		IBuffer raster = ds.getRasterBuf();
172
		for(int line = 0; line < raster.getHeight(); line++){
173
			for(int col = 0; col < raster.getWidth(); col++)
174
				System.out.print("(" + (int)(raster.getElemByte(line, col, 0) & 0xff) + " " + (int)(raster.getElemByte(line, col, 1) & 0xff) + " " + (int)(raster.getElemByte(line, col, 2) & 0xff) + ")");
175
			System.out.println();
128
	public void print(IBuffer raster) {
129
		System.out.println("");
130
		for (int band = 0; band < 3; band++) {
131
			System.out.print("int band" + band + "[] = { ");
132
			int cont = 0;
133
			for (int line = 0; line < raster.getHeight(); line++) {
134
				for (int col = 0; col < raster.getWidth(); col++) {
135
					if (cont != 0)
136
						System.out.print(", ");
137
					System.out.print(((int) (raster.getElemByte(line, col, band) & 0xff)));
138
					cont++;
139
				}
140
			}
141
			System.out.println("};");
176 142
		}
177
	}*/
178

  
143
	}
179 144
}
trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/TestAdjustToExtent.java
1
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2 2
 *
3 3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4 4
 *
trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/TDSDoubleAdjustToExtentEcw.java
1
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2 2
 *
3 3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4 4
 *
trunk/libraries/libRaster/src-test/org/gvsig/raster/AllTests.java
47 47
import org.gvsig.raster.dataset.TestGetWindowRasterBufferSizeMrSID;
48 48
import org.gvsig.raster.dataset.TestGetWindowRasterMrSID;
49 49
import org.gvsig.raster.dataset.TestHistogramSerializer;
50
import org.gvsig.raster.dataset.TestIOMemoryRasterDriver;
51 50
import org.gvsig.raster.dataset.TestReadBlockMrSID;
52 51
import org.gvsig.raster.dataset.TestReadLineEcw;
53 52
import org.gvsig.raster.dataset.TestReadLineGdal;
......
88 87
		suite.addTestSuite(TDSIntGdal.class);
89 88
		suite.addTestSuite(TDSIntBufferGdal.class);
90 89
		suite.addTestSuite(TestDataSourceMultiFile.class);
91
		suite.addTestSuite(TestIOMemoryRasterDriver.class);
90
//		suite.addTestSuite(TestIOMemoryRasterDriver.class);
92 91
		suite.addTestSuite(TestGdalByteHistogram.class);
93 92
		suite.addTestSuite(TestHistogramSerializer.class);
94 93
		suite.addTestSuite(TestRmfRead.class);

Also available in: Unified diff