]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_2_1-src/src/com/ibm/icu/dev/test/format/IntlTestDateFormatSymbols.java
icu4jsrc
[Dictionary.git] / jars / icu4j-4_2_1-src / src / com / ibm / icu / dev / test / format / IntlTestDateFormatSymbols.java
1 /*****************************************************************************************\r
2  *\r
3  *   Copyright (C) 1996-2006, International Business Machines\r
4  *   Corporation and others.  All Rights Reserved.\r
5  **/\r
6 \r
7 /** \r
8  * Port From:   JDK 1.4b1 : java.text.Format.IntlTestDateFormatSymbols\r
9  * Source File: java/text/format/IntlTestDateFormatSymbols.java\r
10  **/\r
11  \r
12 /*\r
13     @test 1.4 98/03/06\r
14     @summary test International Date Format Symbols\r
15 */\r
16 \r
17 package com.ibm.icu.dev.test.format;\r
18 \r
19 import com.ibm.icu.text.*;\r
20 import java.util.Locale;\r
21 \r
22 public class IntlTestDateFormatSymbols extends com.ibm.icu.dev.test.TestFmwk\r
23 {\r
24     public static void main(String[] args) throws Exception {\r
25         new IntlTestDateFormatSymbols().run(args);\r
26     }\r
27 \r
28     // Test getMonths\r
29     public void TestGetMonths()\r
30     {\r
31         final String[] month;\r
32         DateFormatSymbols symbol;\r
33 \r
34         symbol=new DateFormatSymbols(Locale.getDefault());\r
35 \r
36         month=symbol.getMonths();\r
37         int cnt = month.length;\r
38 \r
39         logln("size = " + cnt);\r
40 \r
41         for (int i=0; i<cnt; ++i)\r
42         {\r
43             logln(month[i]);\r
44         }\r
45     }\r
46 \r
47     public void TestGetMonths2()\r
48     {\r
49         DateFormatSymbols symbol;\r
50         symbol=new DateFormatSymbols(Locale.getDefault());\r
51 \r
52         int[] context = {DateFormatSymbols.STANDALONE, DateFormatSymbols.FORMAT};\r
53         int[] width = {DateFormatSymbols.WIDE, DateFormatSymbols.ABBREVIATED, DateFormatSymbols.NARROW};\r
54         \r
55         for (int i = 0; i < context.length; i++) {\r
56             for (int j = 0; j < width.length; j++) {\r
57                 String[] month =symbol.getMonths(context[i],width[j]);\r
58                 int cnt = month.length;\r
59 \r
60                 logln("size = " + cnt);\r
61 \r
62                 for (int k = 0; k < month.length; k++) {\r
63                     logln(month[k]);\r
64                 }\r
65             }\r
66         }\r
67     }\r
68     \r
69     public void TestGetWeekdays2(){\r
70         DateFormatSymbols symbol;\r
71         symbol=new DateFormatSymbols(Locale.getDefault());\r
72 \r
73         int[] context = {DateFormatSymbols.STANDALONE, DateFormatSymbols.FORMAT};\r
74         int[] width = {DateFormatSymbols.WIDE, DateFormatSymbols.ABBREVIATED, DateFormatSymbols.NARROW};\r
75         \r
76         for (int i = 0; i < context.length; i++) {\r
77             for (int j = 0; j < width.length; j++) {\r
78                 String[] wd =symbol.getWeekdays(context[i],width[j]);\r
79                 int cnt = wd.length;\r
80 \r
81                 logln("size = " + cnt);\r
82 \r
83                 for (int k = 0; k < wd.length; k++) {\r
84                     logln(wd[k]);\r
85                 }\r
86             }\r
87         }\r
88         \r
89     }\r
90     \r
91     public void TestGetEraNames(){\r
92         DateFormatSymbols symbol;\r
93         symbol=new DateFormatSymbols(Locale.getDefault());\r
94         String[] s = symbol.getEraNames();\r
95         for (int i = 0; i < s.length; i++) {\r
96             logln(s[i]);\r
97         }\r
98         \r
99     }\r
100 \r
101     // Test the API of DateFormatSymbols; primarily a simple get/set set.\r
102     public void TestSymbols()\r
103     {\r
104         DateFormatSymbols fr = new DateFormatSymbols(Locale.FRENCH);\r
105         DateFormatSymbols fr2 = new DateFormatSymbols(Locale.FRENCH);\r
106 \r
107         DateFormatSymbols en = new DateFormatSymbols(Locale.ENGLISH);\r
108 \r
109         if(en.equals(fr)) {\r
110             errln("ERROR: English DateFormatSymbols equal to French");\r
111         }\r
112 \r
113         // just do some VERY basic tests to make sure that get/set work\r
114 \r
115         long count;\r
116         final String[] eras = en.getEras();\r
117         fr.setEras(eras);\r
118         final String[] eras1 = fr.getEras();\r
119         count = eras.length;\r
120         if( count != eras1.length) {\r
121             errln("ERROR: setEras() failed (different size array)");\r
122         }\r
123         else {\r
124             for(int i = 0; i < count; i++) {\r
125                 if(! eras[i].equals(eras1[i])) {\r
126                     errln("ERROR: setEras() failed (different string values)");\r
127                 }\r
128             }\r
129         }\r
130 \r
131 \r
132         final String[] months = en.getMonths();\r
133         fr.setMonths(months);\r
134         final String[] months1 = fr.getMonths();\r
135         count = months.length;\r
136         if( count != months1.length) {\r
137             errln("ERROR: setMonths() failed (different size array)");\r
138         }\r
139         else {\r
140             for(int i = 0; i < count; i++) {\r
141                 if(! months[i].equals(months1[i])) {\r
142                     errln("ERROR: setMonths() failed (different string values)");\r
143                 }\r
144             }\r
145         }\r
146 \r
147         final String[] shortMonths = en.getShortMonths();\r
148         fr.setShortMonths(shortMonths);\r
149         final String[] shortMonths1 = fr.getShortMonths();\r
150         count = shortMonths.length;\r
151         if( count != shortMonths1.length) {\r
152             errln("ERROR: setShortMonths() failed (different size array)");\r
153         }\r
154         else {\r
155             for(int i = 0; i < count; i++) {\r
156                 if(! shortMonths[i].equals(shortMonths1[i])) {\r
157                     errln("ERROR: setShortMonths() failed (different string values)");\r
158                 }\r
159             }\r
160         }\r
161 \r
162         final String[] wideMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);\r
163         fr2.setMonths(wideMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);\r
164         final String[] wideMonths1 = fr2.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);\r
165         count = wideMonths.length;\r
166         if( count != wideMonths1.length) {\r
167             errln("ERROR: setMonths(FORMAT,WIDE) failed (different size array)");\r
168         }\r
169         else {\r
170             for(int i = 0; i < count; i++) {\r
171                 if(! wideMonths[i].equals(wideMonths1[i])) {\r
172                     errln("ERROR: setMonths(FORMAT,WIDE) failed (different string values)");\r
173                 }\r
174             }\r
175         }\r
176 \r
177         final String[] abbrMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);\r
178         fr2.setMonths(abbrMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);\r
179         final String[] abbrMonths1 = fr2.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);\r
180         count = abbrMonths.length;\r
181         if( count != abbrMonths1.length) {\r
182             errln("ERROR: setMonths(FORMAT,ABBREVIATED) failed (different size array)");\r
183         }\r
184         else {\r
185             for(int i = 0; i < count; i++) {\r
186                 if(! abbrMonths[i].equals(abbrMonths1[i])) {\r
187                     errln("ERROR: setMonths(FORMAT,ABBREVIATED) failed (different string values)");\r
188                 }\r
189             }\r
190         }\r
191 \r
192         final String[] narrowMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);\r
193         fr.setMonths(narrowMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);\r
194         final String[] narrowMonths1 = fr.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);\r
195         count = narrowMonths.length;\r
196         if( count != narrowMonths1.length) {\r
197             errln("ERROR: setMonths(FORMAT,NARROW) failed (different size array)");\r
198         }\r
199         else {\r
200             for(int i = 0; i < count; i++) {\r
201                 if(! narrowMonths[i].equals(narrowMonths1[i])) {\r
202                     errln("ERROR: setMonths(FORMAT,NARROW) failed (different string values)");\r
203                 }\r
204             }\r
205         }\r
206 \r
207         final String[] standaloneMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);\r
208         fr.setMonths(standaloneMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);\r
209         final String[] standaloneMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);\r
210         count = standaloneMonths.length;\r
211         if( count != standaloneMonths1.length) {\r
212             errln("ERROR: setMonths(STANDALONE,WIDE) failed (different size array)");\r
213         }\r
214         else {\r
215             for(int i = 0; i < count; i++) {\r
216                 if(! standaloneMonths[i].equals(standaloneMonths1[i])) {\r
217                     errln("ERROR: setMonths(STANDALONE,WIDE) failed (different string values)");\r
218                 }\r
219             }\r
220         }\r
221 \r
222         final String[] standaloneShortMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);\r
223         fr.setMonths(standaloneShortMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);\r
224         final String[] standaloneShortMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);\r
225         count = standaloneShortMonths.length;\r
226         if( count != standaloneShortMonths1.length) {\r
227             errln("ERROR: setMonths(STANDALONE,ABBREVIATED) failed (different size array)");\r
228         }\r
229         else {\r
230             for(int i = 0; i < count; i++) {\r
231                 if(! standaloneShortMonths[i].equals(standaloneShortMonths1[i])) {\r
232                     errln("ERROR: setMonths(STANDALONE,ABBREVIATED) failed (different string values)");\r
233                 }\r
234             }\r
235         }\r
236 \r
237         final String[] standaloneNarrowMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);\r
238         fr.setMonths(standaloneNarrowMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);\r
239         final String[] standaloneNarrowMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);\r
240         count = standaloneNarrowMonths.length;\r
241         if( count != standaloneNarrowMonths1.length) {\r
242             errln("ERROR: setMonths(STANDALONE,NARROW) failed (different size array)");\r
243         }\r
244         else {\r
245             for(int i = 0; i < count; i++) {\r
246                 if(! standaloneNarrowMonths[i].equals(standaloneNarrowMonths1[i])) {\r
247                     errln("ERROR: setMonths(STANDALONE,NARROW) failed (different string values)");\r
248                 }\r
249             }\r
250         }\r
251 \r
252         final String[] weekdays = en.getWeekdays();\r
253         fr.setWeekdays(weekdays);\r
254         final String[] weekdays1 = fr.getWeekdays();\r
255         count = weekdays.length;\r
256         if( count != weekdays1.length) {\r
257             errln("ERROR: setWeekdays() failed (different size array)");\r
258         }\r
259         else {\r
260             for(int i = 0; i < count; i++) {\r
261                 if(! weekdays[i].equals(weekdays1[i])) {\r
262                     errln("ERROR: setWeekdays() failed (different string values)");\r
263                 }\r
264             }\r
265         }\r
266 \r
267         final String[] shortWeekdays = en.getShortWeekdays();\r
268         fr.setShortWeekdays(shortWeekdays);\r
269         final String[] shortWeekdays1 = fr.getShortWeekdays();\r
270         count = shortWeekdays.length;\r
271         if( count != shortWeekdays1.length) {\r
272             errln("ERROR: setShortWeekdays() failed (different size array)");\r
273         }\r
274         else {\r
275             for(int i = 0; i < count; i++) {\r
276                 if(! shortWeekdays[i].equals(shortWeekdays1[i])) {\r
277                     errln("ERROR: setShortWeekdays() failed (different string values)");\r
278                 }\r
279             }\r
280         }\r
281 \r
282         final String[] wideWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);\r
283         fr2.setWeekdays(wideWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);\r
284         final String[] wideWeekdays1 = fr2.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);\r
285         count = wideWeekdays.length;\r
286         if( count != wideWeekdays1.length) {\r
287             errln("ERROR: setWeekdays(FORMAT,WIDE) failed (different size array)");\r
288         }\r
289         else {\r
290             for(int i = 0; i < count; i++) {\r
291                 if(! wideWeekdays[i].equals(wideWeekdays1[i])) {\r
292                     errln("ERROR: setWeekdays(FORMAT,WIDE) failed (different string values)");\r
293                 }\r
294             }\r
295         }\r
296 \r
297         final String[] abbrWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);\r
298         fr2.setWeekdays(abbrWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);\r
299         final String[] abbrWeekdays1 = fr2.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);\r
300         count = abbrWeekdays.length;\r
301         if( count != abbrWeekdays1.length) {\r
302             errln("ERROR: setWeekdays(FORMAT,ABBREVIATED) failed (different size array)");\r
303         }\r
304         else {\r
305             for(int i = 0; i < count; i++) {\r
306                 if(! abbrWeekdays[i].equals(abbrWeekdays1[i])) {\r
307                     errln("ERROR: setWeekdays(FORMAT,ABBREVIATED) failed (different string values)");\r
308                 }\r
309             }\r
310         }\r
311 \r
312         final String[] narrowWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);\r
313         fr.setWeekdays(narrowWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);\r
314         final String[] narrowWeekdays1 = fr.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW);\r
315         count = narrowWeekdays.length;\r
316         if( count != narrowWeekdays1.length) {\r
317             errln("ERROR: setWeekdays(FORMAT,NARROW) failed (different size array)");\r
318         }\r
319         else {\r
320             for(int i = 0; i < count; i++) {\r
321                 if(! narrowWeekdays[i].equals(narrowWeekdays1[i])) {\r
322                     errln("ERROR: setWeekdays(FORMAT,NARROW) failed (different string values)");\r
323                 }\r
324             }\r
325         }\r
326 \r
327         final String[] standaloneWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);\r
328         fr.setWeekdays(standaloneWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);\r
329         final String[] standaloneWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);\r
330         count = standaloneWeekdays.length;\r
331         if( count != standaloneWeekdays1.length) {\r
332             errln("ERROR: setWeekdays(STANDALONE,WIDE) failed (different size array)");\r
333         }\r
334         else {\r
335             for(int i = 0; i < count; i++) {\r
336                 if(! standaloneWeekdays[i].equals(standaloneWeekdays1[i])) {\r
337                     errln("ERROR: setWeekdays(STANDALONE,WIDE) failed (different string values)");\r
338                 }\r
339             }\r
340         }\r
341 \r
342         final String[] standaloneShortWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);\r
343         fr.setWeekdays(standaloneShortWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);\r
344         final String[] standaloneShortWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);\r
345         count = standaloneShortWeekdays.length;\r
346         if( count != standaloneShortWeekdays1.length) {\r
347             errln("ERROR: setWeekdays(STANDALONE,ABBREVIATED) failed (different size array)");\r
348         }\r
349         else {\r
350             for(int i = 0; i < count; i++) {\r
351                 if(! standaloneShortWeekdays[i].equals(standaloneShortWeekdays1[i])) {\r
352                     errln("ERROR: setWeekdays(STANDALONE,ABBREVIATED) failed (different string values)");\r
353                 }\r
354             }\r
355         }\r
356 \r
357         final String[] standaloneNarrowWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);\r
358         fr.setWeekdays(standaloneNarrowWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);\r
359         final String[] standaloneNarrowWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW);\r
360         count = standaloneNarrowWeekdays.length;\r
361         if( count != standaloneNarrowWeekdays1.length) {\r
362             errln("ERROR: setWeekdays(STANDALONE,NARROW) failed (different size array)");\r
363         }\r
364         else {\r
365             for(int i = 0; i < count; i++) {\r
366                 if(! standaloneNarrowWeekdays[i].equals(standaloneNarrowWeekdays1[i])) {\r
367                     errln("ERROR: setWeekdays(STANDALONE,NARROW) failed (different string values)");\r
368                 }\r
369             }\r
370         }\r
371 \r
372         final String[] wideQuarters = en.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);\r
373         fr2.setQuarters(wideQuarters,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);\r
374         final String[] wideQuarters1 = fr2.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE);\r
375         count = wideQuarters.length;\r
376         if( count != wideQuarters1.length) {\r
377             errln("ERROR: setQuarters(FORMAT, WIDE) failed (different size array)");\r
378         }\r
379         else {\r
380             for(int i = 0; i < count; i++) {\r
381                 if(! wideQuarters[i].equals(wideQuarters1[i])) {\r
382                     errln("ERROR: setQuarters(FORMAT, WIDE) failed (different string values)");\r
383                 }\r
384             }\r
385         }\r
386 \r
387         final String[] abbrQuarters = en.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);\r
388         fr2.setQuarters(abbrQuarters,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);\r
389         final String[] abbrQuarters1 = fr2.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED);\r
390         count = abbrQuarters.length;\r
391         if( count != abbrQuarters1.length) {\r
392             errln("ERROR: setQuarters(FORMAT, ABBREVIATED) failed (different size array)");\r
393         }\r
394         else {\r
395             for(int i = 0; i < count; i++) {\r
396                 if(! abbrQuarters[i].equals(abbrQuarters1[i])) {\r
397                     errln("ERROR: setQuarters(FORMAT, ABBREVIATED) failed (different string values)");\r
398                 }\r
399             }\r
400         }\r
401 \r
402         final String[] standaloneQuarters = en.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);\r
403         fr.setQuarters(standaloneQuarters,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);\r
404         final String[] standaloneQuarters1 = fr.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE);\r
405         count = standaloneQuarters.length;\r
406         if( count != standaloneQuarters1.length) {\r
407             errln("ERROR: setQuarters(STANDALONE, WIDE) failed (different size array)");\r
408         }\r
409         else {\r
410             for(int i = 0; i < count; i++) {\r
411                 if(! standaloneQuarters[i].equals(standaloneQuarters1[i])) {\r
412                     errln("ERROR: setQuarters(STANDALONE, WIDE) failed (different string values)");\r
413                 }\r
414             }\r
415         }\r
416 \r
417         final String[] standaloneShortQuarters = en.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);\r
418         fr.setQuarters(standaloneShortQuarters,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);\r
419         final String[] standaloneShortQuarters1 = fr.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED);\r
420         count = standaloneShortQuarters.length;\r
421         if( count != standaloneShortQuarters1.length) {\r
422             errln("ERROR: setQuarters(STANDALONE, ABBREVIATED) failed (different size array)");\r
423         }\r
424         else {\r
425             for(int i = 0; i < count; i++) {\r
426                 if(! standaloneShortQuarters[i].equals(standaloneShortQuarters1[i])) {\r
427                     errln("ERROR: setQuarters(STANDALONE, ABBREVIATED) failed (different string values)");\r
428                 }\r
429             }\r
430         }\r
431 \r
432         final String[] ampms = en.getAmPmStrings();\r
433         fr.setAmPmStrings(ampms);\r
434         final String[] ampms1 = fr.getAmPmStrings();\r
435         count = ampms.length;\r
436         if( count != ampms1.length) {\r
437             errln("ERROR: setAmPmStrings() failed (different size array)");\r
438         }\r
439         else {\r
440             for(int i = 0; i < count; i++) {\r
441                 if(! ampms[i].equals(ampms1[i])) {\r
442                     errln("ERROR: setAmPmStrings() failed (different string values)");\r
443                 }\r
444             }\r
445         }\r
446 \r
447         long rowCount = 0, columnCount = 0;\r
448         final String[][] strings = en.getZoneStrings();\r
449         fr.setZoneStrings(strings);\r
450         final String[][] strings1 = fr.getZoneStrings();\r
451         rowCount = strings.length;\r
452         for(int i = 0; i < rowCount; i++) {\r
453             columnCount = strings[i].length;\r
454             for(int j = 0; j < columnCount; j++) {\r
455                 if( strings[i][j] != strings1[i][j] ) {\r
456                     errln("ERROR: setZoneStrings() failed");\r
457                 }\r
458             }\r
459         }\r
460 \r
461 //        final String pattern = DateFormatSymbols.getPatternChars();\r
462 \r
463         String localPattern; // pat1, pat2; //The variable is never used\r
464         localPattern = en.getLocalPatternChars();\r
465         fr.setLocalPatternChars(localPattern);\r
466         if(! en.getLocalPatternChars().equals(fr.getLocalPatternChars())) {\r
467             errln("ERROR: setLocalPatternChars() failed");\r
468         }\r
469 \r
470 \r
471         //DateFormatSymbols foo = new DateFormatSymbols(); //The variable is never used\r
472 \r
473         en = (DateFormatSymbols) fr.clone();\r
474 \r
475         if(! en.equals(fr)) {\r
476             errln("ERROR: Clone failed");\r
477         }\r
478     }\r
479 }\r