Statistics
| Revision:

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

History | View | Annotate | Download (3.05 KB)

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

    
3
import junit.framework.TestCase;
4

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

    
8

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

    
40
                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);
42
                assertEquals(cs.getHPag(), 256);
43
                assertEquals(cs.getNBands(), 3);
44
                assertEquals(cs.getCacheSize(), 23592960);
45
                assertEquals(cs.getPagsPerGroup(), 5);
46
                assertEquals(cs.getPagSize(), 1572864);
47
                assertEquals(cs.getNPags(), 15);
48
                assertEquals(cs.getNGroups(), 3);
49
                System.out.println("**********************************************");
50
                
51
                
52
                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);
54
                assertEquals(cs.getHPag(), 16);
55
                assertEquals(cs.getNBands(), 4);
56
                assertEquals(cs.getCacheSize(), 25600000);
57
                assertEquals(cs.getPagsPerGroup(), 5);
58
                assertEquals(cs.getPagSize(), 1280000);
59
                assertEquals(cs.getNPags(), 20);
60
                assertEquals(cs.getNGroups(), 4);
61
                System.out.println("**********************************************");
62
                
63
                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);
65
                assertEquals(cs.getHPag(), 4);
66
                assertEquals(cs.getNBands(), 3);
67
                assertEquals(cs.getCacheSize(), 20160000);
68
                assertEquals(cs.getPagsPerGroup(), 5);
69
                assertEquals(cs.getPagSize(), 2016000);
70
                assertEquals(cs.getNPags(), 10);
71
                assertEquals(cs.getNGroups(), 2);
72
                System.out.println("**********************************************");
73
                
74
                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);
76
                assertEquals(cs.getHPag(), 4);
77
                assertEquals(cs.getNBands(), 1);
78
                assertEquals(cs.getCacheSize(), 25200000);
79
                assertEquals(cs.getPagsPerGroup(), 5);
80
                assertEquals(cs.getPagSize(), 1680000);
81
                assertEquals(cs.getNPags(), 15);
82
                assertEquals(cs.getNGroups(), 3);
83
                System.out.println("**********************************************");                
84
        }
85
        
86
        private void print(CacheStruct cs, String initValues, int w, int h, int type) {
87
                System.out.println(initValues);
88
                System.out.println("W x H = " + w + " x " + h);
89
                cs.show();
90
        }
91
}