Revision 21615 trunk/libraries/libRaster/src-test/org/gvsig/raster/buffer/cache/TestStructCache.java
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 |
} |
Also available in: Unified diff