xref: /trunk/test/testuno/source/api/i18n/XNumberFormatCodeTest.java (revision de76a5ada4912555267334a137577732392f43a0)
1*de76a5adSDamjan Jovanovic /**************************************************************
2*de76a5adSDamjan Jovanovic  *
3*de76a5adSDamjan Jovanovic  * Licensed to the Apache Software Foundation (ASF) under one
4*de76a5adSDamjan Jovanovic  * or more contributor license agreements.  See the NOTICE file
5*de76a5adSDamjan Jovanovic  * distributed with this work for additional information
6*de76a5adSDamjan Jovanovic  * regarding copyright ownership.  The ASF licenses this file
7*de76a5adSDamjan Jovanovic  * to you under the Apache License, Version 2.0 (the
8*de76a5adSDamjan Jovanovic  * "License"); you may not use this file except in compliance
9*de76a5adSDamjan Jovanovic  * with the License.  You may obtain a copy of the License at
10*de76a5adSDamjan Jovanovic  *
11*de76a5adSDamjan Jovanovic  *   http://www.apache.org/licenses/LICENSE-2.0
12*de76a5adSDamjan Jovanovic  *
13*de76a5adSDamjan Jovanovic  * Unless required by applicable law or agreed to in writing,
14*de76a5adSDamjan Jovanovic  * software distributed under the License is distributed on an
15*de76a5adSDamjan Jovanovic  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*de76a5adSDamjan Jovanovic  * KIND, either express or implied.  See the License for the
17*de76a5adSDamjan Jovanovic  * specific language governing permissions and limitations
18*de76a5adSDamjan Jovanovic  * under the License.
19*de76a5adSDamjan Jovanovic  *
20*de76a5adSDamjan Jovanovic  *************************************************************/
21*de76a5adSDamjan Jovanovic 
22*de76a5adSDamjan Jovanovic 
23*de76a5adSDamjan Jovanovic 
24*de76a5adSDamjan Jovanovic package ifc.i18n;
25*de76a5adSDamjan Jovanovic 
26*de76a5adSDamjan Jovanovic import lib.MultiMethodTest;
27*de76a5adSDamjan Jovanovic 
28*de76a5adSDamjan Jovanovic import com.sun.star.i18n.KNumberFormatType;
29*de76a5adSDamjan Jovanovic import com.sun.star.i18n.KNumberFormatUsage;
30*de76a5adSDamjan Jovanovic import com.sun.star.i18n.NumberFormatCode;
31*de76a5adSDamjan Jovanovic import com.sun.star.i18n.NumberFormatIndex;
32*de76a5adSDamjan Jovanovic import com.sun.star.i18n.XNumberFormatCode;
33*de76a5adSDamjan Jovanovic import com.sun.star.lang.Locale;
34*de76a5adSDamjan Jovanovic 
35*de76a5adSDamjan Jovanovic /**
36*de76a5adSDamjan Jovanovic * Testing <code>com.sun.star.i18n.XNumberFormatCode</code>
37*de76a5adSDamjan Jovanovic * interface methods:
38*de76a5adSDamjan Jovanovic * <ul>
39*de76a5adSDamjan Jovanovic *  <li><code> getDefault() </code></li>
40*de76a5adSDamjan Jovanovic *  <li><code> getFormatCode() </code></li>
41*de76a5adSDamjan Jovanovic *  <li><code> getAllFormatCode() </code></li>
42*de76a5adSDamjan Jovanovic *  <li><code> getAllFormatCodes() </code></li>
43*de76a5adSDamjan Jovanovic * </ul><p>
44*de76a5adSDamjan Jovanovic * Test is <b> NOT </b> multithread compliant. <p>
45*de76a5adSDamjan Jovanovic * @see com.sun.star.i18n.XNumberFormatCode
46*de76a5adSDamjan Jovanovic */
47*de76a5adSDamjan Jovanovic public class _XNumberFormatCode extends MultiMethodTest {
48*de76a5adSDamjan Jovanovic     public XNumberFormatCode oObj = null;
49*de76a5adSDamjan Jovanovic     public String[] languages = new String[]
50*de76a5adSDamjan Jovanovic         {"de","en","es","fr","ko","ko","zh"};
51*de76a5adSDamjan Jovanovic     public String[] countries = new String[]
52*de76a5adSDamjan Jovanovic         {"DE","US","ES","FR","KR","KR","CN"};
53*de76a5adSDamjan Jovanovic 
54*de76a5adSDamjan Jovanovic     /**
55*de76a5adSDamjan Jovanovic     * Test calls the method twice with two different format types as
56*de76a5adSDamjan Jovanovic     * parameters for each locale. Result is checked after every call.<p>
57*de76a5adSDamjan Jovanovic     * Has <b> OK </b> status if both times returned structure's field 'Code'
58*de76a5adSDamjan Jovanovic     * does not equal to empty string.
59*de76a5adSDamjan Jovanovic     */
60*de76a5adSDamjan Jovanovic     public void _getDefault() {
61*de76a5adSDamjan Jovanovic         boolean res = true;
62*de76a5adSDamjan Jovanovic         NumberFormatCode nfc = null;
63*de76a5adSDamjan Jovanovic 
64*de76a5adSDamjan Jovanovic         for (int i=0;i<7;i++) {
65*de76a5adSDamjan Jovanovic             nfc = oObj.getDefault(KNumberFormatType.SHORT,
66*de76a5adSDamjan Jovanovic                 KNumberFormatUsage.DATE, getLocale(i));
67*de76a5adSDamjan Jovanovic             String str = nfc.Code;
68*de76a5adSDamjan Jovanovic             if (str.equals("")) {
69*de76a5adSDamjan Jovanovic                 log.println("'NumberFormat.code.equals(\"\") = true' for"
70*de76a5adSDamjan Jovanovic                     + " language: " + languages[i]);
71*de76a5adSDamjan Jovanovic                 log.println("Usage: oObj.getDefault(KNumberFormatType.SHORT,"
72*de76a5adSDamjan Jovanovic                     + " KNumberFormatUsage.DATE,new Locale(" + languages[i]
73*de76a5adSDamjan Jovanovic                     + "," + countries[i] + ",\"\");");
74*de76a5adSDamjan Jovanovic             }
75*de76a5adSDamjan Jovanovic             res &= !str.equals("");
76*de76a5adSDamjan Jovanovic 
77*de76a5adSDamjan Jovanovic             nfc = oObj.getDefault(KNumberFormatType.LONG,
78*de76a5adSDamjan Jovanovic                 KNumberFormatUsage.DATE,getLocale(i));
79*de76a5adSDamjan Jovanovic             str = nfc.Code;
80*de76a5adSDamjan Jovanovic             if (str.equals("")) {
81*de76a5adSDamjan Jovanovic                 log.println("'NumberFormat.code.equals(\"\") = true' for "
82*de76a5adSDamjan Jovanovic                     + "language: " + languages[i]);
83*de76a5adSDamjan Jovanovic                 log.println("Usage: oObj.getDefault(KNumberFormatType.LONG,"
84*de76a5adSDamjan Jovanovic                     + " KNumberFormatUsage.DATE,new Locale(" + languages[i]
85*de76a5adSDamjan Jovanovic                     + "," + countries[i] + ",\"\");");
86*de76a5adSDamjan Jovanovic             }
87*de76a5adSDamjan Jovanovic             res &= ( ! str.equals("") );
88*de76a5adSDamjan Jovanovic         }
89*de76a5adSDamjan Jovanovic         tRes.tested("getDefault()", res);
90*de76a5adSDamjan Jovanovic     }
91*de76a5adSDamjan Jovanovic 
92*de76a5adSDamjan Jovanovic     /**
93*de76a5adSDamjan Jovanovic     * Test calls the method twice for each locale with two different arguments.
94*de76a5adSDamjan Jovanovic     * After every call result is checked.<p>
95*de76a5adSDamjan Jovanovic     * Has <b> OK </b> status if both times returned structure's field 'Code'
96*de76a5adSDamjan Jovanovic     * does not equal to a empty string.
97*de76a5adSDamjan Jovanovic     */
98*de76a5adSDamjan Jovanovic     public void _getFormatCode() {
99*de76a5adSDamjan Jovanovic         boolean res = true;
100*de76a5adSDamjan Jovanovic         NumberFormatCode nfc = null;
101*de76a5adSDamjan Jovanovic 
102*de76a5adSDamjan Jovanovic         for (int i=0;i<7;i++) {
103*de76a5adSDamjan Jovanovic             nfc = oObj.getFormatCode
104*de76a5adSDamjan Jovanovic                 (NumberFormatIndex.DATE_SYSTEM_SHORT,getLocale(i));
105*de76a5adSDamjan Jovanovic             res &= ( ! nfc.Code.equals("") );
106*de76a5adSDamjan Jovanovic             nfc = oObj.getFormatCode
107*de76a5adSDamjan Jovanovic                 (NumberFormatIndex.DATE_SYSTEM_LONG,getLocale(i));
108*de76a5adSDamjan Jovanovic             res &= ( ! nfc.Code.equals("") );
109*de76a5adSDamjan Jovanovic         }
110*de76a5adSDamjan Jovanovic         tRes.tested("getFormatCode()", res);
111*de76a5adSDamjan Jovanovic     }
112*de76a5adSDamjan Jovanovic 
113*de76a5adSDamjan Jovanovic     /**
114*de76a5adSDamjan Jovanovic     * Test calls the method twice with two different arguments for each locale.
115*de76a5adSDamjan Jovanovic     * After every call result is checked.<p>
116*de76a5adSDamjan Jovanovic     * Has <b> OK </b> status if both times returned array's length does not
117*de76a5adSDamjan Jovanovic     * equal to zero.
118*de76a5adSDamjan Jovanovic     */
119*de76a5adSDamjan Jovanovic     public void _getAllFormatCode() {
120*de76a5adSDamjan Jovanovic         boolean res = true;
121*de76a5adSDamjan Jovanovic         NumberFormatCode[] nfc = null;
122*de76a5adSDamjan Jovanovic 
123*de76a5adSDamjan Jovanovic         for (int i=0;i<7;i++) {
124*de76a5adSDamjan Jovanovic             nfc = oObj.getAllFormatCode(KNumberFormatUsage.DATE, getLocale(i));
125*de76a5adSDamjan Jovanovic             res &= ( nfc.length != 0 );
126*de76a5adSDamjan Jovanovic             nfc = oObj.getAllFormatCode(KNumberFormatUsage.TIME, getLocale(i));
127*de76a5adSDamjan Jovanovic             res &= ( nfc.length != 0 );
128*de76a5adSDamjan Jovanovic         }
129*de76a5adSDamjan Jovanovic         tRes.tested("getAllFormatCode()", res);
130*de76a5adSDamjan Jovanovic     }
131*de76a5adSDamjan Jovanovic 
132*de76a5adSDamjan Jovanovic     /**
133*de76a5adSDamjan Jovanovic     * Test calls the method for each locale. <p>
134*de76a5adSDamjan Jovanovic     * Has <b> OK </b> status if returned array's length does not equal to zero.
135*de76a5adSDamjan Jovanovic     */
136*de76a5adSDamjan Jovanovic     public void _getAllFormatCodes() {
137*de76a5adSDamjan Jovanovic         boolean res = true;
138*de76a5adSDamjan Jovanovic         NumberFormatCode[] nfc = null;
139*de76a5adSDamjan Jovanovic 
140*de76a5adSDamjan Jovanovic         for (int i=0;i<7;i++) {
141*de76a5adSDamjan Jovanovic             nfc = oObj.getAllFormatCodes(getLocale(i));
142*de76a5adSDamjan Jovanovic             res &= ( nfc.length != 0 );
143*de76a5adSDamjan Jovanovic         }
144*de76a5adSDamjan Jovanovic         tRes.tested("getAllFormatCodes()", res);
145*de76a5adSDamjan Jovanovic     }
146*de76a5adSDamjan Jovanovic 
147*de76a5adSDamjan Jovanovic     /**
148*de76a5adSDamjan Jovanovic     * Method returns locale for a given language and country.
149*de76a5adSDamjan Jovanovic     * @param k index of needed locale.
150*de76a5adSDamjan Jovanovic     * @return Locale by the index from arrays defined above
151*de76a5adSDamjan Jovanovic     */
152*de76a5adSDamjan Jovanovic     public Locale getLocale(int k) {
153*de76a5adSDamjan Jovanovic         return new Locale(languages[k], countries[k], "");
154*de76a5adSDamjan Jovanovic     }
155*de76a5adSDamjan Jovanovic 
156*de76a5adSDamjan Jovanovic 
157*de76a5adSDamjan Jovanovic 
158*de76a5adSDamjan Jovanovic } // end XNumberFormatCode
159