Statistics
| Revision:

svn-gvsig-desktop / trunk / extensions / extNormalization / src-test / org / gvsig / normalization / TestSplitChain.java @ 22677

History | View | Annotate | Download (7.09 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

    
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2008 Prodevelop S.L. main development
26
 */
27

    
28
package org.gvsig.normalization;
29

    
30
import java.io.File;
31
import java.io.FileNotFoundException;
32
import java.io.FileReader;
33
import java.util.List;
34

    
35
import junit.framework.TestCase;
36

    
37
import org.exolab.castor.xml.MarshalException;
38
import org.exolab.castor.xml.ValidationException;
39
import org.gvsig.geocoding.patterns.normalization.Patternnormalization;
40
import org.gvsig.normalization.operations.NormAlgorithm;
41

    
42
/**
43
 * 
44
 * @author <a href="mailto:jsanz@prodevelop.es"> Jorge Gaspar Sanz Salinas</a>
45
 * @author <a href="mailto:vsanjaime@prodevelop.es"> Vicente Sanjaime Calvet</a>
46
 * 
47
 */
48
public class TestSplitChain extends TestCase {
49

    
50
        public void testSplitChain() {
51

    
52
                System.out.println("INICIO: TEST SPLIT CHAIN");
53

    
54
                System.out.println("Test 1.");
55
                String c1 = ";aaa,,bbb;;;ccc/ddd@eee##;";
56

    
57
                File f1 = new File("src-test/org/gvsig/normalization/patSplitChain.xml");
58
                assertNotNull(f1);
59

    
60
                List<String> r1 = parser(f1, c1);
61
                assertNotNull(r1);
62

    
63
                assertEquals("", (String) r1.get(0));
64
                assertEquals("aaa", (String) r1.get(1));
65
                assertEquals("", (String) r1.get(2));
66
                assertEquals("bbb", (String) r1.get(3));
67
                assertEquals("", (String) r1.get(4));
68
                assertEquals("", (String) r1.get(5));
69
                assertEquals("ccc", (String) r1.get(6));
70
                assertEquals("ddd", (String) r1.get(7));
71
                assertEquals("eee", (String) r1.get(8));
72
                assertEquals("", (String) r1.get(9));
73
                assertEquals(";", (String) r1.get(10));
74

    
75
                System.out.println("Test 2.");
76
                String c2 = "aaa bbb ccc ddd,76 %";
77

    
78
                File f2 = new File(
79
                                "src-test/org/gvsig/normalization/patSplitChain2.xml");
80
                assertNotNull(f2);
81

    
82
                List<String> r2 = parser(f2, c2);
83
                assertNotNull(r2);
84

    
85
                assertEquals("aaa", (String) r2.get(0));
86
                assertEquals("bbb", (String) r2.get(1));
87
                assertEquals("ccc", (String) r2.get(2));
88
                assertEquals("ddd", (String) r2.get(3));
89
                assertEquals("76", (String) r2.get(4));
90
                assertEquals("%", (String) r2.get(5));
91

    
92
                System.out.println("Test 3.");
93
                String c3 = "Av;Germanias;15;2;Moncada;Valencia";
94

    
95
                File f3 = new File(
96
                                "src-test/org/gvsig/normalization/patSplitChain3.xml");
97
                assertNotNull(f3);
98

    
99
                List<String> r3 = parser(f3, c3);
100
                assertNotNull(r3);
101

    
102
                assertEquals("Av", (String) r3.get(0));
103
                assertEquals("Germanias", (String) r3.get(1));
104
                assertEquals(15, Integer.parseInt((String) r3.get(2)));
105
                assertEquals(2, Integer.parseInt((String) r3.get(3)));
106
                assertEquals("Moncada", (String) r3.get(4));
107
                assertEquals("Valencia", (String) r3.get(5));
108

    
109
                System.out.println("Test 4.");
110
                String c4 = "Av. Germanias      15  2   Moncada   Valencia    ";
111

    
112
                File f4 = new File(
113
                                "src-test/org/gvsig/normalization/patSplitChain4.xml");
114
                assertNotNull(f4);
115

    
116
                List<String> r4 = parser(f4, c4);
117
                assertNotNull(r4);
118

    
119
                assertEquals("Av.", ((String) r4.get(0)).trim());
120
                assertEquals("Germanias", ((String) r4.get(1)).trim());
121
                assertEquals(15, Integer.parseInt(((String) r4.get(2)).trim()));
122
                assertEquals(2, Integer.parseInt(((String) r4.get(3)).trim()));
123
                assertEquals("Moncada", ((String) r4.get(4)).trim());
124
                assertEquals("Valencia", ((String) r4.get(5)).trim());
125

    
126
                System.out.println("Test 5.");
127
                String c5 = "Av;;Germanias;15;;2;Moncada;Valencia";
128

    
129
                File f5 = new File(
130
                                "src-test/org/gvsig/normalization/patSplitChain5.xml");
131
                assertNotNull(f5);
132

    
133
                List<String> r5 = parser(f5, c5);
134
                assertNotNull(r5);
135

    
136
                assertEquals("Av", (String) r5.get(0));
137
                assertEquals("Germanias", (String) r5.get(1));
138
                assertEquals(15, Integer.parseInt((String) r5.get(2)));
139
                assertEquals(2, Integer.parseInt((String) r5.get(3)));
140
                assertEquals("Moncada", (String) r5.get(4));
141
                assertEquals("Valencia", (String) r5.get(5));
142

    
143
                System.out.println("Test 6.");
144
                String c6 = "Av. Germanias 15-2 Moncada (Valencia)";
145

    
146
                File f6 = new File(
147
                                "src-test/org/gvsig/normalization/patSplitChain6.xml");
148
                assertNotNull(f6);
149

    
150
                List<String> r6 = parser(f6, c6);
151
                assertNotNull(r6);
152

    
153
                assertEquals("Av.", ((String) r6.get(0)).trim());
154
                assertEquals("Germanias", ((String) r6.get(1)).trim());
155
                assertEquals(15, Integer.parseInt(((String) r6.get(2)).trim()));
156
                assertEquals(2, Integer.parseInt(((String) r6.get(3)).trim()));
157
                assertEquals("Moncada", ((String) r6.get(4)).trim());
158
                assertEquals("Valencia", ((String) r6.get(5)).trim());
159

    
160
                System.out.println("Test 7.");
161
                String c7 = "Juana Aguirre;Piedras;No 623;Piso2;Dto.4;C1070AAM;Capital Federal;ARGENTINA";
162

    
163
                File f7 = new File(
164
                                "src-test/org/gvsig/normalization/patSplitChain7.xml");
165
                assertNotNull(f7);
166

    
167
                List<String> r7 = parser(f7, c7);
168
                assertNotNull(r7);
169

    
170
                assertEquals("Juana Aguirre", ((String) r7.get(0)).trim());
171
                assertEquals("Piedras", ((String) r7.get(1)).trim());
172
                assertEquals("No 623", ((String) r7.get(2)).trim());
173
                assertEquals("Piso2", ((String) r7.get(3)).trim());
174
                assertEquals("Dto.4", ((String) r7.get(4)).trim());
175
                assertEquals("C1070AAM", ((String) r7.get(5)).trim());
176
                assertEquals("Capital Federal", ((String) r7.get(6)).trim());
177
                assertEquals("ARGENTINA", ((String) r7.get(7)).trim());
178

    
179
                System.out.println("Test 8.");
180
                String c8 = "5.548\t5478.254\t0.24578457\t256.21450045";
181

    
182
                File f8 = new File(
183
                                "src-test/org/gvsig/normalization/patSplitChain8.xml");
184
                assertNotNull(f8);
185

    
186
                List<String> r8 = parser(f8, c8);
187
                assertNotNull(r8);
188

    
189
                assertEquals(5.548, Double.parseDouble(((String) r8.get(0)).trim()));
190
                assertEquals(5478.254, Double.parseDouble(((String) r8.get(1)).trim()));
191
                assertEquals(0.24578457, Double
192
                                .parseDouble(((String) r8.get(2)).trim()));
193
                assertEquals(256.21450045, Double.parseDouble(((String) r8.get(3))
194
                                .trim()));
195

    
196
        }
197

    
198
        private List<String> parser(File f, String chain) {
199
                Patternnormalization pat = null;
200
                try {
201
                        FileReader red = new FileReader(f);
202
                        pat = (Patternnormalization) Patternnormalization.unmarshal(red);
203
                } catch (MarshalException e) {
204
                        e.printStackTrace();
205
                } catch (ValidationException e) {
206
                        e.printStackTrace();
207
                } catch (FileNotFoundException e) {
208
                        e.printStackTrace();
209
                }
210
                NormAlgorithm na = new NormAlgorithm(pat);
211

    
212
                List<String> result = na.splitChain(chain);
213
                return result;
214

    
215
        }
216

    
217
}