1ef39d40dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3ef39d40dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4ef39d40dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5ef39d40dSAndrew Rist  * distributed with this work for additional information
6ef39d40dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7ef39d40dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8ef39d40dSAndrew Rist  * "License"); you may not use this file except in compliance
9ef39d40dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10ef39d40dSAndrew Rist  *
11ef39d40dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12ef39d40dSAndrew Rist  *
13ef39d40dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14ef39d40dSAndrew Rist  * software distributed under the License is distributed on an
15ef39d40dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16ef39d40dSAndrew Rist  * KIND, either express or implied.  See the License for the
17ef39d40dSAndrew Rist  * specific language governing permissions and limitations
18ef39d40dSAndrew Rist  * under the License.
19ef39d40dSAndrew Rist  *
20ef39d40dSAndrew Rist  *************************************************************/
21ef39d40dSAndrew Rist 
22ef39d40dSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir package ifc.i18n;
25cdf0e10cSrcweir 
26cdf0e10cSrcweir import lib.MultiMethodTest;
27cdf0e10cSrcweir 
28cdf0e10cSrcweir import com.sun.star.i18n.Calendar;
29cdf0e10cSrcweir import com.sun.star.i18n.Currency;
30cdf0e10cSrcweir import com.sun.star.i18n.ForbiddenCharacters;
31cdf0e10cSrcweir import com.sun.star.i18n.FormatElement;
32cdf0e10cSrcweir import com.sun.star.i18n.Implementation;
33cdf0e10cSrcweir import com.sun.star.i18n.LanguageCountryInfo;
34cdf0e10cSrcweir import com.sun.star.i18n.LocaleDataItem;
35cdf0e10cSrcweir import com.sun.star.i18n.XLocaleData;
36cdf0e10cSrcweir import com.sun.star.lang.Locale;
37cdf0e10cSrcweir 
38cdf0e10cSrcweir /**
39cdf0e10cSrcweir * Testing <code>com.sun.star.i18n.XLocaleData</code>
40cdf0e10cSrcweir * interface methods:
41cdf0e10cSrcweir * <ul>
42cdf0e10cSrcweir *  <li><code> getLanguageCountryInfo() </code></li>
43cdf0e10cSrcweir *  <li><code> getLocaleItem() </code></li>
44cdf0e10cSrcweir *  <li><code> getAllCalendars() </code></li>
45cdf0e10cSrcweir *  <li><code> getAllCurrencies() </code></li>
46cdf0e10cSrcweir *  <li><code> getAllFormats() </code></li>
47cdf0e10cSrcweir *  <li><code> getCollatorImplementations() </code></li>
48cdf0e10cSrcweir *  <li><code> getSearchOptions() </code></li>
49cdf0e10cSrcweir *  <li><code> getCollationOptions() </code></li>
50cdf0e10cSrcweir *  <li><code> getTransliterations() </code></li>
51cdf0e10cSrcweir *  <li><code> getForbiddenCharacters() </code></li>
52cdf0e10cSrcweir *  <li><code> getReservedWord() </code></li>
53cdf0e10cSrcweir *  <li><code> getAllInstalledLocaleNames() </code></li>
54cdf0e10cSrcweir * </ul><p>
55cdf0e10cSrcweir * Test is <b> NOT </b> multithread compilant. <p>
56cdf0e10cSrcweir * @see com.sun.star.i18n.XLocaleData
57cdf0e10cSrcweir */
58cdf0e10cSrcweir public class _XLocaleData extends MultiMethodTest {
59cdf0e10cSrcweir     public XLocaleData oObj = null;
60cdf0e10cSrcweir     public String[] languages = new String[]{"de","en","es","fr","ja","ko","ko"};
61cdf0e10cSrcweir     public String[] countries = new String[]{"DE","US","ES","FR","JP","KR","KR"};
62cdf0e10cSrcweir 
63cdf0e10cSrcweir 
64cdf0e10cSrcweir     /**
65cdf0e10cSrcweir     * Test calls the method, then result is checked. <p>
66cdf0e10cSrcweir     * Has <b> OK </b> status if structure, returned by the method includes
67cdf0e10cSrcweir     * correct values of fields 'Language' and 'Country' for all given locales.
68cdf0e10cSrcweir     */
_getLanguageCountryInfo()69cdf0e10cSrcweir     public void _getLanguageCountryInfo() {
70cdf0e10cSrcweir         boolean res = true;
71cdf0e10cSrcweir         LanguageCountryInfo lci = null;
72cdf0e10cSrcweir 
73cdf0e10cSrcweir         for (int i=0;i<7;i++) {
74cdf0e10cSrcweir             lci = oObj.getLanguageCountryInfo(getLocale(i));
75cdf0e10cSrcweir             /* For debug purposes
76cdf0e10cSrcweir             log.println("Using: language="+languages[i]+" ; country="+countries[i]);
77cdf0e10cSrcweir             log.println("Getting: ");
78cdf0e10cSrcweir             log.println("\t Language="+lci.Language);
79cdf0e10cSrcweir             log.println("\t LanguageDefaultName="+lci.LanguageDefaultName);
80cdf0e10cSrcweir             log.println("\t Country="+lci.Country);
81cdf0e10cSrcweir             log.println("\t CountryDefaultName="+lci.CountryDefaultName);
82cdf0e10cSrcweir             boolean lang = ( lci.Language.equals(languages[i]) );
83cdf0e10cSrcweir             if (!lang) log.println("getting false for language: "+lci.LanguageDefaultName);
84cdf0e10cSrcweir             lang = ( lci.Country.equals(countries[i]) );
85cdf0e10cSrcweir             if (!lang) log.println("getting false for country: "+lci.CountryDefaultName);
86cdf0e10cSrcweir             */
87cdf0e10cSrcweir             res &= ( ( lci.Language.equals(languages[i]) ) && ( lci.Country.equals(countries[i]) ) );
88cdf0e10cSrcweir         }
89cdf0e10cSrcweir         tRes.tested("getLanguageCountryInfo()",res);
90cdf0e10cSrcweir     }
91cdf0e10cSrcweir 
92cdf0e10cSrcweir     /**
93cdf0e10cSrcweir     * Test calls the method, then result is checked. <p>
94cdf0e10cSrcweir     * Has <b> OK </b> status if structure, returned by the method consists of
95cdf0e10cSrcweir     * non empty strings for all given locales.
96cdf0e10cSrcweir     */
_getLocaleItem()97cdf0e10cSrcweir     public void _getLocaleItem() {
98cdf0e10cSrcweir         boolean res = true;
99cdf0e10cSrcweir         LocaleDataItem ldi = null;
100cdf0e10cSrcweir 
101cdf0e10cSrcweir         for (int i=0;i<7;i++) {
102cdf0e10cSrcweir             ldi = oObj.getLocaleItem(getLocale(i));
103cdf0e10cSrcweir 
104cdf0e10cSrcweir             boolean locRes = true ;
105cdf0e10cSrcweir 
106cdf0e10cSrcweir             locRes &= (! ldi.dateSeparator.equals(""));
107cdf0e10cSrcweir             locRes &= (! ldi.decimalSeparator.equals(""));
108cdf0e10cSrcweir             locRes &= (! ldi.doubleQuotationEnd.equals(""));
109cdf0e10cSrcweir             locRes &= (! ldi.doubleQuotationStart.equals(""));
110cdf0e10cSrcweir             locRes &= (! ldi.listSeparator.equals(""));
111cdf0e10cSrcweir             locRes &= (! ldi.LongDateDayOfWeekSeparator.equals(""));
112cdf0e10cSrcweir             locRes &= (! ldi.LongDateDaySeparator.equals(""));
113cdf0e10cSrcweir             locRes &= (! ldi.LongDateMonthSeparator.equals(""));
114cdf0e10cSrcweir             locRes &= (! ldi.LongDateYearSeparator.equals(""));
115cdf0e10cSrcweir             locRes &= (! ldi.measurementSystem.equals(""));
116cdf0e10cSrcweir             locRes &= (! ldi.quotationEnd.equals(""));
117cdf0e10cSrcweir             locRes &= (! ldi.quotationStart.equals(""));
118cdf0e10cSrcweir             locRes &= (! ldi.thousandSeparator.equals(""));
119cdf0e10cSrcweir             locRes &= (! ldi.time100SecSeparator.equals(""));
120cdf0e10cSrcweir             locRes &= (! ldi.timeAM.equals(""));
121cdf0e10cSrcweir             locRes &= (! ldi.timePM.equals(""));
122cdf0e10cSrcweir             locRes &= (! ldi.timeSeparator.equals(""));
123cdf0e10cSrcweir             locRes &= (! ldi.unoID.equals(""));
124cdf0e10cSrcweir 
125cdf0e10cSrcweir             if (!locRes) {
126cdf0e10cSrcweir                 /* for debugging puposes
127cdf0e10cSrcweir                 log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
128cdf0e10cSrcweir                 log.println("Getting: ");
129cdf0e10cSrcweir                 log.println("\t DateSeparator="+ldi.dateSeparator);
130cdf0e10cSrcweir                 log.println("\t decimalSeparator="+ldi.decimalSeparator);
131cdf0e10cSrcweir                 log.println("\t doubleQuotationEnd="+ldi.doubleQuotationEnd);
132cdf0e10cSrcweir                 log.println("\t doubleQuotationStart="+ldi.doubleQuotationStart);
133cdf0e10cSrcweir                 log.println("\t listSeparator="+ldi.listSeparator);
134cdf0e10cSrcweir                 log.println("\t LongDateDayOfWeekSeparator="+ldi.LongDateDayOfWeekSeparator+"end");
135cdf0e10cSrcweir                 log.println("\t LongDateDaySeparator="+ldi.LongDateDaySeparator+"end");
136cdf0e10cSrcweir                 log.println("\t LongDateMonthSeparator="+ldi.LongDateMonthSeparator+"end");
137cdf0e10cSrcweir                 log.println("\t LongDateYearSeparator="+ldi.LongDateYearSeparator+"end");
138cdf0e10cSrcweir                 log.println("\t measurementSystem="+ldi.measurementSystem);
139cdf0e10cSrcweir                 log.println("\t quotationEnd="+ldi.quotationEnd);
140cdf0e10cSrcweir                 log.println("\t quotationStart="+ldi.quotationStart);
141cdf0e10cSrcweir                 log.println("\t thousandSeparator="+ldi.thousandSeparator);
142cdf0e10cSrcweir                 log.println("\t time100SecSeparator="+ldi.time100SecSeparator);
143cdf0e10cSrcweir                 log.println("\t timeAM="+ldi.timeAM);
144cdf0e10cSrcweir                 log.println("\t timePM="+ldi.timePM);
145cdf0e10cSrcweir                 log.println("\t timeSeparator="+ldi.timeSeparator);
146cdf0e10cSrcweir                 log.println("\t unoID="+ldi.unoID);
147cdf0e10cSrcweir                  */
148cdf0e10cSrcweir             }
149cdf0e10cSrcweir         }
150cdf0e10cSrcweir         tRes.tested("getLocaleItem()",res);
151cdf0e10cSrcweir     }
152cdf0e10cSrcweir 
153cdf0e10cSrcweir     /**
154cdf0e10cSrcweir     * Test calls the method for several locales; result is checked
155cdf0e10cSrcweir     * after each call. <p>
156cdf0e10cSrcweir     * Has <b> OK </b> status if all elements of the returned sequence are
157cdf0e10cSrcweir     * correct for all given locales. (boolean method goodCalendar() with a
158cdf0e10cSrcweir     * calendar as an argument returns true)
159cdf0e10cSrcweir     */
_getAllCalendars()160cdf0e10cSrcweir     public void _getAllCalendars() {
161cdf0e10cSrcweir         boolean res = true;
162cdf0e10cSrcweir         boolean printit = false;
163cdf0e10cSrcweir         Calendar[] calendar = new Calendar[1];
164cdf0e10cSrcweir 
165cdf0e10cSrcweir         for (int i=0;i<7;i++) {
166cdf0e10cSrcweir             calendar = oObj.getAllCalendars(getLocale(i));
167cdf0e10cSrcweir             for (int j=0;j<calendar.length;j++) {
168cdf0e10cSrcweir                 if (! goodCalendar(calendar[j]) ) {
169cdf0e10cSrcweir                     printit = true;
170cdf0e10cSrcweir                 }
171cdf0e10cSrcweir                 res &= goodCalendar(calendar[j]);
172cdf0e10cSrcweir             }
173cdf0e10cSrcweir             if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
174cdf0e10cSrcweir             printit = false;
175cdf0e10cSrcweir         }
176cdf0e10cSrcweir         tRes.tested("getAllCalendars()", res);
177cdf0e10cSrcweir     }
178cdf0e10cSrcweir 
179cdf0e10cSrcweir     /**
180cdf0e10cSrcweir     * Test calls the method for several locales; result is checked
181cdf0e10cSrcweir     * after each call. <p>
182cdf0e10cSrcweir     * Has <b> OK </b> status if all elements of the returned sequence are
183cdf0e10cSrcweir     * correct for all given locales. (boolean method goodCurrency() with a
184cdf0e10cSrcweir     * currency as an argument returns true)
185cdf0e10cSrcweir     */
_getAllCurrencies()186cdf0e10cSrcweir     public void _getAllCurrencies() {
187cdf0e10cSrcweir         boolean res = true;
188cdf0e10cSrcweir         boolean printit = false;
189cdf0e10cSrcweir         Currency[] currency = new Currency[1];
190cdf0e10cSrcweir 
191cdf0e10cSrcweir         for (int i=0;i<7;i++) {
192cdf0e10cSrcweir             currency = oObj.getAllCurrencies(getLocale(i));
193cdf0e10cSrcweir             for (int j=0;j<currency.length;j++) {
194cdf0e10cSrcweir                 if (! goodCurrency(currency[j]) ) {
195cdf0e10cSrcweir                     printit=true;
196cdf0e10cSrcweir                 }
197cdf0e10cSrcweir                 res &= goodCurrency(currency[j]);
198cdf0e10cSrcweir             }
199cdf0e10cSrcweir             if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
200cdf0e10cSrcweir             printit =false;
201cdf0e10cSrcweir         }
202cdf0e10cSrcweir         tRes.tested("getAllCurrencies()",res);
203cdf0e10cSrcweir     }
204cdf0e10cSrcweir 
205cdf0e10cSrcweir     /**
206cdf0e10cSrcweir     * Test calls the method for several locales; result is checked
207cdf0e10cSrcweir     * after each call. <p>
208cdf0e10cSrcweir     * Has <b> OK </b> status if all elements of the returned sequence are
209cdf0e10cSrcweir     * correct for all given locales. (boolean method goodFormat() with a
210cdf0e10cSrcweir     * format as an argument returns true)
211cdf0e10cSrcweir     */
_getAllFormats()212cdf0e10cSrcweir     public void _getAllFormats() {
213cdf0e10cSrcweir         boolean res = true;
214cdf0e10cSrcweir         boolean printit = false;
215cdf0e10cSrcweir         FormatElement[] format = new FormatElement[1];
216cdf0e10cSrcweir 
217cdf0e10cSrcweir         for (int i=0;i<7;i++) {
218cdf0e10cSrcweir             format = oObj.getAllFormats(getLocale(i));
219cdf0e10cSrcweir             for (int j=0;j<format.length;j++) {
220cdf0e10cSrcweir                 if (! goodFormat(format[j]) ) {
221cdf0e10cSrcweir                     printit = true;
222cdf0e10cSrcweir                 }
223cdf0e10cSrcweir                 res &= goodFormat(format[j]);
224cdf0e10cSrcweir             }
225cdf0e10cSrcweir             if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
226cdf0e10cSrcweir             printit =false;
227cdf0e10cSrcweir         }
228cdf0e10cSrcweir         tRes.tested("getAllFormats()",res);
229cdf0e10cSrcweir     }
230cdf0e10cSrcweir 
231cdf0e10cSrcweir     /**
232cdf0e10cSrcweir     * Test calls the method for several locales; result is checked
233cdf0e10cSrcweir     * after each call. <p>
234cdf0e10cSrcweir     * Has <b> OK </b> status if all structs, returned by the method have non
235cdf0e10cSrcweir     * empty field 'UnoID' for all given locales.
236cdf0e10cSrcweir     */
_getCollatorImplementations()237cdf0e10cSrcweir     public void _getCollatorImplementations() {
238cdf0e10cSrcweir         boolean res = true;
239cdf0e10cSrcweir         boolean printit = false;
240cdf0e10cSrcweir         Implementation[] impl = new Implementation[1];
241cdf0e10cSrcweir 
242cdf0e10cSrcweir         for (int i=0;i<7;i++) {
243cdf0e10cSrcweir             impl = oObj.getCollatorImplementations(getLocale(i));
244cdf0e10cSrcweir             for (int j=0;j<impl.length;j++) {
245cdf0e10cSrcweir                 if ((impl[j].unoID.equals(""))) {
246cdf0e10cSrcweir                     printit = true;
247cdf0e10cSrcweir                 }
248cdf0e10cSrcweir                 res &= (!impl[j].unoID.equals(""));
249cdf0e10cSrcweir             }
250cdf0e10cSrcweir             if (printit) log.println("FAILED for: language=" + languages[i]
251cdf0e10cSrcweir                 + " ; country=" + countries[i]);
252cdf0e10cSrcweir             printit = false;
253cdf0e10cSrcweir         }
254cdf0e10cSrcweir         tRes.tested("getCollatorImplementations()", res);
255cdf0e10cSrcweir     }
256cdf0e10cSrcweir 
257cdf0e10cSrcweir     /**
258cdf0e10cSrcweir     * Test calls the method for several locales; result is checked
259cdf0e10cSrcweir     * after each call. <p>
260cdf0e10cSrcweir     * Has <b> OK </b> status if all strings, returned by the method are not
261cdf0e10cSrcweir     * empty for all given locales.
262cdf0e10cSrcweir     */
_getSearchOptions()263cdf0e10cSrcweir     public void _getSearchOptions() {
264cdf0e10cSrcweir         boolean res = true;
265cdf0e10cSrcweir         boolean printit = false;
266cdf0e10cSrcweir         String[] str = new String[1];
267cdf0e10cSrcweir 
268cdf0e10cSrcweir         for (int i=0;i<7;i++) {
269cdf0e10cSrcweir             str = oObj.getSearchOptions(getLocale(i));
270cdf0e10cSrcweir             for (int j=0;j<str.length;j++) {
271cdf0e10cSrcweir                 if ((str[j].equals(""))) {
272cdf0e10cSrcweir                     printit = true;
273cdf0e10cSrcweir                 }
274cdf0e10cSrcweir                 res &= (!str.equals(""));
275cdf0e10cSrcweir             }
276cdf0e10cSrcweir             if (printit) log.println("FAILED for: language=" + languages[i]
277cdf0e10cSrcweir                 + " ; country=" + countries[i]);
278cdf0e10cSrcweir             printit = false;
279cdf0e10cSrcweir         }
280cdf0e10cSrcweir         tRes.tested("getSearchOptions()",res);
281cdf0e10cSrcweir     }
282cdf0e10cSrcweir 
283cdf0e10cSrcweir     /**
284cdf0e10cSrcweir     * Test calls the method for several locales; result is checked
285cdf0e10cSrcweir     * after each call. <p>
286cdf0e10cSrcweir     * Has <b> OK </b> status if all strings, returned by the method are not
287cdf0e10cSrcweir     * empty for all given locales.
288cdf0e10cSrcweir     */
_getCollationOptions()289cdf0e10cSrcweir     public void _getCollationOptions() {
290cdf0e10cSrcweir         boolean res = true;
291cdf0e10cSrcweir         boolean printit = false;
292cdf0e10cSrcweir         String[] str = new String[1];
293cdf0e10cSrcweir 
294cdf0e10cSrcweir         for (int i=0;i<7;i++) {
295cdf0e10cSrcweir             str = oObj.getCollationOptions(getLocale(i));
296cdf0e10cSrcweir             for (int j=0;j<str.length;j++) {
297cdf0e10cSrcweir                 if ((str[j].equals(""))) {
298cdf0e10cSrcweir                     printit = true;
299cdf0e10cSrcweir                 }
300cdf0e10cSrcweir                 res &= (!str.equals(""));
301cdf0e10cSrcweir             }
302cdf0e10cSrcweir             if (printit) log.println("FAILED for: language=" + languages[i]
303cdf0e10cSrcweir                 + " ; country=" + countries[i]);
304cdf0e10cSrcweir             printit = false;
305cdf0e10cSrcweir         }
306cdf0e10cSrcweir         tRes.tested("getCollationOptions()", res);
307cdf0e10cSrcweir     }
308cdf0e10cSrcweir 
309cdf0e10cSrcweir     /**
310cdf0e10cSrcweir     * Test calls the method for several locales; result is checked
311cdf0e10cSrcweir     * after each call. <p>
312cdf0e10cSrcweir     * Has <b> OK </b> status if all strings, returned by the method are not
313cdf0e10cSrcweir     * empty for all given locales.
314cdf0e10cSrcweir     */
_getTransliterations()315cdf0e10cSrcweir     public void _getTransliterations() {
316cdf0e10cSrcweir         boolean res = true;
317cdf0e10cSrcweir         boolean printit = false;
318cdf0e10cSrcweir         String[] str = new String[1];
319cdf0e10cSrcweir 
320cdf0e10cSrcweir         for (int i=0;i<7;i++) {
321cdf0e10cSrcweir             str = oObj.getTransliterations(getLocale(i));
322cdf0e10cSrcweir             for (int j=0;j<str.length;j++) {
323cdf0e10cSrcweir                 if ((str[j].equals(""))) {
324cdf0e10cSrcweir                     printit = true;
325cdf0e10cSrcweir                 }
326cdf0e10cSrcweir                 res &= (!str.equals(""));
327cdf0e10cSrcweir             }
328cdf0e10cSrcweir             if (printit) log.println("FAILED for: language=" + languages[i]
329cdf0e10cSrcweir                 + " ; country=" + countries[i]);
330cdf0e10cSrcweir             printit = false;
331cdf0e10cSrcweir         }
332cdf0e10cSrcweir         tRes.tested("getTransliterations()", res);
333cdf0e10cSrcweir     }
334cdf0e10cSrcweir 
335cdf0e10cSrcweir     /**
336cdf0e10cSrcweir     * Test calls the method for several locales; result is checked
337cdf0e10cSrcweir     * after each call. <p>
338cdf0e10cSrcweir     * Has <b> OK </b> status if the method returns structure with non-empty
339cdf0e10cSrcweir     * fields for all given locales.
340cdf0e10cSrcweir     */
_getForbiddenCharacters()341cdf0e10cSrcweir     public void _getForbiddenCharacters() {
342cdf0e10cSrcweir         boolean res = true;
343cdf0e10cSrcweir         ForbiddenCharacters fc = null;
344cdf0e10cSrcweir 
345cdf0e10cSrcweir         //the forbidden characters are only available for the asian languages
346cdf0e10cSrcweir         for (int i=4;i<7;i++) {
347cdf0e10cSrcweir             fc = oObj.getForbiddenCharacters(getLocale(i));
348cdf0e10cSrcweir             res &= !( fc.beginLine.equals("") || fc.endLine.equals("") );
349cdf0e10cSrcweir             if ( !res ) {
350cdf0e10cSrcweir                 log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
351cdf0e10cSrcweir             }
352cdf0e10cSrcweir         }
353cdf0e10cSrcweir         tRes.tested("getForbiddenCharacters()", res);
354cdf0e10cSrcweir     }
355cdf0e10cSrcweir 
356cdf0e10cSrcweir 
357cdf0e10cSrcweir     /**
358cdf0e10cSrcweir     * Test calls the method for several locales; result is checked
359cdf0e10cSrcweir     * after each call. <p>
360cdf0e10cSrcweir     * Has <b> OK </b> status if all strings, returned by the method are not
361cdf0e10cSrcweir     * empty for all given locales.
362cdf0e10cSrcweir     */
_getReservedWord()363cdf0e10cSrcweir     public void _getReservedWord() {
364cdf0e10cSrcweir         boolean res = true;
365cdf0e10cSrcweir         boolean printit = false;
366cdf0e10cSrcweir         String[] str = new String[1];
367cdf0e10cSrcweir 
368cdf0e10cSrcweir         for (int i=0;i<7;i++) {
369cdf0e10cSrcweir             str = oObj.getReservedWord(getLocale(i));
370cdf0e10cSrcweir             for (int j=0;j<str.length;j++) {
371cdf0e10cSrcweir                 if ((str[j].equals(""))) {
372cdf0e10cSrcweir                     printit = true;
373cdf0e10cSrcweir                 }
374cdf0e10cSrcweir                 res &= (!str.equals(""));
375cdf0e10cSrcweir             }
376cdf0e10cSrcweir             if (printit) log.println("FAILED for: language=" + languages[i]
377cdf0e10cSrcweir                 + " ; country=" + countries[i]);
378cdf0e10cSrcweir             printit = false;
379cdf0e10cSrcweir         }
380cdf0e10cSrcweir         tRes.tested("getReservedWord()", res);
381cdf0e10cSrcweir     }
382cdf0e10cSrcweir 
383cdf0e10cSrcweir 
384cdf0e10cSrcweir     /**
385cdf0e10cSrcweir     * Test calls the method. Then result is checked for all given locales.<p>
386cdf0e10cSrcweir     * Has <b> OK </b> status if locale sequence, returned by the method contains
387cdf0e10cSrcweir     * given locales.
388cdf0e10cSrcweir     */
_getAllInstalledLocaleNames()389cdf0e10cSrcweir     public void _getAllInstalledLocaleNames() {
390cdf0e10cSrcweir         boolean res = true;
391cdf0e10cSrcweir         Locale[] locs = oObj.getAllInstalledLocaleNames();
392cdf0e10cSrcweir 
393cdf0e10cSrcweir         //check if the languages used here are part of this array
394cdf0e10cSrcweir         for (int i=0;i<7;i++) {
395cdf0e10cSrcweir             res &= contains(locs, getLocale(i));
396cdf0e10cSrcweir         }
397cdf0e10cSrcweir         tRes.tested("getAllInstalledLocaleNames()",res);
398cdf0e10cSrcweir     }
399cdf0e10cSrcweir 
400cdf0e10cSrcweir 
401cdf0e10cSrcweir     /**
402cdf0e10cSrcweir     * Method returns locale for a given language and country.
403*e6b649b5SPedro Giffuni     * @param k index of needed locale.
404cdf0e10cSrcweir     * @return Locale by the index from arrays defined above
405cdf0e10cSrcweir     */
getLocale(int k)406cdf0e10cSrcweir     public Locale getLocale(int k) {
407cdf0e10cSrcweir         return new Locale(languages[k],countries[k],"");
408cdf0e10cSrcweir     }
409cdf0e10cSrcweir 
410cdf0e10cSrcweir     /**
411cdf0e10cSrcweir     * Method checks given calendar for non empty fields.
412cdf0e10cSrcweir     * @param calendar Calendar to be checked
413cdf0e10cSrcweir     */
goodCalendar(Calendar calendar)414cdf0e10cSrcweir     public boolean goodCalendar(Calendar calendar) {
415cdf0e10cSrcweir         boolean good = true;
416cdf0e10cSrcweir         for (int i=0;i<calendar.Days.length;i++) {
417cdf0e10cSrcweir             //log.println("Day "+i+"(AbbrevName): "+calendar.Days[i].AbbrevName);
418cdf0e10cSrcweir             good &= (! calendar.Days[i].AbbrevName.equals("") );
419cdf0e10cSrcweir             //log.println("Day "+i+"(FullName): "+calendar.Days[i].FullName);
420cdf0e10cSrcweir             good &= (! calendar.Days[i].FullName.equals("") );
421cdf0e10cSrcweir             //log.println("Day "+i+"(ID): "+calendar.Days[i].ID);
422cdf0e10cSrcweir             good &= (! calendar.Days[i].ID.equals("") );
423cdf0e10cSrcweir         }
424cdf0e10cSrcweir         for (int i=0;i<calendar.Months.length;i++) {
425cdf0e10cSrcweir             //log.println("Day "+i+"(AbbrevName): "+calendar.Months[i].AbbrevName);
426cdf0e10cSrcweir             good &= (! calendar.Months[i].AbbrevName.equals("") );
427cdf0e10cSrcweir             //log.println("Day "+i+"(FullName): "+calendar.Months[i].FullName);
428cdf0e10cSrcweir             good &= (! calendar.Months[i].FullName.equals("") );
429cdf0e10cSrcweir             //log.println("Day "+i+"(ID): "+calendar.Months[i].ID);
430cdf0e10cSrcweir             good &= (! calendar.Months[i].ID.equals("") );
431cdf0e10cSrcweir         }
432cdf0e10cSrcweir         for (int i=0;i<calendar.Eras.length;i++) {
433cdf0e10cSrcweir             //log.println("Era "+i+"(AbbrevName): "+calendar.Eras[i].AbbrevName);
434cdf0e10cSrcweir             good &= (! calendar.Eras[i].AbbrevName.equals("") );
435cdf0e10cSrcweir             //log.println("Era "+i+"(FullName): "+calendar.Eras[i].FullName);
436cdf0e10cSrcweir             good &= (! calendar.Eras[i].FullName.equals("") );
437cdf0e10cSrcweir             //log.println("Era "+i+"(ID): "+calendar.Eras[i].ID);
438cdf0e10cSrcweir             good &= (! calendar.Eras[i].ID.equals("") );
439cdf0e10cSrcweir         }
440cdf0e10cSrcweir         //log.println("Start of Week: "+calendar.StartOfWeek);
441cdf0e10cSrcweir         good &= (! calendar.StartOfWeek.equals("") );
442cdf0e10cSrcweir         //log.println("MinimumNumberOfDaysForFirstWeek: "+calendar.MinimumNumberOfDaysForFirstWeek);
443cdf0e10cSrcweir         //log.println("Default: "+calendar.Default);
444cdf0e10cSrcweir         //log.println("Name: "+calendar.Name);
445cdf0e10cSrcweir         good &= (! calendar.Name.equals("") );
446cdf0e10cSrcweir         return good;
447cdf0e10cSrcweir     }
448cdf0e10cSrcweir 
449cdf0e10cSrcweir     /**
450cdf0e10cSrcweir     * Method checks given currency for non empty fields.
451cdf0e10cSrcweir     * @param currency Currency to be checked
452cdf0e10cSrcweir     */
goodCurrency(Currency currency)453cdf0e10cSrcweir     public boolean goodCurrency(Currency currency) {
454cdf0e10cSrcweir         boolean good = true;
455cdf0e10cSrcweir         good &= (!currency.BankSymbol.equals(""));
456cdf0e10cSrcweir         good &= (!currency.Name.equals(""));
457cdf0e10cSrcweir         good &= (!currency.Symbol.equals(""));
458cdf0e10cSrcweir         return good;
459cdf0e10cSrcweir     }
460cdf0e10cSrcweir 
461cdf0e10cSrcweir     /**
462cdf0e10cSrcweir     * Method checks given format for non empty fields.
463cdf0e10cSrcweir     * @param format Format to be checked
464cdf0e10cSrcweir     */
goodFormat(FormatElement format)465cdf0e10cSrcweir     public boolean goodFormat(FormatElement format) {
466cdf0e10cSrcweir         boolean good = true;
467cdf0e10cSrcweir         good &= (!format.formatCode.equals(""));
468cdf0e10cSrcweir         good &= (!format.formatKey.equals(""));
469cdf0e10cSrcweir         good &= (!format.formatType.equals(""));
470cdf0e10cSrcweir         good &= (!format.formatUsage.equals(""));
471cdf0e10cSrcweir         return good;
472cdf0e10cSrcweir     }
473cdf0e10cSrcweir 
474cdf0e10cSrcweir     /**
475cdf0e10cSrcweir     * Method checks that locale sequence contains given locale.
476cdf0e10cSrcweir     * @param locs Locale sequence
477cdf0e10cSrcweir     * @param oneLoc given locale
478cdf0e10cSrcweir     */
contains(Locale[] locs, Locale oneLoc)479cdf0e10cSrcweir     public boolean contains(Locale[] locs, Locale oneLoc) {
480cdf0e10cSrcweir         boolean cont = false;
481cdf0e10cSrcweir         for (int j=0;j<locs.length;j++) {
482cdf0e10cSrcweir             if ( (locs[j].Country.equals(oneLoc.Country)) &&
483cdf0e10cSrcweir                 (locs[j].Language.equals(oneLoc.Language)) ) {
484cdf0e10cSrcweir                     cont=true;
485cdf0e10cSrcweir                     break;
486cdf0e10cSrcweir             }
487cdf0e10cSrcweir         }
488cdf0e10cSrcweir         if (!cont) log.println("Not contained: " + oneLoc.Language);
489cdf0e10cSrcweir         return cont;
490cdf0e10cSrcweir     }
491cdf0e10cSrcweir 
492cdf0e10cSrcweir } // end XLocaleData
493cdf0e10cSrcweir 
494