17935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/***************************************************************************************** 27935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Copyright (C) 1996-2014, International Business Machines 47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Corporation and others. All Rights Reserved. 57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert **/ 67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Port From: JDK 1.4b1 : java.text.Format.IntlTestDateFormatSymbols 97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Source File: java/text/format/IntlTestDateFormatSymbols.java 107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert **/ 117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/* 137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert @test 1.4 98/03/06 147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert @summary test International Date Format Symbols 157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert*/ 167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.dev.test.format; 187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.util.Locale; 207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.text.DateFormatSymbols; 227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.util.Calendar; 237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.util.ULocale; 247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic class IntlTestDateFormatSymbols extends com.ibm.icu.dev.test.TestFmwk 267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert{ 277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static void main(String[] args) throws Exception { 287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new IntlTestDateFormatSymbols().run(args); 297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Test getMonths 327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void TestGetMonths() 337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert { 347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] month; 357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DateFormatSymbols symbol; 367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert symbol=new DateFormatSymbols(Locale.getDefault()); 387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert month=symbol.getMonths(); 407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int cnt = month.length; 417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("size = " + cnt); 437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (int i=0; i<cnt; ++i) 457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert { 467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln(month[i]); 477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void TestGetMonths2() 517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert { 527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DateFormatSymbols symbol; 537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert symbol=new DateFormatSymbols(Locale.getDefault()); 547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int[] context = {DateFormatSymbols.STANDALONE, DateFormatSymbols.FORMAT}; 567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int[] width = {DateFormatSymbols.WIDE, DateFormatSymbols.ABBREVIATED, DateFormatSymbols.NARROW}; 577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (int i = 0; i < context.length; i++) { 597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (int j = 0; j < width.length; j++) { 607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String[] month =symbol.getMonths(context[i],width[j]); 617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int cnt = month.length; 627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("size = " + cnt); 647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (int k = 0; k < month.length; k++) { 667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln(month[k]); 677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void TestGetWeekdays2(){ 737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DateFormatSymbols symbol; 747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert symbol=new DateFormatSymbols(Locale.getDefault()); 757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int[] context = {DateFormatSymbols.STANDALONE, DateFormatSymbols.FORMAT}; 777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int[] width = {DateFormatSymbols.WIDE, DateFormatSymbols.ABBREVIATED, DateFormatSymbols.NARROW}; 787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (int i = 0; i < context.length; i++) { 807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (int j = 0; j < width.length; j++) { 817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String[] wd =symbol.getWeekdays(context[i],width[j]); 827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int cnt = wd.length; 837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("size = " + cnt); 857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (int k = 0; k < wd.length; k++) { 877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln(wd[k]); 887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void TestGetEraNames(){ 957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DateFormatSymbols symbol; 967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert symbol=new DateFormatSymbols(Locale.getDefault()); 977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String[] s = symbol.getEraNames(); 987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (int i = 0; i < s.length; i++) { 997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln(s[i]); 1007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private boolean UnicodeStringsArePrefixes(String[] prefixArray, String[] baseArray){ 1057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (prefixArray.length != baseArray.length) { 1067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return false; 1077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int i; 1097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (i = 0; i < baseArray.length; i++) { 1107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (!baseArray[i].startsWith(prefixArray[i])) { 1117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: Mismatch example, index " + i + ": expect prefix \"" + prefixArray[i] + "\" of base \"" + baseArray[i] + "\"."); 1127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return false; 1137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return true; 1167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Test the API of DateFormatSymbols; primarily a simple get/set set. 1207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void TestSymbols() 1217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert { 1227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DateFormatSymbols fr = new DateFormatSymbols(Locale.FRENCH); 1237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DateFormatSymbols fr2 = new DateFormatSymbols(Locale.FRENCH); 1247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DateFormatSymbols en = new DateFormatSymbols(Locale.ENGLISH); 1267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DateFormatSymbols zhChiCal = new DateFormatSymbols(new ULocale("zh@calendar=chinese")); 1287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(en.equals(fr)) { 1307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: English DateFormatSymbols equal to French"); 1317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // just do some VERY basic tests to make sure that get/set work 1347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert long count; 1367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] eras = en.getEras(); 1377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setEras(eras); 1387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] eras1 = fr.getEras(); 1397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = eras.length; 1407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != eras1.length) { 1417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setEras() failed (different size array)"); 1427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 1447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 1457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! eras[i].equals(eras1[i])) { 1467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setEras() failed (different string values)"); 1477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] months = en.getMonths(); 1537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setMonths(months); 1547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] months1 = fr.getMonths(); 1557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = months.length; 1567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != months1.length) { 1577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths() failed (different size array)"); 1587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 1607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 1617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! months[i].equals(months1[i])) { 1627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths() failed (different string values)"); 1637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] shortMonths = en.getShortMonths(); 1687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setShortMonths(shortMonths); 1697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] shortMonths1 = fr.getShortMonths(); 1707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = shortMonths.length; 1717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != shortMonths1.length) { 1727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setShortMonths() failed (different size array)"); 1737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 1757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 1767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! shortMonths[i].equals(shortMonths1[i])) { 1777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setShortMonths() failed (different string values)"); 1787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] wideMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE); 1837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr2.setMonths(wideMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE); 1847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] wideMonths1 = fr2.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE); 1857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = wideMonths.length; 1867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != wideMonths1.length) { 1877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(FORMAT,WIDE) failed (different size array)"); 1887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 1907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 1917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! wideMonths[i].equals(wideMonths1[i])) { 1927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(FORMAT,WIDE) failed (different string values)"); 1937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] abbrMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED); 1987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr2.setMonths(abbrMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED); 1997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] abbrMonths1 = fr2.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED); 2007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = abbrMonths.length; 2017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != abbrMonths1.length) { 2027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(FORMAT,ABBREVIATED) failed (different size array)"); 2037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 2057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 2067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! abbrMonths[i].equals(abbrMonths1[i])) { 2077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(FORMAT,ABBREVIATED) failed (different string values)"); 2087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 2127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] narrowMonths = en.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW); 2137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setMonths(narrowMonths,DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW); 2147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] narrowMonths1 = fr.getMonths(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW); 2157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = narrowMonths.length; 2167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != narrowMonths1.length) { 2177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(FORMAT,NARROW) failed (different size array)"); 2187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 2207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 2217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! narrowMonths[i].equals(narrowMonths1[i])) { 2227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(FORMAT,NARROW) failed (different string values)"); 2237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 2277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE); 2287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setMonths(standaloneMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE); 2297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE); 2307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = standaloneMonths.length; 2317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != standaloneMonths1.length) { 2327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(STANDALONE,WIDE) failed (different size array)"); 2337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 2357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 2367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! standaloneMonths[i].equals(standaloneMonths1[i])) { 2377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(STANDALONE,WIDE) failed (different string values)"); 2387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 2427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneShortMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED); 2437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setMonths(standaloneShortMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED); 2447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneShortMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED); 2457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = standaloneShortMonths.length; 2467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != standaloneShortMonths1.length) { 2477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(STANDALONE,ABBREVIATED) failed (different size array)"); 2487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 2507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 2517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! standaloneShortMonths[i].equals(standaloneShortMonths1[i])) { 2527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(STANDALONE,ABBREVIATED) failed (different string values)"); 2537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 2577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneNarrowMonths = en.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW); 2587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setMonths(standaloneNarrowMonths,DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW); 2597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneNarrowMonths1 = fr.getMonths(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW); 2607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = standaloneNarrowMonths.length; 2617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != standaloneNarrowMonths1.length) { 2627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(STANDALONE,NARROW) failed (different size array)"); 2637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 2657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 2667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! standaloneNarrowMonths[i].equals(standaloneNarrowMonths1[i])) { 2677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMonths(STANDALONE,NARROW) failed (different string values)"); 2687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 2727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] weekdays = en.getWeekdays(); 2737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setWeekdays(weekdays); 2747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] weekdays1 = fr.getWeekdays(); 2757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = weekdays.length; 2767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != weekdays1.length) { 2777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays() failed (different size array)"); 2787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 2807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 2817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! weekdays[i].equals(weekdays1[i])) { 2827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays() failed (different string values)"); 2837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 2877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] shortWeekdays = en.getShortWeekdays(); 2887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setShortWeekdays(shortWeekdays); 2897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] shortWeekdays1 = fr.getShortWeekdays(); 2907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = shortWeekdays.length; 2917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != shortWeekdays1.length) { 2927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setShortWeekdays() failed (different size array)"); 2937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 2957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 2967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! shortWeekdays[i].equals(shortWeekdays1[i])) { 2977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setShortWeekdays() failed (different string values)"); 2987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 3027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] wideWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE); 3037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr2.setWeekdays(wideWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE); 3047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] wideWeekdays1 = fr2.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE); 3057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = wideWeekdays.length; 3067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != wideWeekdays1.length) { 3077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(FORMAT,WIDE) failed (different size array)"); 3087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 3107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 3117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! wideWeekdays[i].equals(wideWeekdays1[i])) { 3127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(FORMAT,WIDE) failed (different string values)"); 3137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 3177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] abbrWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED); 3187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] shorterWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.SHORT); 3197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if ( !UnicodeStringsArePrefixes(shorterWeekdays, abbrWeekdays) ) { 3207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: English format short weekday names don't match prefixes of format abbreviated names"); 3217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr2.setWeekdays(abbrWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED); 3237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] abbrWeekdays1 = fr2.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED); 3247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = abbrWeekdays.length; 3257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != abbrWeekdays1.length) { 3267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(FORMAT,ABBREVIATED) failed (different size array)"); 3277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 3297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 3307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! abbrWeekdays[i].equals(abbrWeekdays1[i])) { 3317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(FORMAT,ABBREVIATED) failed (different string values)"); 3327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 3367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] narrowWeekdays = en.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW); 3377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setWeekdays(narrowWeekdays,DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW); 3387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] narrowWeekdays1 = fr.getWeekdays(DateFormatSymbols.FORMAT,DateFormatSymbols.NARROW); 3397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = narrowWeekdays.length; 3407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != narrowWeekdays1.length) { 3417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(FORMAT,NARROW) failed (different size array)"); 3427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 3447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 3457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! narrowWeekdays[i].equals(narrowWeekdays1[i])) { 3467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(FORMAT,NARROW) failed (different string values)"); 3477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 3517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE); 3527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setWeekdays(standaloneWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE); 3537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE); 3547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = standaloneWeekdays.length; 3557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != standaloneWeekdays1.length) { 3567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(STANDALONE,WIDE) failed (different size array)"); 3577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 3597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 3607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! standaloneWeekdays[i].equals(standaloneWeekdays1[i])) { 3617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(STANDALONE,WIDE) failed (different string values)"); 3627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 3667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneShortWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED); 3677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneShorterWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.SHORT); 3687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if ( !UnicodeStringsArePrefixes(standaloneShorterWeekdays, standaloneShortWeekdays) ) { 3697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: English standalone short weekday names don't match prefixes of standalone abbreviated names"); 3707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setWeekdays(standaloneShortWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED); 3727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneShortWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED); 3737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = standaloneShortWeekdays.length; 3747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != standaloneShortWeekdays1.length) { 3757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(STANDALONE,ABBREVIATED) failed (different size array)"); 3767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 3787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 3797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! standaloneShortWeekdays[i].equals(standaloneShortWeekdays1[i])) { 3807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(STANDALONE,ABBREVIATED) failed (different string values)"); 3817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 3857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneNarrowWeekdays = en.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW); 3867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setWeekdays(standaloneNarrowWeekdays,DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW); 3877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneNarrowWeekdays1 = fr.getWeekdays(DateFormatSymbols.STANDALONE,DateFormatSymbols.NARROW); 3887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = standaloneNarrowWeekdays.length; 3897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != standaloneNarrowWeekdays1.length) { 3907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(STANDALONE,NARROW) failed (different size array)"); 3917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 3937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 3947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! standaloneNarrowWeekdays[i].equals(standaloneNarrowWeekdays1[i])) { 3957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setWeekdays(STANDALONE,NARROW) failed (different string values)"); 3967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 3997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 4007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] wideQuarters = en.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE); 4017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr2.setQuarters(wideQuarters,DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE); 4027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] wideQuarters1 = fr2.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.WIDE); 4037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = wideQuarters.length; 4047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != wideQuarters1.length) { 4057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setQuarters(FORMAT, WIDE) failed (different size array)"); 4067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 4087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 4097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! wideQuarters[i].equals(wideQuarters1[i])) { 4107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setQuarters(FORMAT, WIDE) failed (different string values)"); 4117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 4157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] abbrQuarters = en.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED); 4167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr2.setQuarters(abbrQuarters,DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED); 4177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] abbrQuarters1 = fr2.getQuarters(DateFormatSymbols.FORMAT,DateFormatSymbols.ABBREVIATED); 4187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = abbrQuarters.length; 4197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != abbrQuarters1.length) { 4207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setQuarters(FORMAT, ABBREVIATED) failed (different size array)"); 4217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 4237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 4247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! abbrQuarters[i].equals(abbrQuarters1[i])) { 4257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setQuarters(FORMAT, ABBREVIATED) failed (different string values)"); 4267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 4307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneQuarters = en.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE); 4317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setQuarters(standaloneQuarters,DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE); 4327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneQuarters1 = fr.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.WIDE); 4337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = standaloneQuarters.length; 4347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != standaloneQuarters1.length) { 4357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setQuarters(STANDALONE, WIDE) failed (different size array)"); 4367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 4387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 4397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! standaloneQuarters[i].equals(standaloneQuarters1[i])) { 4407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setQuarters(STANDALONE, WIDE) failed (different string values)"); 4417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 4457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneShortQuarters = en.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED); 4467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setQuarters(standaloneShortQuarters,DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED); 4477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] standaloneShortQuarters1 = fr.getQuarters(DateFormatSymbols.STANDALONE,DateFormatSymbols.ABBREVIATED); 4487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = standaloneShortQuarters.length; 4497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != standaloneShortQuarters1.length) { 4507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setQuarters(STANDALONE, ABBREVIATED) failed (different size array)"); 4517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 4537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 4547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! standaloneShortQuarters[i].equals(standaloneShortQuarters1[i])) { 4557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setQuarters(STANDALONE, ABBREVIATED) failed (different string values)"); 4567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 4607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] ampms = en.getAmPmStrings(); 4617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setAmPmStrings(ampms); 4627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] ampms1 = fr.getAmPmStrings(); 4637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert count = ampms.length; 4647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( count != ampms1.length) { 4657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setAmPmStrings() failed (different size array)"); 4667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert else { 4687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 4697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! ampms[i].equals(ampms1[i])) { 4707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setAmPmStrings() failed (different string values)"); 4717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 4757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert long rowCount = 0, columnCount = 0; 4767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[][] strings = en.getZoneStrings(); 4777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setZoneStrings(strings); 4787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[][] strings1 = fr.getZoneStrings(); 4797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert rowCount = strings.length; 4807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < rowCount; i++) { 4817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert columnCount = strings[i].length; 4827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int j = 0; j < columnCount; j++) { 4837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( strings[i][j] != strings1[i][j] ) { 4847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setZoneStrings() failed"); 4857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 4897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// final String pattern = DateFormatSymbols.getPatternChars(); 4907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 4917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String localPattern; // pat1, pat2; //The variable is never used 4927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert localPattern = en.getLocalPatternChars(); 4937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setLocalPatternChars(localPattern); 4947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! en.getLocalPatternChars().equals(fr.getLocalPatternChars())) { 4957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setLocalPatternChars() failed"); 4967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 4977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 4987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 4997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert //DateFormatSymbols foo = new DateFormatSymbols(); //The variable is never used 5007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert en = (DateFormatSymbols) fr.clone(); 5027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(! en.equals(fr)) { 5047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: Clone failed"); 5057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] shortYearNames = zhChiCal.getYearNames(DateFormatSymbols.FORMAT, DateFormatSymbols.ABBREVIATED); 5087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] narrowYearNames = zhChiCal.getYearNames(DateFormatSymbols.STANDALONE, DateFormatSymbols.NARROW); 5097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (shortYearNames == null || shortYearNames.length != 60 || 5107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert !shortYearNames[0].equals("\u7532\u5B50") || !shortYearNames[59].equals("\u7678\u4EA5")) { 5117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: invalid FORMAT/ABBREVIATED year names from zh@calendar=chinese"); 5127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (narrowYearNames == null || narrowYearNames.length != 60 || 5147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert !narrowYearNames[0].equals("\u7532\u5B50") || !narrowYearNames[59].equals("\u7678\u4EA5")) { 5157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: invalid STANDALONE/NARROW year names from zh@calendar=chinese"); 5167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] enGregoYearNames = en.getYearNames(DateFormatSymbols.FORMAT, DateFormatSymbols.ABBREVIATED); 5187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (enGregoYearNames != null) { 5197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: yearNames not null for en"); 5207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] shortZodiacNames = zhChiCal.getZodiacNames(DateFormatSymbols.FORMAT, DateFormatSymbols.ABBREVIATED); 5237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (shortZodiacNames == null || shortZodiacNames.length != 12 || 5247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert !shortZodiacNames[0].equals("\u9F20") || !shortZodiacNames[11].equals("\u732A")) { 5257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: invalid FORMAT/ABBREVIATED zodiac names from zh@calendar=chinese"); 5267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] newZodiacNames = {"Rat","Ox","Tiger","Rabbit","Dragon","Snake","Horse","Goat","Monkey","Rooster","Dog","Pig"}; 5297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert zhChiCal.setZodiacNames(newZodiacNames, DateFormatSymbols.FORMAT, DateFormatSymbols.ABBREVIATED); 5307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String[] testZodiacNames = zhChiCal.getZodiacNames(DateFormatSymbols.FORMAT, DateFormatSymbols.ABBREVIATED); 5317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (testZodiacNames == null || testZodiacNames.length != 12 || 5327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert !testZodiacNames[0].equals("Rat") || !testZodiacNames[11].equals("Pig")) { 5337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setZodiacNames then getZodiacNames not working for zh@calendar=chinese"); 5347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String leapMonthPatternFmtAbbrev = zhChiCal.getLeapMonthPattern(DateFormatSymbols.FORMAT, DateFormatSymbols.ABBREVIATED); 5377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (leapMonthPatternFmtAbbrev == null || !leapMonthPatternFmtAbbrev.equals("\u95F0{0}")) { 5387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: invalid FORMAT/ABBREVIATED leapMonthPattern from zh@calendar=chinese"); 5397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void TestConstructorWithCalendar() { 5437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ULocale[] TestLocales = { 5447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("en_US@calendar=gregorian"), 5457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("ja_JP@calendar=japanese"), 5467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("th_TH@calendar=buddhist"), 5477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("zh_TW@calendar=roc"), 5487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("ar_IR@calendar=persian"), 5497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("ar_EG@calendar=islamic"), 5507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("he_IL@calendar=hebrew"), 5517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("zh_CN@calendar=chinese"), 5527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("hi_IN@calendar=indian"), 5537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("ar_EG@calendar=coptic"), 5547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new ULocale("am_ET@calendar=ethiopic"), 5557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert }; 5567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int i; 5587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // calendars 5607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert Calendar[] calendars = new Calendar[TestLocales.length]; 5617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (i = 0; i < TestLocales.length; i++) { 5627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert calendars[i] = Calendar.getInstance(TestLocales[i]); 5637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Creates an instance from a base locale + calendar 5667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DateFormatSymbols[] symbols = new DateFormatSymbols[TestLocales.length]; 5677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (i = 0; i < TestLocales.length; i++) { 5687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert symbols[i] = new DateFormatSymbols(calendars[i], new ULocale(TestLocales[i].getBaseName())); 5697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Compare an instance created from a base locale + calendar 5727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // with an instance created from its base locale + calendar class 5737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for (i = 0; i < TestLocales.length; i++) { 5747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DateFormatSymbols dfs = new DateFormatSymbols(calendars[i].getClass(), new ULocale(TestLocales[i].getBaseName())); 5757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (!dfs.equals(symbols[i])) { 5767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("FAIL: DateFormatSymbols created from a base locale and calendar instance" 5777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert + " is different from one created from the same base locale and calendar class - " 5787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert + TestLocales[i]); 5797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 5827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 5837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert} 584