Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libRaster / src-test / org / gvsig / raster / dataaccess / cache / TestStructCache.java @ 10768

History | View | Annotate | Download (3.16 KB)

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

    
3
import junit.framework.TestCase;
4

    
5
import org.gvsig.raster.dataaccess.cache.CacheStruct;
6
import org.gvsig.raster.driver.IBuffer;
7
import org.gvsig.raster.shared.RasterLibrary;
8
import org.gvsig.raster.shared.RasterUtilities;
9

    
10

    
11
/**
12
 * Test para comprobar la inicializaci?n de la cach?. El constructor de CacheStruct es el 
13
 * encargado de crear la estructura de cache. Esta clase comprueba que esta creaci?n
14
 * sea correcta. Comprueba altura de p?gina, n?mero de estas, y tama?o de las mismas, as?
15
 * como el de la cache completa.
16
 * 
17
 * @author Nacho Brodin (nachobrodin@gmail.com)
18
 */
19
public class TestStructCache extends TestCase{
20
        private CacheStruct cs = null;
21
        
22
        static{
23
                RasterLibrary.wakeUp();        
24
        }
25
        
26
        public void start(){
27
                this.setUp();
28
                this.testStack();
29
        }
30
        
31
        public void setUp() {
32
                System.err.println("TestStructCache running...");
33
                
34
        }
35
        
36
        public void testStack(){
37
                //Test para los siguientes valores
38
                //Cach? size = 20M
39
                //Pags Per Group = 5
40
                //Page size = 2M
41

    
42
                cs = new CacheStruct(3, IBuffer.TYPE_BYTE, 2048, 2048, 20, 2);
43
                print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 2048, 2048, IBuffer.TYPE_BYTE);
44
                assertEquals(cs.getHPag(), 256);
45
                assertEquals(cs.getNBands(), 3);
46
                assertEquals(cs.getCacheSize(), 23592960);
47
                assertEquals(cs.getPagsPerGroup(), 5);
48
                assertEquals(cs.getPagSize(), 1572864);
49
                assertEquals(cs.getNPags(), 15);
50
                assertEquals(cs.getNGroups(), 3);
51
                System.out.println("**********************************************");
52
                
53
                
54
                cs = new CacheStruct(4, IBuffer.TYPE_INT, 5000, 5000, 20, 2);
55
                print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 5000, 5000, IBuffer.TYPE_INT);
56
                assertEquals(cs.getHPag(), 16);
57
                assertEquals(cs.getNBands(), 4);
58
                assertEquals(cs.getCacheSize(), 25600000);
59
                assertEquals(cs.getPagsPerGroup(), 5);
60
                assertEquals(cs.getPagSize(), 1280000);
61
                assertEquals(cs.getNPags(), 20);
62
                assertEquals(cs.getNGroups(), 4);
63
                System.out.println("**********************************************");
64
                
65
                cs = new CacheStruct(3, IBuffer.TYPE_FLOAT, 42000, 42000, 20, 2);
66
                print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 42000, 42000, IBuffer.TYPE_FLOAT);
67
                assertEquals(cs.getHPag(), 4);
68
                assertEquals(cs.getNBands(), 3);
69
                assertEquals(cs.getCacheSize(), 20160000);
70
                assertEquals(cs.getPagsPerGroup(), 5);
71
                assertEquals(cs.getPagSize(), 2016000);
72
                assertEquals(cs.getNPags(), 10);
73
                assertEquals(cs.getNGroups(), 2);
74
                System.out.println("**********************************************");
75
                
76
                cs = new CacheStruct(1, IBuffer.TYPE_FLOAT, 105000, 105000, 20, 2);
77
                print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 105000, 105000, IBuffer.TYPE_FLOAT);
78
                assertEquals(cs.getHPag(), 4);
79
                assertEquals(cs.getNBands(), 1);
80
                assertEquals(cs.getCacheSize(), 25200000);
81
                assertEquals(cs.getPagsPerGroup(), 5);
82
                assertEquals(cs.getPagSize(), 1680000);
83
                assertEquals(cs.getNPags(), 15);
84
                assertEquals(cs.getNGroups(), 3);
85
                System.out.println("**********************************************");                
86
        }
87
        
88
        private void print(CacheStruct cs, String initValues, int w, int h, int type) {
89
                System.out.println(initValues);
90
                System.out.println("W x H = " + w + " x " + h);
91
                cs.show();
92
        }
93
}