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