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 |
} |