Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / libraries / libRaster / src-test / org / gvsig / raster / buffer / cache / TestStructCache.java @ 30754

History | View | Annotate | Download (4.05 KB)

1 21615 bsanchez
/* 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 11074 nacho
package org.gvsig.raster.buffer.cache;
20
21
import junit.framework.TestCase;
22
23
import org.gvsig.raster.RasterLibrary;
24
import org.gvsig.raster.dataset.IBuffer;
25
/**
26
 * Test para comprobar la inicializaci?n de la cach?. El constructor de CacheStruct es el
27
 * encargado de crear la estructura de cache. Esta clase comprueba que esta creaci?n
28
 * sea correcta. Comprueba altura de p?gina, n?mero de estas, y tama?o de las mismas, as?
29
 * como el de la cache completa.
30
 *
31
 * @author Nacho Brodin (nachobrodin@gmail.com)
32
 */
33 21615 bsanchez
public class TestStructCache extends TestCase {
34
        private boolean     showCode = false;
35
        private CacheStruct cs       = null;
36
37
        static {
38
                RasterLibrary.wakeUp();
39 11074 nacho
        }
40 21615 bsanchez
41
        public void start() {
42 11074 nacho
                this.setUp();
43
                this.testStack();
44
        }
45 21615 bsanchez
46 11074 nacho
        public void setUp() {
47
                System.err.println("TestStructCache running...");
48
        }
49
50
        public void testStack(){
51 21615 bsanchez
                // Test para los siguientes valores
52
                // Cach? size = 20M
53
                // Pags Per Group = 5
54
                // Page size = 2M
55 11074 nacho
56
                cs = new CacheStruct(3, IBuffer.TYPE_BYTE, 2048, 2048, 20, 2);
57 21615 bsanchez
                if (showCode)
58
                        print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 2048, 2048, IBuffer.TYPE_BYTE);
59 11074 nacho
                assertEquals(cs.getHPag(), 256);
60
                assertEquals(cs.getNBands(), 3);
61
                assertEquals(cs.getCacheSize(), 23592960);
62
                assertEquals(cs.getPagsPerGroup(), 5);
63
                assertEquals(cs.getPagSize(), 1572864);
64
                assertEquals(cs.getNPags(), 15);
65
                assertEquals(cs.getNGroups(), 3);
66 21615 bsanchez
                if (showCode)
67
                        System.out.println("**********************************************");
68
69 11074 nacho
                cs = new CacheStruct(4, IBuffer.TYPE_INT, 5000, 5000, 20, 2);
70 21615 bsanchez
                if (showCode)
71
                        print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 5000, 5000, IBuffer.TYPE_INT);
72 11074 nacho
                assertEquals(cs.getHPag(), 16);
73
                assertEquals(cs.getNBands(), 4);
74
                assertEquals(cs.getCacheSize(), 25600000);
75
                assertEquals(cs.getPagsPerGroup(), 5);
76
                assertEquals(cs.getPagSize(), 1280000);
77
                assertEquals(cs.getNPags(), 20);
78
                assertEquals(cs.getNGroups(), 4);
79 21615 bsanchez
                if (showCode)
80
                        System.out.println("**********************************************");
81
82 11074 nacho
                cs = new CacheStruct(3, IBuffer.TYPE_FLOAT, 42000, 42000, 20, 2);
83 21615 bsanchez
                if (showCode)
84
                        print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 42000, 42000, IBuffer.TYPE_FLOAT);
85 11074 nacho
                assertEquals(cs.getHPag(), 4);
86
                assertEquals(cs.getNBands(), 3);
87
                assertEquals(cs.getCacheSize(), 20160000);
88
                assertEquals(cs.getPagsPerGroup(), 5);
89
                assertEquals(cs.getPagSize(), 2016000);
90
                assertEquals(cs.getNPags(), 10);
91
                assertEquals(cs.getNGroups(), 2);
92 21615 bsanchez
                if (showCode)
93
                        System.out.println("**********************************************");
94
95 11074 nacho
                cs = new CacheStruct(1, IBuffer.TYPE_FLOAT, 105000, 105000, 20, 2);
96 21615 bsanchez
                if (showCode)
97
                        print(cs, "Size = 20M; Pags Per Group = 5; Page size = 2M", 105000, 105000, IBuffer.TYPE_FLOAT);
98 11074 nacho
                assertEquals(cs.getHPag(), 4);
99
                assertEquals(cs.getNBands(), 1);
100
                assertEquals(cs.getCacheSize(), 25200000);
101
                assertEquals(cs.getPagsPerGroup(), 5);
102
                assertEquals(cs.getPagSize(), 1680000);
103
                assertEquals(cs.getNPags(), 15);
104
                assertEquals(cs.getNGroups(), 3);
105 21615 bsanchez
                if (showCode)
106
                        System.out.println("**********************************************");
107 11074 nacho
        }
108
109 21615 bsanchez
        public void print(CacheStruct cs, String initValues, int w, int h, int type) {
110 11074 nacho
                System.out.println(initValues);
111
                System.out.println("W x H = " + w + " x " + h);
112
                cs.show();
113
        }
114 21615 bsanchez
}