Statistics
| Revision:

root / trunk / libraries / libRaster / src-test / org / gvsig / fmap / grid / filter / TestRasterFilterList.java @ 10740

History | View | Annotate | Download (7.65 KB)

1
/*
2
 * Created on 9-ago-2006
3
 *
4
 * To change the template for this generated file go to
5
 * Window>Preferences>Java>Code Generation>Code and Comments
6
 */
7
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
8
 *
9
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
10
 *
11
 * This program is free software; you can redistribute it and/or
12
 * modify it under the terms of the GNU General Public License
13
 * as published by the Free Software Foundation; either version 2
14
 * of the License, or (at your option) any later version.
15
 *
16
 * This program is distributed in the hope that it will be useful,
17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
 * GNU General Public License for more details.
20
 *
21
 * You should have received a copy of the GNU General Public License
22
 * along with this program; if not, write to the Free Software
23
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
24
 */
25
package org.gvsig.fmap.grid.filter;
26

    
27
import org.gvsig.raster.grid.filter.RasterFilter;
28
import org.gvsig.raster.grid.filter.RasterFilterList;
29
import org.gvsig.raster.shared.RasterLibrary;
30

    
31
import junit.framework.TestCase;
32

    
33
/**
34
 * Este test prueba la lista de filtros.
35
 * Mete n filtros en la lista y asigna prioridades para comprobar luego que la lista
36
 * est? en el orden correcto. Se comprueban las operaciones de eliminar filtro por
37
 * prioridad, por nombre y por objeto y sustituir filtro por posici?n y por nombre.
38
 * @author Nacho Brodin (nachobrodin@gmail.com)
39
 *
40
 */
41
public class TestRasterFilterList extends TestCase{
42

    
43
        private int                                         nFilters = 7;
44
        private RasterFilterForTest[]         filterList = null;
45
        private RasterFilterList                list = new RasterFilterList();
46
        
47
        static{
48
                RasterLibrary.wakeUp();        
49
        }
50
        
51
        public void setUp() {
52
                System.out.println("TestRasterFilterList running...");
53
                initList();
54
        }
55
        
56
        public void testStack(){
57
                System.out.println("Lista completa");
58
                for(int i = 0; i < list.lenght(); i++){
59
                        System.out.println("Priority: " + ((RasterFilter)list.get(i)).getPriority() + " Name: " + ((RasterFilter)list.get(i)).getName());
60
                        switch(i){
61
                        case 0: assertEquals(((RasterFilter)list.get(i)).getPriority(), 20); break;
62
                        case 1: assertEquals(((RasterFilter)list.get(i)).getPriority(), 20); break;
63
                        case 2: assertEquals(((RasterFilter)list.get(i)).getPriority(), 10); break;
64
                        case 3: assertEquals(((RasterFilter)list.get(i)).getPriority(), 6); break;
65
                        case 4: assertEquals(((RasterFilter)list.get(i)).getPriority(), 3); break;
66
                        case 5: assertEquals(((RasterFilter)list.get(i)).getPriority(), 0); break;
67
                        case 6: assertEquals(((RasterFilter)list.get(i)).getPriority(), 0); break;
68
                        }
69
                }
70
                
71
                list.remove(20);
72
                System.out.println("Completa menos prioridad 20");
73
                
74
                for(int i = 0; i < list.lenght(); i++){
75
                        System.out.println("Priority: " + ((RasterFilter)list.get(i)).getPriority() + " Name: " + ((RasterFilter)list.get(i)).getName());
76
                        switch(i){
77
                        case 0: assertEquals(((RasterFilter)list.get(i)).getPriority(), 10); break;
78
                        case 1: assertEquals(((RasterFilter)list.get(i)).getPriority(), 6); break;
79
                        case 2: assertEquals(((RasterFilter)list.get(i)).getPriority(), 3); break;
80
                        case 3: assertEquals(((RasterFilter)list.get(i)).getPriority(), 0); break;
81
                        case 4: assertEquals(((RasterFilter)list.get(i)).getPriority(), 0); break;
82
                        }
83
                }
84
                
85
                initList();
86
                list.remove("filtro5");
87
                list.remove("filtro2");
88
                System.out.println("Completa menos filtros 5 y 2");
89
                for(int i = 0; i < list.lenght(); i++){
90
                        System.out.println("Priority: " + ((RasterFilter)list.get(i)).getPriority() + " Name: " + ((RasterFilter)list.get(i)).getName());
91
                        switch(i){
92
                        case 0: assertEquals(((RasterFilter)list.get(i)).getPriority(), 20); break;
93
                        case 1: assertEquals(((RasterFilter)list.get(i)).getPriority(), 20); break;
94
                        case 2: assertEquals(((RasterFilter)list.get(i)).getPriority(), 10); break;
95
                        case 3: assertEquals(((RasterFilter)list.get(i)).getPriority(), 6); break;
96
                        case 4: assertEquals(((RasterFilter)list.get(i)).getPriority(), 0); break;
97
                        }
98
                }
99
                
100
                initList();
101
                list.remove(filterList[1]);
102
                list.remove(filterList[4]);
103
                System.out.println("Completa menos filtros 5 y 2");
104
                for(int i = 0; i < list.lenght(); i++){
105
                        System.out.println("Priority: " + ((RasterFilter)list.get(i)).getPriority() + " Name: " + ((RasterFilter)list.get(i)).getName());
106
                        switch(i){
107
                        case 0: assertEquals(((RasterFilter)list.get(i)).getPriority(), 20); break;
108
                        case 1: assertEquals(((RasterFilter)list.get(i)).getPriority(), 20); break;
109
                        case 2: assertEquals(((RasterFilter)list.get(i)).getPriority(), 10); break;
110
                        case 3: assertEquals(((RasterFilter)list.get(i)).getPriority(), 6); break;
111
                        case 4: assertEquals(((RasterFilter)list.get(i)).getPriority(), 0); break;
112
                        }
113
                }
114
                
115
                initList();
116
                RasterFilter rf = new RasterFilterForTest();
117
                rf.setName("filterNew");
118
                rf.setPriority(18);
119
                list.replace(rf, "filtro3");
120
                System.out.println("Completa reemplazando el filtro3 por filtroNew");
121
                for(int i = 0; i < list.lenght(); i++){
122
                        System.out.println("Priority: " + ((RasterFilter)list.get(i)).getPriority() + " Name: " + ((RasterFilter)list.get(i)).getName());
123
                        switch(i){
124
                        case 0: assertEquals(((RasterFilter)list.get(i)).getPriority(), 20); break;
125
                        case 1: assertEquals(((RasterFilter)list.get(i)).getPriority(), 20); break;
126
                        case 2: assertEquals(((RasterFilter)list.get(i)).getPriority(), 18); break;
127
                        case 3: assertEquals(((RasterFilter)list.get(i)).getPriority(), 10); break;
128
                        case 4: assertEquals(((RasterFilter)list.get(i)).getPriority(), 6); break;
129
                        case 5: assertEquals(((RasterFilter)list.get(i)).getPriority(), 3); break;
130
                        case 6: assertEquals(((RasterFilter)list.get(i)).getPriority(), 0); break;
131
                        }
132
                }
133
                
134
                initList();
135
                list.replace(rf, 3);
136
                System.out.println("Completa reemplazando el 4? por New");
137
                for(int i = 0; i < list.lenght(); i++){
138
                        System.out.println("Priority: " + ((RasterFilter)list.get(i)).getPriority() + " Name: " + ((RasterFilter)list.get(i)).getName());
139
                        switch(i){
140
                        case 0: assertEquals(((RasterFilter)list.get(i)).getPriority(), 20); break;
141
                        case 1: assertEquals(((RasterFilter)list.get(i)).getPriority(), 20); break;
142
                        case 2: assertEquals(((RasterFilter)list.get(i)).getPriority(), 18); break;
143
                        case 3: assertEquals(((RasterFilter)list.get(i)).getPriority(), 10); break;
144
                        case 4: assertEquals(((RasterFilter)list.get(i)).getPriority(), 3); break;
145
                        case 5: assertEquals(((RasterFilter)list.get(i)).getPriority(), 0); break;
146
                        case 6: assertEquals(((RasterFilter)list.get(i)).getPriority(), 0); break;
147
                        }
148
                }
149
        }
150

    
151
        /**
152
         * Crea la lista
153
         */
154
        private void initList(){
155
                list.clear();
156
                filterList = new RasterFilterForTest[nFilters];
157
                for(int i = 0; i < nFilters; i++)
158
                        filterList[i] = new RasterFilterForTest();
159
                
160
                filterList[0].setName("filtro1");
161
                filterList[0].setPriority(6);
162
                
163
                filterList[1].setName("filtro2");                
164
                filterList[2].setName("filtro3");
165
                
166
                filterList[3].setName("filtro4");
167
                filterList[3].setPriority(10);
168
                
169
                filterList[4].setName("filtro5");
170
                filterList[4].setPriority(3);
171
                
172
                filterList[5].setName("filtro6");
173
                filterList[5].setPriority(20);
174
                
175
                filterList[6].setName("filtro7");
176
                filterList[6].setPriority(20);        
177
                
178
                for(int i = 0; i < nFilters; i++)
179
                        list.add(filterList[i]);
180
        }
181
        
182
        /**
183
         * Filtro para de prueba para el test TestRasterFilterList
184
         * 
185
         * @author Nacho Brodin (nachobrodin@gmail.com)
186
         */
187
        class RasterFilterForTest extends RasterFilter {
188

    
189
                public void pre() {
190
                }
191

    
192
                public void post() {
193
                }
194

    
195
                public void process(int x, int y) {
196
                }
197

    
198
                public int getInRasterDataType() {
199
                        return 0;
200
                }
201

    
202
                public int getOutRasterDataType() {
203
                        return 0;
204
                }
205

    
206
                public Object getResult(String name) {
207
                        return null;
208
                }
209
                
210

    
211
        }
212
}