001: /**
002: *******************************************************************************
003: * Copyright (C) 2001-2005, International Business Machines Corporation and *
004: * others. All Rights Reserved. *
005: *******************************************************************************
006: */package com.ibm.icu.dev.test.collator;
007:
008: import com.ibm.icu.impl.ICUListResourceBundle;
009:
010: public class CollationTestData extends ICUListResourceBundle {
011: public CollationTestData() {
012: super .contents = data;
013: }
014:
015: static final Object[][] data = new Object[][] {
016: {
017: "Info",
018: new Object[][] {
019: { "Description",
020: "These are the data driven tests", },
021: { "Headers", new String[] { "sequence",
022:
023: }, },
024: {
025: "LongDescription",
026: "The following entries are separate tests containing"
027: + " test data for various locales.Each entry has the f"
028: + "ollowing fields: Info/Description - short descriopt"
029: + "ion of the testSettings - settings for the test.Set"
030: + "tings/TestLocale - locale for the collator ORSettin"
031: + "gs/Rules - rules for the collator (can't have both)"
032: + "Settings/Arguments - arguments to be passed to the "
033: + "collator before testing. Use rule syntax.Cases - se"
034: + "t of test cases, which are sequences of strings tha"
035: + "t will be parsedSequences must not change the sign "
036: + "of relation, i.e. we can only have < and = or> and "
037: + "= in single sequence. Cannot mix < and > in the sam"
038: + "e sequence. Whitespace isis ignored unless quoted.", }, }, },
039: {
040: "TestData",
041: new Object[][] {
042: {
043: "TestAlbanian",
044: new Object[][] {
045: {
046: "Cases",
047: new Object[] { new Object[] { new String[] { "cz<\u00E7<d<dz<dh<e<ez<\u00EB<f"
048: + "<gz<gj<h<lz<ll<m<nz<nj<o<rz<rr<"
049: + "s<sz<sh<t<tz<th<u<xz<xh<y<zz<zh",
050:
051: },
052:
053: },
054:
055: }, },
056: {
057: "Info",
058: new Object[][] { {
059: "Description",
060: "Albanian sort order.", }, }, },
061: {
062: "Settings",
063: new Object[] { new Object[][] { {
064: "TestLocale",
065: "sq", }, },
066:
067: }, }, }, },
068: {
069: "TestEstonian",
070: new Object[][] {
071: {
072: "Cases",
073: new Object[] { new Object[] { new String[] { "sy<\u0161<\u0161y<z<zy<\u017E<v"
074: + "<w<va<\u00F5<\u00F5y<\u00E4<\u00E4"
075: + "y<\u00F6<\u00F6y<\u00FC<\u00FCy"
076: + "<x",
077:
078: },
079:
080: },
081:
082: }, },
083: {
084: "Info",
085: new Object[][] { {
086: "Description",
087: "Estonian sort order.", }, }, },
088: {
089: "Settings",
090: new Object[] { new Object[][] { {
091: "TestLocale",
092: "et", }, },
093:
094: }, }, }, },
095: {
096: "TestJavaStyleRule",
097: new Object[][] {
098: {
099: "Cases",
100: new Object[] { new Object[] { new String[] { "a = equal < z < x < w < b < y"
101:
102: },
103:
104: },
105:
106: }, },
107: {
108: "Info",
109: new Object[][] { {
110: "Description",
111: "java.text allows rules to start as "
112: + "'<<<x<<<y...' we emulate this by as"
113: + "suming a &[first tertiary ignorable"
114: + "] in this case.", }, }, },
115: {
116: "Settings",
117: new Object[] { new Object[][] { {
118: "Rules",
119: "=equal<<<z<<x<<<w<y &[first ter"
120: + "tiary ignorable]=a &[first prim"
121: + "ary ignorable]=b", }, },
122:
123: }, }, }, },
124: {
125: "TestLatvian",
126: new Object[][] {
127: {
128: "Cases",
129: new Object[] { new Object[] { new String[] { "cz<\u010D<d<gz<\u0123<h<iz<y<j<"
130: + "kz<\u0137<l<lz<\u013C<m<nz<\u0146"
131: + "<o<rz<\u0157<s<sz<\u0161<t<zz<\u017E",
132:
133: },
134:
135: },
136:
137: }, },
138: {
139: "Info",
140: new Object[][] { {
141: "Description",
142: "Latvian sort order.", }, }, },
143: {
144: "Settings",
145: new Object[] { new Object[][] { {
146: "TestLocale",
147: "lv", }, },
148:
149: }, }, }, },
150: {
151: "TestLithuanian",
152: new Object[][] {
153: {
154: "Cases",
155: new Object[] { new Object[] { new String[] { "cz<\u010D<d<iz<y<j<sz<\u0161<t<"
156: + "zz<\u017E",
157:
158: },
159:
160: },
161:
162: }, },
163: {
164: "Info",
165: new Object[][] { {
166: "Description",
167: "Lithuanian sort order.", }, }, },
168: {
169: "Settings",
170: new Object[] { new Object[][] { {
171: "TestLocale",
172: "lt", }, },
173:
174: }, }, }, },
175: {
176: "TestNShiftedIgnorable",
177: new Object[][] {
178: {
179: "Cases",
180: new Object[] { new Object[] { new String[] { "a' 'b<A' 'b<a' '\u0301b<A' '\u0301"
181: + "b<a' '\u0300b<A' '\u0300b<a_b<A"
182: + "_b<a_\u0301b<A_\u0301b<a_\u0300"
183: + "b<A_\u0300b<a\u0301b<A\u0301b<a"
184: + "\u0300b<A\u0300b<",
185:
186: },
187:
188: },
189:
190: }, },
191: {
192: "Info",
193: new Object[][] { {
194: "Description",
195: "New UCA states that primary ignorab"
196: + "les should be completely ignorable "
197: + "when following a shifted code point"
198: + ".", }, }, },
199: {
200: "Settings",
201: new Object[] { new Object[][] {
202: {
203: "Arguments",
204: "[alternate non-ignorable][stren"
205: + "gth 3]", },
206: {
207: "TestLocale",
208: "root", }, },
209:
210: }, }, }, },
211: {
212: "TestSafeSurrogates",
213: new Object[][] {
214: {
215: "Cases",
216: new Object[] { new Object[] { new String[] { "a<x\uD800\uDC00b",
217:
218: },
219:
220: },
221:
222: }, },
223: {
224: "Info",
225: new Object[][] { {
226: "Description",
227: "It turned out that surrogates were "
228: + "not skipped properly when iterating"
229: + " backwards if they were in the midd"
230: + "le of a contraction. This test assu"
231: + "res that this is fixed.", }, }, },
232: {
233: "Settings",
234: new Object[] { new Object[][] { {
235: "Rules",
236: "&a < x\uD800\uDC00b", }, },
237:
238: }, }, }, },
239: {
240: "TestShiftedIgnorable",
241: new Object[][] {
242: {
243: "Cases",
244: new Object[] { new Object[] { new String[] { "a' 'b=a' '\u0300b=a' '\u0301b<a"
245: + "_b=a_\u0300b=a_\u0301b<A' 'b=A'"
246: + " '\u0300b=A' '\u0301b<A_b=A_\u0300"
247: + "b=A_\u0301b<a\u0301b<A\u0301b<a"
248: + "\u0300b<A\u0300b",
249:
250: },
251:
252: },
253:
254: }, },
255: {
256: "Info",
257: new Object[][] { {
258: "Description",
259: "New UCA states that primary ignorab"
260: + "les should be completely ignorable "
261: + "when following a shifted code point"
262: + ".", }, }, },
263: {
264: "Settings",
265: new Object[] { new Object[][] {
266: {
267: "Arguments",
268: "[alternate shifted][strength 4]", },
269: {
270: "TestLocale",
271: "root", }, },
272:
273: }, }, }, },
274: {
275: "TestSimplifiedChineseOrder",
276: new Object[][] {
277: {
278: "Cases",
279: new Object[] { new Object[] { new String[] { "\u5F20<\u5F20\u4E00\u8E3F",
280:
281: },
282:
283: },
284:
285: }, },
286: {
287: "Info",
288: new Object[][] { {
289: "Description",
290: "Sorted file has different order.", }, }, },
291: {
292: "Settings",
293: new Object[] { new Object[][] {
294: {
295: "Arguments",
296: "[normalization on]", },
297: {
298: "TestLocale",
299: "root", }, },
300:
301: }, }, }, },
302: {
303: "TestThaiPartialSortKeyProblems",
304: new Object[][] {
305: {
306: "Cases",
307: new Object[] { new Object[] { new String[] {
308: "\u0E01\u0E01\u0E38\u0E18\u0E20\u0E31"
309: + "\u0E13\u0E11\u0E4C<\u0E01\u0E01"
310: + "\u0E38\u0E2A\u0E31\u0E19\u0E42\u0E18",
311: "\u0E01\u0E07\u0E01\u0E32\u0E23<"
312: + "\u0E01\u0E07\u0E42\u0E01\u0E49",
313: "\u0E01\u0E23\u0E19\u0E17\u0E32<"
314: + "\u0E01\u0E23\u0E19\u0E19\u0E40\u0E0A"
315: + "\u0E49\u0E32",
316: "\u0E01\u0E23\u0E30\u0E40\u0E08\u0E35"
317: + "\u0E22\u0E27<\u0E01\u0E23\u0E30"
318: + "\u0E40\u0E08\u0E35\u0E4A\u0E22\u0E27",
319: "\u0E01\u0E23\u0E23\u0E40\u0E0A\u0E2D"
320: + "<\u0E01\u0E23\u0E23\u0E40\u0E0A"
321: + "\u0E49\u0E32",
322:
323: },
324:
325: },
326:
327: }, },
328: {
329: "Info",
330: new Object[][] { {
331: "Description",
332: "These are examples of strings that "
333: + "caused trouble in partial sort key "
334: + "testing.", }, }, },
335: {
336: "Settings",
337: new Object[] { new Object[][] { {
338: "TestLocale",
339: "th_TH", }, },
340:
341: }, }, }, },
342: {
343: "TestTibetanNormalizedIterativeCrash",
344: new Object[][] {
345: {
346: "Cases",
347: new Object[] { new Object[] { new String[] { "\u0F71\u0F72\u0F80\u0F71\u0F72<"
348: + "\u0F80",
349:
350: },
351:
352: },
353:
354: }, },
355: {
356: "Info",
357: new Object[][] { {
358: "Description",
359: "This pretty much crashes.", }, }, },
360: {
361: "Settings",
362: new Object[] { new Object[][] { {
363: "TestLocale",
364: "root", }, },
365:
366: }, }, }, },
367: {
368: "TestDanishPrimary",
369: new Object[][] {
370: {
371: "Cases",
372: new Object[] { new Object[] { new String[] {
373: "Lvi<Lwi",
374: "L\u00E4vi<L\u00F6wi",
375: "L\u00FCbeck=Lybeck",
376:
377: },
378:
379: },
380:
381: }, },
382: {
383: "Info",
384: new Object[][] { {
385: "Description",
386: "This test goes through primary stre"
387: + "ngth cases", }, }, },
388: {
389: "Settings",
390: new Object[] { new Object[][] {
391: {
392: "Arguments",
393: "[strength 1]", },
394: {
395: "TestLocale",
396: "da", }, },
397:
398: }, }, }, },
399: {
400: "TestDanishTertiary",
401: new Object[][] {
402: {
403: "Cases",
404: new Object[] { new Object[] { new String[] {
405: "Luc<luck",
406: "luck<L\u00FCbeck",
407: "L\u00FCbeck>lybeck",
408: "L\u00E4vi<L\u00F6we",
409: "L\u00F6ww<mast",
410: "A/S<ANDRE<ANDR\u00C9<ANDREAS<AS"
411: + "<CA<\u00C7A<CB<\u00C7C<D.S.B.<D"
412: + "A<\u00D0A<DB<\u00D0C<DSB<DSC<EK"
413: + "STRA_ARBEJDE<EKSTRABUD0<H\u00D8"
414: + "ST<HAAG<H\u00C5NDBOG<HAANDV\u00C6"
415: + "RKSBANKEN<Karl<karl<'NIELS J\u00D8"
416: + "RGEN'<NIELS-J\u00D8RGEN<NIELSEN"
417: + "<'R\u00C9E, A'<'REE, B'<'R\u00C9"
418: + "E, L'<'REE, V'<'SCHYTT, B'<'SCH"
419: + "YTT, H'<'SCH\u00DCTT, H'<'SCHYT"
420: + "T, L'<'SCH\u00DCTT, M'<SS<\u00DF"
421: + "<SSA<'STORE VILDMOSE'<STOREK\u00C6"
422: + "R0<'STORM PETERSEN'<STORMLY<THO"
423: + "RVALD<THORVARDUR<\u00FEORVAR\u00D0"
424: + "UR<THYGESEN<'VESTERG\u00C5RD, A"
425: + "'<'VESTERGAARD, A'<'VESTERG\u00C5"
426: + "RD, B'<\u00C6BLE<\u00C4BLE<\u00D8"
427: + "BERG<\u00D6BERG",
428: "andere<chaque<chemin<cote<cot\u00E9"
429: + "<c\u00F4te<c\u00F4t\u00E9<\u010D"
430: + "u\u010D\u0113t<Czech<hi\u0161a<"
431: + "irdisch<lie<lire<llama<l\u00F5u"
432: + "g<l\u00F2za<lu\u010D<luck<L\u00FC"
433: + "beck<lye<l\u00E4vi<L\u00F6wen<m"
434: + "\u00E0\u0161ta<m\u00EEr<myndig<"
435: + "M\u00E4nner<m\u00F6chten<pi\u00F1"
436: + "a<pint<pylon<\u0161\u00E0ran<sa"
437: + "voir<\u0160erb\u016Bra<Sietla<\u015B"
438: + "lub<subtle<symbol<s\u00E4mtlich"
439: + "<verkehrt<vox<v\u00E4ga<waffle<"
440: + "wood<yen<yuan<yucca<\u017Eal<\u017E"
441: + "ena<\u017Den\u0113va<zoo0<Zvied"
442: + "rija<Z\u00FCrich<zysk0<\u00E4nd"
443: + "ere",
444:
445: },
446:
447: },
448:
449: }, },
450: {
451: "Info",
452: new Object[][] { {
453: "Description",
454: "This test goes through tertiary str"
455: + "ength cases", }, }, },
456: {
457: "Settings",
458: new Object[] { new Object[][] {
459: {
460: "Arguments",
461: "[strength 3]", },
462: {
463: "TestLocale",
464: "da", }, },
465:
466: }, }, }, },
467: {
468: "TestNewHindiRules",
469: new Object[][] {
470: {
471: "Cases",
472: new Object[] { new Object[] { new String[] { "\u0950<\u0964<\u0965<\u0970<\u0966"
473: + "<\u0967<\u0968<\u0969<\u096A<\u096B"
474: + "<\u096C<\u096D<\u096E<\u096F<\u0905"
475: + "<\u0906<\u0907<\u0908<\u0909<\u090A"
476: + "<\u090B<\u0960<\u090C<\u0961<\u090D"
477: + "<\u090E<\u090F<\u0910<\u0911<\u0912"
478: + "<\u0913<\u0914<\u0915<\u0915\u093C"
479: + "=\u0958<\u0915\u0901<\u0915\u0902"
480: + "<\u0915\u0903<\u0915\u0951<\u0915"
481: + "\u0952<\u0915\u0953<\u0915\u0954"
482: + "<\u0915\u093D<\u0915\u094D<\u0915"
483: + "\u093E<\u0915\u093F<\u0915\u0940"
484: + "<\u0915\u0941<\u0915\u0942<\u0915"
485: + "\u0943<\u0915\u0944<\u0915\u0962"
486: + "<\u0915\u0963<\u0915\u0945<\u0915"
487: + "\u0946<\u0915\u0947<\u0915\u0948"
488: + "<\u0915\u0949<\u0915\u094A<\u0915"
489: + "\u094B<\u0915\u094C<\u0916<\u0916"
490: + "\u093C =\u0959<\u0916\u0901<\u0916"
491: + "\u0902<\u0916\u0903<\u0916\u0951"
492: + "<\u0916\u0952<\u0916\u0953<\u0916"
493: + "\u0954<\u0916\u093D<\u0916\u094D"
494: + "<\u0916\u093E<\u0916\u093F<\u0916"
495: + "\u0940<\u0916\u0941<\u0916\u0942"
496: + "<\u0916\u0943<\u0916\u0944<\u0916"
497: + "\u0962<\u0916\u0963<\u0916\u0945"
498: + "<\u0916\u0946<\u0916\u0947<\u0916"
499: + "\u0948<\u0916\u0949<\u0916\u094A"
500: + "<\u0916\u094B<\u0916\u094C<\u0917"
501: + "<\u0917\u093C=\u095A<\u0917\u0901"
502: + "<\u0917\u0902<\u0917\u0903<\u0917"
503: + "\u0951<\u0917\u0952<\u0917\u0953"
504: + "<\u0917\u0954<\u0917\u093D<\u0917"
505: + "\u094D<\u0917\u093E<\u0917\u093F"
506: + "<\u0917\u0940<\u0917\u0941<\u0917"
507: + "\u0942<\u0917\u0943<\u0917\u0944"
508: + "<\u0917\u0962<\u0917\u0963<\u0917"
509: + "\u0945<\u0917\u0946<\u0917\u0947"
510: + "<\u0917\u0948<\u0917\u0949<\u0917"
511: + "\u094A<\u0917\u094B<\u0917\u094C"
512: + "<\u0918<\u0919<\u091A<\u091B<\u091C"
513: + "<\u091C\u093C =\u095B<\u091C\u0901"
514: + "<\u091C\u0902<\u091C\u0903<\u091C"
515: + "\u0951<\u091C\u0952<\u091C\u0953"
516: + "<\u091C\u0954<\u091C\u093D<\u091C"
517: + "\u094D<\u091C\u093E<\u091C\u093F"
518: + "<\u091C\u0940<\u091C\u0941<\u091C"
519: + "\u0942<\u091C\u0943<\u091C\u0944"
520: + "<\u091C\u0962<\u091C\u0963<\u091C"
521: + "\u0945<\u091C\u0946<\u091C\u0947"
522: + "<\u091C\u0948<\u091C\u0949<\u091C"
523: + "\u094A<\u091C\u094B<\u091C\u094C"
524: + "<\u091D<\u091E<\u091F<\u0920<\u0921"
525: + "<\u0921\u093C=\u095C<\u0921\u0901"
526: + "<\u0921\u0902<\u0921\u0903<\u0921"
527: + "\u0951<\u0921\u0952<\u0921\u0953"
528: + "<\u0921\u0954<\u0921\u093D<\u0921"
529: + "\u094D<\u0921\u093E<\u0921\u093F"
530: + "<\u0921\u0940<\u0921\u0941<\u0921"
531: + "\u0942<\u0921\u0943<\u0921\u0944"
532: + "<\u0921\u0962<\u0921\u0963<\u0921"
533: + "\u0945<\u0921\u0946<\u0921\u0947"
534: + "<\u0921\u0948<\u0921\u0949<\u0921"
535: + "\u094A<\u0921\u094B<\u0921\u094C"
536: + "<\u0922<\u0922\u093C=\u095D<\u0922"
537: + "\u0901<\u0922\u0902<\u0922\u0903"
538: + "<\u0922\u0951<\u0922\u0952<\u0922"
539: + "\u0953<\u0922\u0954<\u0922\u093D"
540: + "<\u0922\u094D<\u0922\u093E<\u0922"
541: + "\u093F<\u0922\u0940<\u0922\u0941"
542: + "<\u0922\u0942<\u0922\u0943<\u0922"
543: + "\u0944<\u0922\u0962<\u0922\u0963"
544: + "<\u0922\u0945<\u0922\u0946<\u0922"
545: + "\u0947<\u0922\u0948<\u0922\u0949"
546: + "<\u0922\u094A<\u0922\u094B<\u0922"
547: + "\u094C<\u0923<\u0924<\u0925<\u0926"
548: + "<\u0927<\u0928<\u0928\u093C =\u0929"
549: + "< \u0928\u0901<\u0928\u0902< \u0928"
550: + "\u0903<\u0928\u0951<\u0928\u0952"
551: + "<\u0928\u0953<\u0928\u0954<\u0928"
552: + "\u093D<\u0928\u094D<\u0928\u093E"
553: + "<\u0928\u093F<\u0928\u0940<\u0928"
554: + "\u0941<\u0928\u0942<\u0928\u0943"
555: + "<\u0928\u0944<\u0928\u0962<\u0928"
556: + "\u0963<\u0928\u0945<\u0928\u0946"
557: + "<\u0928\u0947<\u0928\u0948<\u0928"
558: + "\u0949<\u0928\u094A<\u0928\u094B"
559: + "<\u0928\u094C<\u092A<\u092B<\u092B"
560: + "\u093C=\u095E<\u092B\u0901<\u092B"
561: + "\u0902<\u092B\u0903<\u092B\u0951"
562: + "<\u092B\u0952<\u092B\u0953<\u092B"
563: + "\u0954<\u092B\u093D<\u092B\u094D"
564: + "<\u092B\u093E<\u092B\u093F<\u092B"
565: + "\u0940<\u092B\u0941<\u092B\u0942"
566: + "<\u092B\u0943<\u092B\u0944<\u092B"
567: + "\u0962<\u092B\u0963<\u092B\u0945"
568: + "<\u092B\u0946<\u092B\u0947<\u092B"
569: + "\u0948<\u092B\u0949<\u092B\u094A"
570: + "<\u092B\u094B<\u092B\u094C<\u092C"
571: + "<\u092D<\u092E<\u092F<\u092F\u093C"
572: + "=\u095F <\u092F\u0901<\u092F\u0902"
573: + "<\u092F\u0903<\u092F\u0951<\u092F"
574: + "\u0952<\u092F\u0953<\u092F\u0954"
575: + "<\u092F\u093D<\u092F\u094D<\u092F"
576: + "\u093E<\u092F\u093F<\u092F\u0940"
577: + "<\u092F\u0941<\u092F\u0942<\u092F"
578: + "\u0943<\u092F\u0944<\u092F\u0962"
579: + "<\u092F\u0963<\u092F\u0945<\u092F"
580: + "\u0946<\u092F\u0947<\u092F\u0948"
581: + "<\u092F\u0949<\u092F\u094A<\u092F"
582: + "\u094B<\u092F\u094C<\u0930<\u0930"
583: + "\u093C=\u0931<\u0930\u0901<\u0930"
584: + "\u0902<\u0930\u0903<\u0930\u0951"
585: + "<\u0930\u0952<\u0930\u0953<\u0930"
586: + "\u0954<\u0930\u093D<\u0930\u094D"
587: + "<\u0930\u093E<\u0930\u093F<\u0930"
588: + "\u0940<\u0930\u0941<\u0930\u0942"
589: + "<\u0930\u0943<\u0930\u0944<\u0930"
590: + "\u0962<\u0930\u0963<\u0930\u0945"
591: + "<\u0930\u0946<\u0930\u0947<\u0930"
592: + "\u0948<\u0930\u0949<\u0930\u094A"
593: + "<\u0930\u094B<\u0930\u094C<\u0932"
594: + "<\u0933<\u0933\u093C=\u0934<\u0933"
595: + "\u0901<\u0933\u0902<\u0933\u0903"
596: + "<\u0933\u0951<\u0933\u0952<\u0933"
597: + "\u0953<\u0933\u0954<\u0933\u093D"
598: + "<\u0933\u094D<\u0933\u093E<\u0933"
599: + "\u093F<\u0933\u0940<\u0933\u0941"
600: + "<\u0933\u0942<\u0933\u0943<\u0933"
601: + "\u0944<\u0933\u0962<\u0933\u0963"
602: + "<\u0933\u0945<\u0933\u0946<\u0933"
603: + "\u0947<\u0933\u0948<\u0933\u0949"
604: + "<\u0933\u094A<\u0933\u094B<\u0933"
605: + "\u094C<\u0935<\u0936<\u0937<\u0938"
606: + "<\u0939<\u093C<\u0901<\u0902<\u0903"
607: + "<\u0951<\u0952<\u0953<\u0954<\u093D"
608: + "<\u094D<\u093E<\u093F<\u0940<\u0941"
609: + "<\u0942<\u0943<\u0944<\u0962<\u0963"
610: + "<\u0945<\u0946<\u0947<\u0948<\u0949"
611: + "<\u094A<\u094B<\u094C",
612:
613: },
614:
615: },
616:
617: }, },
618: {
619: "Info",
620: new Object[][] { {
621: "Description",
622: "This test goes through new rules an"
623: + "d tests against old rules", }, }, },
624: {
625: "Settings",
626: new Object[] { new Object[][] { {
627: "TestLocale",
628: "hi", }, },
629:
630: }, }, }, }, }, }, };
631: }
|