Statistics
| Revision:

root / branches / v2_0_0_prep / libraries / libRaster / src-test / org / gvsig / raster / buffer / cache / TestAssignInterchangeBandsCache.java @ 30754

History | View | Annotate | Download (2.01 KB)

1
package org.gvsig.raster.buffer.cache;
2

    
3
import org.gvsig.raster.BaseTestCase;
4
import org.gvsig.raster.dataset.IBuffer;
5
/**
6
 * Test para probar la operaci?n de asignar una constante a una banda de un buffer cacheado y
7
 * el intercambio de 2 bandas para el mismo buffer. Con esto se prueban las operaciones de assign, getBand,
8
 * assignBand, assignBandToNotValid, interchangeBands y getBandBuffer
9
 *
10
 * @author Nacho Brodin (nachobrodin@gmail.com)
11
 */
12
public class TestAssignInterchangeBandsCache extends BaseTestCase {
13

    
14
        private RasterCache rc = null;
15

    
16
        public void start() throws Exception {
17
                this.setUp();
18
                this.testStack();
19
        }
20

    
21
        protected void doSetUp() throws Exception {
22
                super.doSetUp();
23
                System.err.println("TestBandOperationCache running...");
24
                rc = new RasterCache(IBuffer.TYPE_BYTE, 6000, 5000, 3);
25
        }
26

    
27
        public void testStack() {
28
//                long t2, t3, t4;
29
//                long t1 = new Date().getTime();
30
                rc.setNotValidValue(40);
31
                rc.assign(0, (byte) 20);
32
                rc.assign(1, (byte) 30);
33
                rc.assignBandToNotValid(2);
34
//                t2 = new Date().getTime();
35
//                System.out.println("Time: asignar buffer a un valor cte: " + ((t2 - t1) / 1000D) + ", secs.");
36

    
37
                rc.interchangeBands(0, 1);
38
                testValues(30, 20, 40);
39

    
40
//                t3 = new Date().getTime();
41
//                System.out.println("Time: asserts del valor por banda cacheado: " + ((t3 - t2) / 1000D) + ", secs.");
42

    
43
                IBuffer buf = rc.getBandBuffer(2);
44
                testValue((int) rc.getNotValidValue(), buf);
45

    
46
//                t4 = new Date().getTime();
47
//                System.out.println("Time: getBandBuffer: " + ((t4 - t3) / 1000D) + ", secs.");
48
        }
49

    
50
        private void testValues(int v1, int v2, int v3) {
51
                for (int row = 0; row < rc.getHeight(); row++)
52
                        for (int col = 0; col < rc.getWidth(); col++) {
53
                                assertEquals(v1, rc.getElemByte(row, col, 0));
54
                                assertEquals(v2, rc.getElemByte(row, col, 1));
55
                                assertEquals(v3, rc.getElemByte(row, col, 2));
56
                        }
57
        }
58

    
59
        private void testValue(int value, IBuffer buf) {
60
                for (int row = 0; row < buf.getHeight(); row++)
61
                        for (int col = 0; col < buf.getWidth(); col++)
62
                                assertEquals(value, buf.getElemByte(row, col, 0));
63
        }
64
}