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