10596faeddefbf198de137d5e893708495ab1584cFredrik Roubert// © 2016 and later: Unicode, Inc. and others. 264339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html 3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/******************************************************************** 48393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Copyright (c) 1997-2013, International Business Machines 5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Corporation and others. All Rights Reserved. 6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ********************************************************************/ 7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/utypes.h" 9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#if !UCONFIG_NO_FORMATTING 11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "tsdtfmsy.h" 13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/dtfmtsym.h" 15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//-------------------------------------------------------------------- 18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru// Time bomb - allows temporary behavior that expires at a given 19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru// release 20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//-------------------------------------------------------------------- 21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid IntlTestDateFormatSymbols::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ ) 23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if (exec) logln("TestSuite DateFormatSymbols"); 25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru switch (index) { 26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru TESTCASE(0,TestSymbols); 27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru TESTCASE(1,TestGetMonths); 28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru TESTCASE(2,TestGetMonths2); 29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru TESTCASE(3,TestGetWeekdays2); 30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru TESTCASE(4,TestGetEraNames); 318393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius TESTCASE(5,TestGetSetSpecificItems); 32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru default: name = ""; break; 33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/** 37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Test getMonths. 38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */ 39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid IntlTestDateFormatSymbols::TestGetMonths() 40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru int32_t cnt; 43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString* month; 44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols *symbol; 45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru symbol=new DateFormatSymbols(Locale::getDefault(), status); 47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru month=symbol->getMonths(cnt); 49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru logln((UnicodeString)"size = " + cnt); 51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (int32_t i=0; i<cnt; ++i) 53ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 54ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru logln(month[i]); 55ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 56ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 57ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru delete symbol; 58ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 59ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 60ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid IntlTestDateFormatSymbols::TestGetMonths2() 61ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 62ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 63ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols *symbol; 64ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 65ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru symbol=new DateFormatSymbols(Locale::getDefault(), status); 66ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 67ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols::DtContextType context[] = {DateFormatSymbols::STANDALONE, DateFormatSymbols::FORMAT}; 68ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols::DtWidthType width[] = {DateFormatSymbols::WIDE, DateFormatSymbols::ABBREVIATED, DateFormatSymbols::NARROW}; 69ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 70ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (int32_t i = 0; i < 2; i++) { 71ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (int32_t j = 0; j < 3; j++) { 72ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru int32_t cnt; 73ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString * month = symbol->getMonths(cnt,context[i],width[j]); 74ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 75ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru logln((UnicodeString)"size = " + cnt); 76ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 77ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (int32_t k = 0; k < cnt; k++) { 78ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru logln(month[k]); 79ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 80ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 81ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 82ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru delete symbol; 83ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 84ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 85ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid IntlTestDateFormatSymbols::TestGetWeekdays2() 86ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 87ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 88ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols *symbol; 89ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 90ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru symbol=new DateFormatSymbols(Locale::getDefault(), status); 91ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 92ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols::DtContextType context[] = {DateFormatSymbols::STANDALONE, DateFormatSymbols::FORMAT}; 93ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols::DtWidthType width[] = {DateFormatSymbols::WIDE, DateFormatSymbols::ABBREVIATED, DateFormatSymbols::NARROW}; 94ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 95ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (int32_t i = 0; i < 2; i++) { 96ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (int32_t j = 0; j < 3; j++) { 97ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru int32_t cnt; 98ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString * wd = symbol->getWeekdays(cnt,context[i],width[j]); 99ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 100ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru logln((UnicodeString)"size = " + cnt); 101ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 102ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (int32_t k = 0; k < cnt; k++) { 103ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru logln(wd[k]); 104ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 105ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 106ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 107ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru delete symbol; 108ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 109ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 110ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 111ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid IntlTestDateFormatSymbols::TestGetEraNames() 112ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 113ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 114ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru int32_t cnt; 115ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString* name; 116ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols *symbol; 117ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 118ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru symbol=new DateFormatSymbols(Locale::getDefault(), status); 119ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 120ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru name=symbol->getEraNames(cnt); 121ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 122ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru logln((UnicodeString)"size = " + cnt); 123ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 124ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (int32_t i=0; i<cnt; ++i) 125ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 126ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru logln(name[i]); 127ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 128ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 129ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru delete symbol; 130ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 131ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 1328393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusUBool IntlTestDateFormatSymbols::UnicodeStringsArePrefixes(int32_t count, int32_t prefixLen, const UnicodeString *prefixArray, const UnicodeString *baseArray) 1338393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius{ 1348393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius int32_t i; 1358393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius for (i = 0; i < count; i++) { 1368393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (baseArray[i].compare(0, prefixLen, prefixArray[i]) != 0) { 1378393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("ERROR: Mismatch example: expect prefix \"" + prefixArray[i] + "\" of base \"" + baseArray[i] + "\"."); 1388393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return FALSE; 1398393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1408393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1418393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return TRUE; 1428393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius} 1438393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 1448393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusvoid IntlTestDateFormatSymbols::TestGetSetSpecificItems() 1458393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius{ 1468393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius UErrorCode status = U_ZERO_ERROR; 1478393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius DateFormatSymbols *symbol=new DateFormatSymbols(Locale::getEnglish(), status); 1488393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if(U_FAILURE(status)) { 1498393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius dataerrln("ERROR: Couldn't create English DateFormatSymbols " + (UnicodeString)u_errorName(status)); 1508393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius return; 1518393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1528393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius int32_t cntFmtAbbrev, cntFmtShort, cntStdAloneShort; 1538393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius const UnicodeString * wdFmtAbbrev = symbol->getWeekdays(cntFmtAbbrev,DateFormatSymbols::FORMAT,DateFormatSymbols::ABBREVIATED); 1548393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius const UnicodeString * wdFmtShort = symbol->getWeekdays(cntFmtShort,DateFormatSymbols::FORMAT,DateFormatSymbols::SHORT); 1558393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius const UnicodeString * wdStdAloneShort = symbol->getWeekdays(cntStdAloneShort,DateFormatSymbols::STANDALONE,DateFormatSymbols::SHORT); 1568393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius // Expect that English short names are prefixes of abbreviated names 1578393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (cntFmtShort != cntFmtAbbrev || !UnicodeStringsArePrefixes(cntFmtAbbrev, 2, wdFmtShort, wdFmtAbbrev)) { 1588393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("ERROR: English format short weekday names don't match prefixes of format abbreviated names"); 1598393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1608393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius if (cntStdAloneShort != cntFmtAbbrev || !UnicodeStringsArePrefixes(cntFmtAbbrev, 2, wdStdAloneShort, wdFmtAbbrev)) { 1618393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius errln("ERROR: English standalone short weekday names don't match prefixes of format abbreviated names"); 1628393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius } 1638393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 1648393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius delete symbol; 1658393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius} 1668393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 167ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/** 168ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Test the API of DateFormatSymbols; primarily a simple get/set set. 169ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */ 170ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid IntlTestDateFormatSymbols::TestSymbols(/* char *par */) 171ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 172ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 173ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 174ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols fr(Locale::getFrench(), status); 175ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if(U_FAILURE(status)) { 176103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius dataerrln("ERROR: Couldn't create French DateFormatSymbols " + (UnicodeString)u_errorName(status)); 17785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho return; 178ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 179ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 180ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru status = U_ZERO_ERROR; 181ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols fr2(Locale::getFrench(), status); 182ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if(U_FAILURE(status)) { 18385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho errcheckln(status, "ERROR: Couldn't create French DateFormatSymbols " + (UnicodeString)u_errorName(status)); 18485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho return; 185ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 186ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 187ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru status = U_ZERO_ERROR; 188ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols en(Locale::getEnglish(), status); 189ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if(U_FAILURE(status)) { 19085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho errcheckln(status, "ERROR: Couldn't create English DateFormatSymbols " + (UnicodeString)u_errorName(status)); 19185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho return; 192ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 193ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 194ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if(en == fr || ! (en != fr) ) { 195ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: English DateFormatSymbols equal to French"); 196ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 197ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 198ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru // just do some VERY basic tests to make sure that get/set work 199ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 200ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru int32_t count = 0; 201ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *eras = en.getEras(count); 202ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if(count == 0) { 20385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho errln("ERROR: 0 english eras.. exiting..\n"); 204ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru return; 205ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 20685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho int32_t eraNamesCount = 0; 20785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho const UnicodeString *eraNames = en.getEraNames(eraNamesCount); 20885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho if(eraNamesCount == 0) { 20985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho errln("ERROR: 0 english eraNames\n"); 21085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho } else if ( eraNames[0].length() <= eras[0].length() ) { 21185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho // At least for English we know a wide eraName should be longer than an abbrev era 21285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho errln("ERROR: english eraNames[0] not longer than eras[0]\n"); 21385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho } 21485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho int32_t narrowErasCount = 0; 21585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho const UnicodeString *narrowEras = en.getNarrowEras(narrowErasCount); 21685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho if(narrowErasCount == 0) { 21785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho errln("ERROR: 0 english narrowEras\n"); 21885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho } else if ( narrowEras[0].length() >= eras[0].length() ) { 21985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho // At least for English we know a narrowEra should be shorter than an abbrev era 22085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho errln("ERROR: english narrowEras[0] not shorter than eras[0]\n"); 22185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho } 222ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 223ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setEras(eras, count); 224ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getEras(count) != *fr.getEras(count)) { 225ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setEras() failed"); 226ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 227ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 228ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *months = en.getMonths(count); 229ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setMonths(months, count); 230ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getMonths(count) != *fr.getMonths(count)) { 231ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setMonths() failed"); 232ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 233ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 234ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *shortMonths = en.getShortMonths(count); 235ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setShortMonths(shortMonths, count); 236ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getShortMonths(count) != *fr.getShortMonths(count)) { 237ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setShortMonths() failed"); 238ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 239ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 240ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *wideMonths = en.getMonths(count,DateFormatSymbols::FORMAT,DateFormatSymbols::WIDE); 241ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr2.setMonths(wideMonths, count, DateFormatSymbols::FORMAT,DateFormatSymbols::WIDE); 242ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getMonths(count,DateFormatSymbols::FORMAT,DateFormatSymbols::WIDE) != 243ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr2.getMonths(count,DateFormatSymbols::FORMAT,DateFormatSymbols::WIDE )) { 244ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setMonths(FORMAT,WIDE) failed"); 245ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 246ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 247ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *abbrMonths = en.getMonths(count,DateFormatSymbols::FORMAT,DateFormatSymbols::ABBREVIATED); 248ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr2.setMonths(abbrMonths, count, DateFormatSymbols::FORMAT,DateFormatSymbols::ABBREVIATED); 249ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getMonths(count,DateFormatSymbols::FORMAT,DateFormatSymbols::ABBREVIATED) != 250ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr2.getMonths(count,DateFormatSymbols::FORMAT,DateFormatSymbols::ABBREVIATED )) { 251ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setMonths(FORMAT,ABBREVIATED) failed"); 252ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 253ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 254ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *narrowMonths = en.getMonths(count,DateFormatSymbols::FORMAT,DateFormatSymbols::NARROW); 255ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setMonths(narrowMonths, count, DateFormatSymbols::FORMAT,DateFormatSymbols::NARROW); 256ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getMonths(count,DateFormatSymbols::FORMAT,DateFormatSymbols::NARROW) != 257ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr.getMonths(count,DateFormatSymbols::FORMAT,DateFormatSymbols::NARROW )) { 258ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setMonths(FORMAT,NARROW) failed"); 259ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 260ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 261ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *standaloneWideMonths = en.getMonths(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::WIDE); 262ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setMonths(standaloneWideMonths, count, DateFormatSymbols::STANDALONE,DateFormatSymbols::WIDE); 263ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getMonths(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::WIDE) != 264ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr.getMonths(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::WIDE )) { 265ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setMonths(STANDALONE,WIDE) failed"); 266ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 267ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 268ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *standaloneShortMonths = en.getMonths(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::ABBREVIATED); 269ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setMonths(standaloneShortMonths, count, DateFormatSymbols::STANDALONE,DateFormatSymbols::ABBREVIATED); 270ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getMonths(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::ABBREVIATED) != 271ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr.getMonths(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::ABBREVIATED )) { 272ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setMonths(STANDALONE,ABBREVIATED) failed"); 273ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 274ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 275ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *standaloneNarrowMonths = en.getMonths(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::NARROW); 276ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setMonths(standaloneNarrowMonths, count, DateFormatSymbols::STANDALONE,DateFormatSymbols::NARROW); 277ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getMonths(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::NARROW) != 278ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr.getMonths(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::NARROW )) { 279ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setMonths(STANDALONE,NARROW) failed"); 280ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 281ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 282ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *weekdays = en.getWeekdays(count); 283ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setWeekdays(weekdays, count); 284ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getWeekdays(count) != *fr.getWeekdays(count)) { 285ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setWeekdays() failed"); 286ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 287ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 288ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *shortWeekdays = en.getShortWeekdays(count); 289ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setShortWeekdays(shortWeekdays, count); 290ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getShortWeekdays(count) != *fr.getShortWeekdays(count)) { 291ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setShortWeekdays() failed"); 292ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 293ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 294ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *wideWeekdays = en.getWeekdays(count,DateFormatSymbols::FORMAT,DateFormatSymbols::WIDE); 295ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr2.setWeekdays(wideWeekdays, count, DateFormatSymbols::FORMAT,DateFormatSymbols::WIDE); 296ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getWeekdays(count,DateFormatSymbols::FORMAT,DateFormatSymbols::WIDE) != 297ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr2.getWeekdays(count,DateFormatSymbols::FORMAT,DateFormatSymbols::WIDE )) { 298ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setWeekdays(FORMAT,WIDE) failed"); 299ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 300ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 301ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *abbrWeekdays = en.getWeekdays(count,DateFormatSymbols::FORMAT,DateFormatSymbols::ABBREVIATED); 302ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr2.setWeekdays(abbrWeekdays, count, DateFormatSymbols::FORMAT,DateFormatSymbols::ABBREVIATED); 303ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getWeekdays(count,DateFormatSymbols::FORMAT,DateFormatSymbols::ABBREVIATED) != 304ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr2.getWeekdays(count,DateFormatSymbols::FORMAT,DateFormatSymbols::ABBREVIATED )) { 305ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setWeekdays(FORMAT,ABBREVIATED) failed"); 306ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 307ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 308ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *narrowWeekdays = en.getWeekdays(count,DateFormatSymbols::FORMAT,DateFormatSymbols::NARROW); 309ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setWeekdays(narrowWeekdays, count, DateFormatSymbols::FORMAT,DateFormatSymbols::NARROW); 310ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getWeekdays(count,DateFormatSymbols::FORMAT,DateFormatSymbols::NARROW) != 311ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr.getWeekdays(count,DateFormatSymbols::FORMAT,DateFormatSymbols::NARROW )) { 312ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setWeekdays(FORMAT,NARROW) failed"); 313ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 314ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 315ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *standaloneWideWeekdays = en.getWeekdays(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::WIDE); 316ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setWeekdays(standaloneWideWeekdays, count, DateFormatSymbols::STANDALONE,DateFormatSymbols::WIDE); 317ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getWeekdays(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::WIDE) != 318ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr.getWeekdays(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::WIDE )) { 319ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setWeekdays(STANDALONE,WIDE) failed"); 320ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 321ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 322ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *standaloneShortWeekdays = en.getWeekdays(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::ABBREVIATED); 323ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setWeekdays(standaloneShortWeekdays, count, DateFormatSymbols::STANDALONE,DateFormatSymbols::ABBREVIATED); 324ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getWeekdays(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::ABBREVIATED) != 325ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr.getWeekdays(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::ABBREVIATED )) { 326ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setWeekdays(STANDALONE,ABBREVIATED) failed"); 327ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 328ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 329ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *standaloneNarrowWeekdays = en.getWeekdays(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::NARROW); 330ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setWeekdays(standaloneNarrowWeekdays, count, DateFormatSymbols::STANDALONE,DateFormatSymbols::NARROW); 331ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getWeekdays(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::NARROW) != 332ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr.getWeekdays(count,DateFormatSymbols::STANDALONE,DateFormatSymbols::NARROW )) { 333ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setWeekdays(STANDALONE,NARROW) failed"); 334ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 335ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 336ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *wideQuarters = en.getQuarters(count,DateFormatSymbols::FORMAT, DateFormatSymbols::WIDE); 337ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr2.setQuarters(wideQuarters, count, DateFormatSymbols::FORMAT, DateFormatSymbols::WIDE); 338ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getQuarters(count,DateFormatSymbols::FORMAT, DateFormatSymbols::WIDE) != 339ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr2.getQuarters(count,DateFormatSymbols::FORMAT, DateFormatSymbols::WIDE )) { 340ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setQuarters(FORMAT, WIDE) failed"); 341ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 342ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 343ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *abbrQuarters = en.getQuarters(count,DateFormatSymbols::FORMAT, DateFormatSymbols::ABBREVIATED); 344ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr2.setQuarters(abbrQuarters, count, DateFormatSymbols::FORMAT, DateFormatSymbols::ABBREVIATED); 345ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getQuarters(count,DateFormatSymbols::FORMAT, DateFormatSymbols::ABBREVIATED) != 346ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr2.getQuarters(count,DateFormatSymbols::FORMAT ,DateFormatSymbols::ABBREVIATED )) { 347ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setQuarters(FORMAT, ABBREVIATED) failed"); 348ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 349ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 350ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *standaloneWideQuarters = en.getQuarters(count,DateFormatSymbols::STANDALONE, DateFormatSymbols::WIDE); 351ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setQuarters(standaloneWideQuarters, count, DateFormatSymbols::STANDALONE, DateFormatSymbols::WIDE); 352ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getQuarters(count,DateFormatSymbols::STANDALONE, DateFormatSymbols::WIDE) != 353ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr.getQuarters(count,DateFormatSymbols::STANDALONE, DateFormatSymbols::WIDE )) { 354ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setQuarters(STANDALONE, WIDE) failed"); 355ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 356ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 357ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *standaloneShortQuarters = en.getQuarters(count,DateFormatSymbols::STANDALONE, DateFormatSymbols::ABBREVIATED); 358ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setQuarters(standaloneShortQuarters, count, DateFormatSymbols::STANDALONE, DateFormatSymbols::ABBREVIATED); 359ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getQuarters(count,DateFormatSymbols::STANDALONE, DateFormatSymbols::ABBREVIATED) != 360ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *fr.getQuarters(count,DateFormatSymbols::STANDALONE, DateFormatSymbols::ABBREVIATED )) { 361ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setQuarters(STANDALONE, ABBREVIATED) failed"); 362ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 363ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 364ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString *ampms = en.getAmPmStrings(count); 365ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setAmPmStrings(ampms, count); 366ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( *en.getAmPmStrings(count) != *fr.getAmPmStrings(count)) { 367ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setAmPmStrings() failed"); 368ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 369ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 370ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru int32_t rowCount = 0, columnCount = 0; 371ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString **strings = en.getZoneStrings(rowCount, columnCount); 372ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setZoneStrings(strings, rowCount, columnCount); 373ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const UnicodeString **strings1 = fr.getZoneStrings(rowCount, columnCount); 374ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for(int32_t i = 0; i < rowCount; i++) { 375ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for(int32_t j = 0; j < columnCount; j++) { 376ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( strings[i][j] != strings1[i][j] ) { 377ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setZoneStrings() failed"); 378ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 379ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 380ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 381ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 382ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UnicodeString localPattern, pat1, pat2; 383ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru localPattern = en.getLocalPatternChars(localPattern); 384ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fr.setLocalPatternChars(localPattern); 385ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if( en.getLocalPatternChars(pat1) != fr.getLocalPatternChars(pat2)) { 386ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: setLocalPatternChars() failed"); 387ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 388ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 389ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 390ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru status = U_ZERO_ERROR; 391ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols foo(status); 392ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DateFormatSymbols bar(foo); 393ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 394ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru en = fr; 395ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 396ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if(en != fr) { 397ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: Assignment operator failed"); 398ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 399ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if(foo != bar) { 400ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: Copy Constructor failed"); 401ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 402ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 403ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 404ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif /* #if !UCONFIG_NO_FORMATTING */ 405