1de76a5adSDamjan Jovanovic /************************************************************** 2de76a5adSDamjan Jovanovic * 3de76a5adSDamjan Jovanovic * Licensed to the Apache Software Foundation (ASF) under one 4de76a5adSDamjan Jovanovic * or more contributor license agreements. See the NOTICE file 5de76a5adSDamjan Jovanovic * distributed with this work for additional information 6de76a5adSDamjan Jovanovic * regarding copyright ownership. The ASF licenses this file 7de76a5adSDamjan Jovanovic * to you under the Apache License, Version 2.0 (the 8de76a5adSDamjan Jovanovic * "License"); you may not use this file except in compliance 9de76a5adSDamjan Jovanovic * with the License. You may obtain a copy of the License at 10de76a5adSDamjan Jovanovic * 11de76a5adSDamjan Jovanovic * http://www.apache.org/licenses/LICENSE-2.0 12de76a5adSDamjan Jovanovic * 13de76a5adSDamjan Jovanovic * Unless required by applicable law or agreed to in writing, 14de76a5adSDamjan Jovanovic * software distributed under the License is distributed on an 15de76a5adSDamjan Jovanovic * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16de76a5adSDamjan Jovanovic * KIND, either express or implied. See the License for the 17de76a5adSDamjan Jovanovic * specific language governing permissions and limitations 18de76a5adSDamjan Jovanovic * under the License. 19de76a5adSDamjan Jovanovic * 20de76a5adSDamjan Jovanovic *************************************************************/ 21de76a5adSDamjan Jovanovic 22de76a5adSDamjan Jovanovic 23de76a5adSDamjan Jovanovic 24*2f709283SDamjan Jovanovic package api.i18n; 25de76a5adSDamjan Jovanovic 26de76a5adSDamjan Jovanovic import com.sun.star.i18n.CalendarDisplayIndex; 27de76a5adSDamjan Jovanovic import com.sun.star.i18n.CalendarFieldIndex; 28de76a5adSDamjan Jovanovic import com.sun.star.i18n.CalendarItem; 29de76a5adSDamjan Jovanovic import com.sun.star.i18n.XCalendar; 30de76a5adSDamjan Jovanovic import com.sun.star.i18n.XLocaleData; 31de76a5adSDamjan Jovanovic import com.sun.star.lang.Locale; 32de76a5adSDamjan Jovanovic import com.sun.star.lang.XMultiServiceFactory; 33de76a5adSDamjan Jovanovic import com.sun.star.uno.UnoRuntime; 34*2f709283SDamjan Jovanovic import com.sun.star.uno.XComponentContext; 35*2f709283SDamjan Jovanovic import org.junit.After; 36*2f709283SDamjan Jovanovic import org.junit.AfterClass; 37*2f709283SDamjan Jovanovic import org.junit.Before; 38*2f709283SDamjan Jovanovic import org.junit.BeforeClass; 39*2f709283SDamjan Jovanovic import org.junit.Assert; 40*2f709283SDamjan Jovanovic import org.junit.Test; 41*2f709283SDamjan Jovanovic import org.openoffice.test.uno.UnoApp; 42de76a5adSDamjan Jovanovic 43de76a5adSDamjan Jovanovic /** 44de76a5adSDamjan Jovanovic * Testing <code>com.sun.star.i18n.XCalendar</code> 45de76a5adSDamjan Jovanovic * interface methods : 46de76a5adSDamjan Jovanovic * <ul> 47de76a5adSDamjan Jovanovic * <li><code> loadDefaultCalendar()</code></li> 48de76a5adSDamjan Jovanovic * <li><code> loadCalendar()</code></li> 49de76a5adSDamjan Jovanovic * <li><code> getLoadedCalendar()</code></li> 50de76a5adSDamjan Jovanovic * <li><code> getAllCalendars()</code></li> 51de76a5adSDamjan Jovanovic * <li><code> getUniqueID()</code></li> 52de76a5adSDamjan Jovanovic * <li><code> setDateTime()</code></li> 53de76a5adSDamjan Jovanovic * <li><code> getDateTime()</code></li> 54de76a5adSDamjan Jovanovic * <li><code> setValue()</code></li> 55de76a5adSDamjan Jovanovic * <li><code> getValue()</code></li> 56de76a5adSDamjan Jovanovic * <li><code> isValid()</code></li> 57de76a5adSDamjan Jovanovic * <li><code> addValue()</code></li> 58de76a5adSDamjan Jovanovic * <li><code> getFirstDayOfWeek()</code></li> 59de76a5adSDamjan Jovanovic * <li><code> setFirstDayOfWeek()</code></li> 60de76a5adSDamjan Jovanovic * <li><code> setMinimumNumberOfDaysForFirstWeek()</code></li> 61de76a5adSDamjan Jovanovic * <li><code> getMinimumNumberOfDaysForFirstWeek()</code></li> 62de76a5adSDamjan Jovanovic * <li><code> getNumberOfMonthsInYear()</code></li> 63de76a5adSDamjan Jovanovic * <li><code> getNumberOfDaysInWeek()</code></li> 64de76a5adSDamjan Jovanovic * <li><code> getMonths()</code></li> 65de76a5adSDamjan Jovanovic * <li><code> getDays()</code></li> 66de76a5adSDamjan Jovanovic * <li><code> getDisplayName()</code></li> 67de76a5adSDamjan Jovanovic * </ul> <p> 68de76a5adSDamjan Jovanovic * Test is <b> NOT </b> multithread compliant. <p> 69de76a5adSDamjan Jovanovic * @see com.sun.star.i18n.XCalendar 70de76a5adSDamjan Jovanovic */ 71*2f709283SDamjan Jovanovic public class XCalendarTest { 72*2f709283SDamjan Jovanovic private static final UnoApp app = new UnoApp(); 73*2f709283SDamjan Jovanovic 74*2f709283SDamjan Jovanovic private XComponentContext xContext = null; 75de76a5adSDamjan Jovanovic private boolean debug = false; 76de76a5adSDamjan Jovanovic public XCalendar oObj = null; 77de76a5adSDamjan Jovanovic public double newDTime = 1000.75; 78de76a5adSDamjan Jovanovic public short newValue = 2; 79*2f709283SDamjan Jovanovic public final short firstDay = 2; 80de76a5adSDamjan Jovanovic public short mdfw = 3; 81de76a5adSDamjan Jovanovic double aOriginalDTime = 0; 82de76a5adSDamjan Jovanovic Locale[] installed_locales; 83de76a5adSDamjan Jovanovic 84*2f709283SDamjan Jovanovic static class CalendarData { 85*2f709283SDamjan Jovanovic String[][] calendars; 86*2f709283SDamjan Jovanovic int[] count; 87*2f709283SDamjan Jovanovic }; 88de76a5adSDamjan Jovanovic 89*2f709283SDamjan Jovanovic 90*2f709283SDamjan Jovanovic @BeforeClass setUp()91*2f709283SDamjan Jovanovic public static void setUp() throws Exception { 92*2f709283SDamjan Jovanovic app.start(); 93de76a5adSDamjan Jovanovic } 94*2f709283SDamjan Jovanovic 95*2f709283SDamjan Jovanovic @AfterClass tearDown()96*2f709283SDamjan Jovanovic public static void tearDown() throws Exception { 97*2f709283SDamjan Jovanovic app.close(); 98*2f709283SDamjan Jovanovic } 99*2f709283SDamjan Jovanovic 100*2f709283SDamjan Jovanovic @Before before()101*2f709283SDamjan Jovanovic public void before() throws Exception { 102*2f709283SDamjan Jovanovic xContext = app.getComponentContext(); 103*2f709283SDamjan Jovanovic 104*2f709283SDamjan Jovanovic XLocaleData locData = null; 105*2f709283SDamjan Jovanovic locData = UnoRuntime.queryInterface( 106*2f709283SDamjan Jovanovic XLocaleData.class, 107*2f709283SDamjan Jovanovic xContext.getServiceManager().createInstanceWithContext("com.sun.star.i18n.LocaleData", xContext) 108*2f709283SDamjan Jovanovic ); 109*2f709283SDamjan Jovanovic oObj = UnoRuntime.queryInterface( 110*2f709283SDamjan Jovanovic XCalendar.class, 111*2f709283SDamjan Jovanovic xContext.getServiceManager().createInstanceWithContext("com.sun.star.i18n.LocaleCalendar", xContext) 112*2f709283SDamjan Jovanovic ); 113de76a5adSDamjan Jovanovic installed_locales = locData.getAllInstalledLocaleNames(); 114de76a5adSDamjan Jovanovic oObj.loadDefaultCalendar(installed_locales[0]); 115de76a5adSDamjan Jovanovic aOriginalDTime = oObj.getDateTime(); 116de76a5adSDamjan Jovanovic 117*2f709283SDamjan Jovanovic debug = false; 118de76a5adSDamjan Jovanovic } 119de76a5adSDamjan Jovanovic 120de76a5adSDamjan Jovanovic /** 121de76a5adSDamjan Jovanovic * Restore the changed time during the test to the original value of the 122de76a5adSDamjan Jovanovic * machine: has to be correct for the following interface tests. 123de76a5adSDamjan Jovanovic */ 124*2f709283SDamjan Jovanovic @After after()125*2f709283SDamjan Jovanovic public void after() throws Exception { 126de76a5adSDamjan Jovanovic oObj.loadDefaultCalendar(installed_locales[0]); 127de76a5adSDamjan Jovanovic oObj.setDateTime(aOriginalDTime); 128de76a5adSDamjan Jovanovic } 129de76a5adSDamjan Jovanovic 130de76a5adSDamjan Jovanovic /** 131de76a5adSDamjan Jovanovic * Loads default calendar for different locales. <p> 132de76a5adSDamjan Jovanovic * Has <b> OK </b> status if method loads calendar, that is 133de76a5adSDamjan Jovanovic * default for a given locale. 134de76a5adSDamjan Jovanovic */ 135*2f709283SDamjan Jovanovic @Test _loadDefaultCalendar()136de76a5adSDamjan Jovanovic public void _loadDefaultCalendar() { 137de76a5adSDamjan Jovanovic for (int i=0; i<installed_locales.length; i++) { 138de76a5adSDamjan Jovanovic String lang = "Language: "+installed_locales[i].Language + 139de76a5adSDamjan Jovanovic ", Country: "+ installed_locales[i].Country + 140*2f709283SDamjan Jovanovic ", Variant: "+ installed_locales[i].Variant; 141de76a5adSDamjan Jovanovic oObj.loadDefaultCalendar(installed_locales[i]); 142*2f709283SDamjan Jovanovic Assert.assertTrue(lang, oObj.getLoadedCalendar().Default); 143de76a5adSDamjan Jovanovic } 144de76a5adSDamjan Jovanovic } 145de76a5adSDamjan Jovanovic 146de76a5adSDamjan Jovanovic /** 147de76a5adSDamjan Jovanovic * Tries to obtain calendars for a number of locales. <p> 148de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns more than zero calendars for 149de76a5adSDamjan Jovanovic * every locale. 150de76a5adSDamjan Jovanovic */ 151*2f709283SDamjan Jovanovic @Test _getAllCalendars()152de76a5adSDamjan Jovanovic public void _getAllCalendars() { 153*2f709283SDamjan Jovanovic getAllCalendars(); 154*2f709283SDamjan Jovanovic } 155de76a5adSDamjan Jovanovic getAllCalendars()156*2f709283SDamjan Jovanovic private CalendarData getAllCalendars() { 157*2f709283SDamjan Jovanovic CalendarData data = new CalendarData(); 158*2f709283SDamjan Jovanovic data.calendars = new String[installed_locales.length][]; 159*2f709283SDamjan Jovanovic data.count = new int[installed_locales.length]; 160de76a5adSDamjan Jovanovic for (int i=0; i<installed_locales.length; i++) { 161de76a5adSDamjan Jovanovic String lang = "Language: "+installed_locales[i].Language + 162de76a5adSDamjan Jovanovic ", Country: "+ installed_locales[i].Country + 163*2f709283SDamjan Jovanovic ", Variant: "+ installed_locales[i].Variant; 164*2f709283SDamjan Jovanovic data.calendars[i] = oObj.getAllCalendars(installed_locales[i]); 165*2f709283SDamjan Jovanovic data.count[i] = data.calendars[i].length-1; 166*2f709283SDamjan Jovanovic Assert.assertTrue(lang, data.calendars[i].length > 0); 167de76a5adSDamjan Jovanovic } 168*2f709283SDamjan Jovanovic return data; 169de76a5adSDamjan Jovanovic } 170de76a5adSDamjan Jovanovic 171de76a5adSDamjan Jovanovic /** 172de76a5adSDamjan Jovanovic * Loads calendars for a number of locales. <p> 173de76a5adSDamjan Jovanovic * Has <b> OK </b> status if loaded calendar names are equal to gotten 174de76a5adSDamjan Jovanovic * calendar names after loading.<p> 175de76a5adSDamjan Jovanovic * The following method tests are to be completed successfully before : 176de76a5adSDamjan Jovanovic * <ul> 177de76a5adSDamjan Jovanovic * <li> <code> getAllCalendars() </code> : gets all calendars for a given 178de76a5adSDamjan Jovanovic * locale </li> 179de76a5adSDamjan Jovanovic * </ul> 180de76a5adSDamjan Jovanovic */ 181*2f709283SDamjan Jovanovic @Test _loadCalendar()182de76a5adSDamjan Jovanovic public void _loadCalendar() { 183*2f709283SDamjan Jovanovic loadCalendar(); 184*2f709283SDamjan Jovanovic } 185de76a5adSDamjan Jovanovic loadCalendar()186*2f709283SDamjan Jovanovic private CalendarData loadCalendar() { 187*2f709283SDamjan Jovanovic CalendarData data = getAllCalendars(); 188de76a5adSDamjan Jovanovic for (int i=0; i<installed_locales.length; i++) { 189de76a5adSDamjan Jovanovic String lang = "Language: "+installed_locales[i].Language + 190de76a5adSDamjan Jovanovic ", Country: "+ installed_locales[i].Country + 191*2f709283SDamjan Jovanovic ", Variant: "+ installed_locales[i].Variant; 192*2f709283SDamjan Jovanovic oObj.loadCalendar(data.calendars[i][0], installed_locales[i]); 193*2f709283SDamjan Jovanovic Assert.assertEquals(lang, data.calendars[i][0], oObj.getLoadedCalendar().Name); 194de76a5adSDamjan Jovanovic } 195*2f709283SDamjan Jovanovic return data; 196de76a5adSDamjan Jovanovic } 197de76a5adSDamjan Jovanovic 198de76a5adSDamjan Jovanovic /** 199de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 200de76a5adSDamjan Jovanovic * Has <b> OK </b> status if loaded calendar names are equal to gotten 201de76a5adSDamjan Jovanovic * calendar names after loading.<p> 202de76a5adSDamjan Jovanovic * The following method tests are to be completed successfully before : 203de76a5adSDamjan Jovanovic * <ul> 204de76a5adSDamjan Jovanovic * <li> <code> loadCalendar() </code> : loads calendar using a given name 205de76a5adSDamjan Jovanovic * and locale </li> 206de76a5adSDamjan Jovanovic * </ul> 207de76a5adSDamjan Jovanovic */ 208*2f709283SDamjan Jovanovic @Test _getLoadedCalendar()209de76a5adSDamjan Jovanovic public void _getLoadedCalendar() { 210*2f709283SDamjan Jovanovic CalendarData data = loadCalendar(); 211de76a5adSDamjan Jovanovic for (int i=0; i<installed_locales.length; i++) { 212de76a5adSDamjan Jovanovic String lang = "Language: "+installed_locales[i].Language + 213de76a5adSDamjan Jovanovic ", Country: "+ installed_locales[i].Country + 214*2f709283SDamjan Jovanovic ", Variant: "+ installed_locales[i].Variant; 215*2f709283SDamjan Jovanovic oObj.loadCalendar(data.calendars[i][0], installed_locales[i]); 216*2f709283SDamjan Jovanovic Assert.assertEquals(lang, data.calendars[i][0], oObj.getLoadedCalendar().Name); 217de76a5adSDamjan Jovanovic } 218de76a5adSDamjan Jovanovic } 219de76a5adSDamjan Jovanovic 220de76a5adSDamjan Jovanovic /** 221de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 222de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns value that's equal to a 223de76a5adSDamjan Jovanovic * calendar name. <p> 224de76a5adSDamjan Jovanovic * The following method tests are to be completed successfully before : 225de76a5adSDamjan Jovanovic * <ul> 226de76a5adSDamjan Jovanovic * <li> <code> loadCalendar() </code> : loads calendar using a given name 227de76a5adSDamjan Jovanovic * and locale </li> 228de76a5adSDamjan Jovanovic * </ul> 229de76a5adSDamjan Jovanovic */ 230*2f709283SDamjan Jovanovic @Test _getUniqueID()231de76a5adSDamjan Jovanovic public void _getUniqueID() { 232*2f709283SDamjan Jovanovic CalendarData data = getAllCalendars(); 233de76a5adSDamjan Jovanovic for (int i=0; i<installed_locales.length; i++) { 234de76a5adSDamjan Jovanovic String lang = "Language: "+installed_locales[i].Language + 235de76a5adSDamjan Jovanovic ", Country: "+ installed_locales[i].Country + 236*2f709283SDamjan Jovanovic ", Variant: "+ installed_locales[i].Variant; 237*2f709283SDamjan Jovanovic oObj.loadCalendar(data.calendars[i][0], installed_locales[i]); 238de76a5adSDamjan Jovanovic String uID = oObj.getUniqueID(); 239*2f709283SDamjan Jovanovic Assert.assertEquals(lang, uID, data.calendars[i][0]); 240de76a5adSDamjan Jovanovic } 241de76a5adSDamjan Jovanovic } 242de76a5adSDamjan Jovanovic 243de76a5adSDamjan Jovanovic /** 244de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 245de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns value, that's equal to 246de76a5adSDamjan Jovanovic * value set before. <p> 247de76a5adSDamjan Jovanovic */ 248*2f709283SDamjan Jovanovic @Test _setDateTime()249de76a5adSDamjan Jovanovic public void _setDateTime() { 250de76a5adSDamjan Jovanovic for (int i=0; i<installed_locales.length; i++) { 251de76a5adSDamjan Jovanovic String lang = "Language: "+installed_locales[i].Language + 252de76a5adSDamjan Jovanovic ", Country: "+ installed_locales[i].Country + 253*2f709283SDamjan Jovanovic ", Variant: "+ installed_locales[i].Variant; 254de76a5adSDamjan Jovanovic oObj.setDateTime(newDTime); 255de76a5adSDamjan Jovanovic double aDTime = oObj.getDateTime(); 256*2f709283SDamjan Jovanovic Assert.assertTrue(lang, aDTime == newDTime); 257de76a5adSDamjan Jovanovic } 258de76a5adSDamjan Jovanovic } 259de76a5adSDamjan Jovanovic 260de76a5adSDamjan Jovanovic /** 261de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 262de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns value, that's equal to 263de76a5adSDamjan Jovanovic * value set before. <p> 264de76a5adSDamjan Jovanovic */ 265*2f709283SDamjan Jovanovic @Test _getDateTime()266de76a5adSDamjan Jovanovic public void _getDateTime() { 267de76a5adSDamjan Jovanovic for (int i=0; i<installed_locales.length; i++) { 268de76a5adSDamjan Jovanovic String lang = "Language: "+installed_locales[i].Language + 269de76a5adSDamjan Jovanovic ", Country: "+ installed_locales[i].Country + 270*2f709283SDamjan Jovanovic ", Variant: "+ installed_locales[i].Variant; 271de76a5adSDamjan Jovanovic oObj.setDateTime(newDTime); 272de76a5adSDamjan Jovanovic double aDTime = oObj.getDateTime(); 273*2f709283SDamjan Jovanovic Assert.assertTrue(lang, aDTime == newDTime); 274de76a5adSDamjan Jovanovic } 275de76a5adSDamjan Jovanovic } 276de76a5adSDamjan Jovanovic 277de76a5adSDamjan Jovanovic /** 278de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 279de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns value, that's equal to 280de76a5adSDamjan Jovanovic * value set before. <p> 281de76a5adSDamjan Jovanovic */ 282*2f709283SDamjan Jovanovic @Test _setValue()283de76a5adSDamjan Jovanovic public void _setValue() { 284*2f709283SDamjan Jovanovic CalendarData data = getAllCalendars(); 285de76a5adSDamjan Jovanovic for (int i=0; i<installed_locales.length; i++) { 286de76a5adSDamjan Jovanovic String error = ""; 287de76a5adSDamjan Jovanovic String lang = "Language: "+installed_locales[i].Language + 288de76a5adSDamjan Jovanovic ", Country: "+ installed_locales[i].Country + 289de76a5adSDamjan Jovanovic ", Variant: "+ installed_locales[i].Variant + 290*2f709283SDamjan Jovanovic ", Name: "+data.calendars[i][data.count[i]]; 291de76a5adSDamjan Jovanovic String[] names = new String[]{"DAY_OF_MONTH", 292de76a5adSDamjan Jovanovic "HOUR","MINUTE","SECOND","MILLISECOND", 293de76a5adSDamjan Jovanovic "YEAR","MONTH"}; 294*2f709283SDamjan Jovanovic oObj.loadCalendar(data.calendars[i][data.count[i]],installed_locales[i]); 295de76a5adSDamjan Jovanovic short[] fields = new short[]{CalendarFieldIndex.DAY_OF_MONTH, 296de76a5adSDamjan Jovanovic CalendarFieldIndex.HOUR, 297de76a5adSDamjan Jovanovic CalendarFieldIndex.MINUTE, 298de76a5adSDamjan Jovanovic CalendarFieldIndex.SECOND, 299de76a5adSDamjan Jovanovic CalendarFieldIndex.MILLISECOND, 300de76a5adSDamjan Jovanovic CalendarFieldIndex.YEAR, 301de76a5adSDamjan Jovanovic CalendarFieldIndex.MONTH 302de76a5adSDamjan Jovanovic }; 303de76a5adSDamjan Jovanovic for (int k=0; k<fields.length;k++) { 304de76a5adSDamjan Jovanovic 305de76a5adSDamjan Jovanovic oObj.setDateTime(0.0); 306de76a5adSDamjan Jovanovic 307de76a5adSDamjan Jovanovic // save the current values for debug purposes 308de76a5adSDamjan Jovanovic short[] oldValues = new short[fields.length]; 309de76a5adSDamjan Jovanovic for (int n=0; n < oldValues.length; n++){ 310de76a5adSDamjan Jovanovic oldValues[n] = oObj.getValue(fields[n]); 311de76a5adSDamjan Jovanovic } 312de76a5adSDamjan Jovanovic 313de76a5adSDamjan Jovanovic short set = oObj.getValue(fields[k]); 314de76a5adSDamjan Jovanovic if (fields[k] == CalendarFieldIndex.MONTH) set = newValue; 315de76a5adSDamjan Jovanovic oObj.setValue(fields[k],set); 316de76a5adSDamjan Jovanovic short get = oObj.getValue(fields[k]); 317de76a5adSDamjan Jovanovic if (get != set) { 318de76a5adSDamjan Jovanovic if (debug) 319*2f709283SDamjan Jovanovic System.out.println("ERROR occur: tried to set " + names[k] + " to value " + set); 320*2f709283SDamjan Jovanovic System.out.println("list of values BEFORE set " + names[k] + " to value " + set + ":"); 321de76a5adSDamjan Jovanovic for (int n=0; n < oldValues.length; n++){ 322*2f709283SDamjan Jovanovic System.out.println(names[n] + ":" + oldValues[n]); 323de76a5adSDamjan Jovanovic } 324*2f709283SDamjan Jovanovic System.out.println("list of values AFTER set " + names[k] + " to value " + set + ":"); 325de76a5adSDamjan Jovanovic for (int n=0; n < fields.length;n++){ 326*2f709283SDamjan Jovanovic System.out.println(names[n] + ":" + oObj.getValue(fields[n])); 327de76a5adSDamjan Jovanovic } 328de76a5adSDamjan Jovanovic 329de76a5adSDamjan Jovanovic error += "failed for "+names[k]+" expected "+ 330de76a5adSDamjan Jovanovic set+" gained "+get+" ; \n"; 331de76a5adSDamjan Jovanovic } 332de76a5adSDamjan Jovanovic } 333*2f709283SDamjan Jovanovic Assert.assertTrue(error, error.equals("")); 334de76a5adSDamjan Jovanovic } 335de76a5adSDamjan Jovanovic } 336de76a5adSDamjan Jovanovic 337de76a5adSDamjan Jovanovic /** 338de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 339de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns value, that's equal to 340de76a5adSDamjan Jovanovic * value set before. <p> 341de76a5adSDamjan Jovanovic */ 342*2f709283SDamjan Jovanovic @Test _getValue()343de76a5adSDamjan Jovanovic public void _getValue() { 344*2f709283SDamjan Jovanovic _setValue(); 345de76a5adSDamjan Jovanovic short aValue = oObj.getValue(CalendarFieldIndex.MONTH); 346*2f709283SDamjan Jovanovic Assert.assertEquals( 347*2f709283SDamjan Jovanovic "the returned value is not the expected value:" + 348*2f709283SDamjan Jovanovic "expected: " + newValue + " returned value: " + aValue, 349*2f709283SDamjan Jovanovic aValue, newValue); 350de76a5adSDamjan Jovanovic } 351de76a5adSDamjan Jovanovic 352de76a5adSDamjan Jovanovic /** 353de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 354de76a5adSDamjan Jovanovic * Has <b> OK </b> status if value, added by the method is greater than 355de76a5adSDamjan Jovanovic * previously defined "newValue". 356de76a5adSDamjan Jovanovic * <p> 357de76a5adSDamjan Jovanovic * The following method tests are to be completed successfully before : 358de76a5adSDamjan Jovanovic * <ul> 359de76a5adSDamjan Jovanovic * <li> <code> getValue() </code> : gets the value of a field </li> 360de76a5adSDamjan Jovanovic * </ul> 361de76a5adSDamjan Jovanovic */ 362*2f709283SDamjan Jovanovic @Test _addValue()363de76a5adSDamjan Jovanovic public void _addValue() { 364*2f709283SDamjan Jovanovic _setValue(); 365de76a5adSDamjan Jovanovic oObj.addValue(CalendarFieldIndex.MONTH, 1); 366de76a5adSDamjan Jovanovic short aValue = oObj.getValue(CalendarFieldIndex.MONTH); 367*2f709283SDamjan Jovanovic Assert.assertTrue( 368*2f709283SDamjan Jovanovic "the returned value is not the expected value:" + 369*2f709283SDamjan Jovanovic "expected: " + newValue + " returned value: " + aValue, 370*2f709283SDamjan Jovanovic aValue > newValue); 371de76a5adSDamjan Jovanovic } 372de76a5adSDamjan Jovanovic 373de76a5adSDamjan Jovanovic /** 374de76a5adSDamjan Jovanovic * Test calls the method. <p> 375de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method successfully returns 376de76a5adSDamjan Jovanovic * and no exceptions were thrown. 377de76a5adSDamjan Jovanovic */ 378*2f709283SDamjan Jovanovic @Test _setFirstDayOfWeek()379de76a5adSDamjan Jovanovic public void _setFirstDayOfWeek() { 380de76a5adSDamjan Jovanovic oObj.setFirstDayOfWeek(firstDay); 381de76a5adSDamjan Jovanovic } 382de76a5adSDamjan Jovanovic 383de76a5adSDamjan Jovanovic /** 384de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 385de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns value that is equal to 386de76a5adSDamjan Jovanovic * value set before. <p> 387de76a5adSDamjan Jovanovic * The following method tests are to be completed successfully before : 388de76a5adSDamjan Jovanovic * <ul> 389de76a5adSDamjan Jovanovic * <li> <code> setFirstDayOfWeek() </code> : set the first day of a 390de76a5adSDamjan Jovanovic * week</li> 391de76a5adSDamjan Jovanovic * </ul> 392de76a5adSDamjan Jovanovic */ 393*2f709283SDamjan Jovanovic @Test _getFirstDayOfWeek()394de76a5adSDamjan Jovanovic public void _getFirstDayOfWeek() { 395*2f709283SDamjan Jovanovic _setFirstDayOfWeek(); 396de76a5adSDamjan Jovanovic short aFirstDayOfWeek = oObj.getFirstDayOfWeek(); 397*2f709283SDamjan Jovanovic Assert.assertEquals("getFirstDayOfWeek()", aFirstDayOfWeek, firstDay); 398de76a5adSDamjan Jovanovic } 399de76a5adSDamjan Jovanovic 400de76a5adSDamjan Jovanovic /** 401de76a5adSDamjan Jovanovic * Test calls the method. <p> 402de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method successfully returns 403de76a5adSDamjan Jovanovic * and no exceptions were thrown. 404de76a5adSDamjan Jovanovic */ 405*2f709283SDamjan Jovanovic @Test _setMinimumNumberOfDaysForFirstWeek()406de76a5adSDamjan Jovanovic public void _setMinimumNumberOfDaysForFirstWeek() { 407de76a5adSDamjan Jovanovic oObj.setMinimumNumberOfDaysForFirstWeek(mdfw); 408de76a5adSDamjan Jovanovic } 409de76a5adSDamjan Jovanovic 410de76a5adSDamjan Jovanovic /** 411de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 412de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns value that is equal to 413de76a5adSDamjan Jovanovic * value set before. <p> 414de76a5adSDamjan Jovanovic * The following method tests are to be completed successfully before : 415de76a5adSDamjan Jovanovic * <ul> 416de76a5adSDamjan Jovanovic * <li> <code> setMinimumNumberOfDaysForFirstWeek() </code> : sets how 417de76a5adSDamjan Jovanovic * many days of a week must reside in the first week of a year</li> 418de76a5adSDamjan Jovanovic * </ul> 419de76a5adSDamjan Jovanovic */ 420*2f709283SDamjan Jovanovic @Test _getMinimumNumberOfDaysForFirstWeek()421de76a5adSDamjan Jovanovic public void _getMinimumNumberOfDaysForFirstWeek() { 422*2f709283SDamjan Jovanovic _setMinimumNumberOfDaysForFirstWeek(); 423de76a5adSDamjan Jovanovic short aShort = oObj.getMinimumNumberOfDaysForFirstWeek(); 424*2f709283SDamjan Jovanovic Assert.assertEquals("getMinimumNumberOfDaysForFirstWeek()", aShort, mdfw); 425de76a5adSDamjan Jovanovic } 426de76a5adSDamjan Jovanovic 427de76a5adSDamjan Jovanovic /** 428de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 429de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns 12. 430de76a5adSDamjan Jovanovic */ 431*2f709283SDamjan Jovanovic @Test _getNumberOfMonthsInYear()432de76a5adSDamjan Jovanovic public void _getNumberOfMonthsInYear() { 433de76a5adSDamjan Jovanovic short aShort = oObj.getNumberOfMonthsInYear(); 434*2f709283SDamjan Jovanovic Assert.assertTrue("getNumberOfMonthsInYear()", (aShort == (short) 12)); 435de76a5adSDamjan Jovanovic } 436de76a5adSDamjan Jovanovic 437de76a5adSDamjan Jovanovic /** 438de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 439de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns 7. 440de76a5adSDamjan Jovanovic */ 441*2f709283SDamjan Jovanovic @Test _getNumberOfDaysInWeek()442de76a5adSDamjan Jovanovic public void _getNumberOfDaysInWeek() { 443de76a5adSDamjan Jovanovic short aShort = oObj.getNumberOfDaysInWeek(); 444*2f709283SDamjan Jovanovic Assert.assertTrue("getNumberOfDaysInWeek()", (aShort == (short) 7)); 445de76a5adSDamjan Jovanovic } 446de76a5adSDamjan Jovanovic 447de76a5adSDamjan Jovanovic /** 448de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 449de76a5adSDamjan Jovanovic * Has <b> OK </b> status if length of array, returned by the method is 12. 450de76a5adSDamjan Jovanovic */ 451*2f709283SDamjan Jovanovic @Test _getMonths()452de76a5adSDamjan Jovanovic public void _getMonths() { 453de76a5adSDamjan Jovanovic CalendarItem[] months = oObj.getMonths(); 454*2f709283SDamjan Jovanovic Assert.assertTrue("getMonths()", months.length == 12); 455de76a5adSDamjan Jovanovic } 456de76a5adSDamjan Jovanovic 457de76a5adSDamjan Jovanovic /** 458de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 459de76a5adSDamjan Jovanovic * Has <b> OK </b> status if length of array, returned by the method is 7. 460de76a5adSDamjan Jovanovic */ 461*2f709283SDamjan Jovanovic @Test _getDays()462de76a5adSDamjan Jovanovic public void _getDays() { 463de76a5adSDamjan Jovanovic CalendarItem[] Days = oObj.getDays(); 464*2f709283SDamjan Jovanovic Assert.assertTrue("getDays()", Days.length == 7); 465de76a5adSDamjan Jovanovic } 466de76a5adSDamjan Jovanovic 467de76a5adSDamjan Jovanovic /** 468de76a5adSDamjan Jovanovic * After loading calendar, test calls the method, then result is checked.<p> 469de76a5adSDamjan Jovanovic * Has <b> OK </b> status if length of string, returned by the method is 3. 470de76a5adSDamjan Jovanovic */ 471*2f709283SDamjan Jovanovic @Test _getDisplayName()472de76a5adSDamjan Jovanovic public void _getDisplayName() { 473*2f709283SDamjan Jovanovic CalendarData data = getAllCalendars(); 474*2f709283SDamjan Jovanovic oObj.loadCalendar(data.calendars[0][0],installed_locales[0]); 475de76a5adSDamjan Jovanovic String DisplayName = oObj.getDisplayName(CalendarDisplayIndex.MONTH, 476de76a5adSDamjan Jovanovic newValue, (short) 0); 477*2f709283SDamjan Jovanovic Assert.assertTrue("getDisplayName()", DisplayName.length() == 3); 478de76a5adSDamjan Jovanovic } 479de76a5adSDamjan Jovanovic 480de76a5adSDamjan Jovanovic 481de76a5adSDamjan Jovanovic /** 482de76a5adSDamjan Jovanovic * The test sets obviously wrong value, then calls a method. After that the 483de76a5adSDamjan Jovanovic * test sets correct value, and again calls a method. <p> 484de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns true when valid month is 485de76a5adSDamjan Jovanovic * set, and if the method returns false when set month is not valid. 486de76a5adSDamjan Jovanovic */ 487*2f709283SDamjan Jovanovic @Test _isValid()488de76a5adSDamjan Jovanovic public void _isValid() { 489de76a5adSDamjan Jovanovic oObj.loadDefaultCalendar(installed_locales[0]); 490de76a5adSDamjan Jovanovic oObj.setValue(CalendarFieldIndex.MONTH, (short) 37); 491*2f709283SDamjan Jovanovic Assert.assertTrue(!oObj.isValid()); 492de76a5adSDamjan Jovanovic oObj.setValue(CalendarFieldIndex.MONTH, (short) 10); 493*2f709283SDamjan Jovanovic Assert.assertTrue(oObj.isValid()); 494de76a5adSDamjan Jovanovic } 495de76a5adSDamjan Jovanovic 496de76a5adSDamjan Jovanovic /** 497de76a5adSDamjan Jovanovic * Method returns locale for a given language and country. 498de76a5adSDamjan Jovanovic * @param localeIndex index of needed locale. 499de76a5adSDamjan Jovanovic */ 500de76a5adSDamjan Jovanovic /* public Locale getLocale(int localeIndex) { 501de76a5adSDamjan Jovanovic return new Locale(languages[localeIndex], countries[localeIndex], ""); 502de76a5adSDamjan Jovanovic }*/ 503de76a5adSDamjan Jovanovic 504de76a5adSDamjan Jovanovic } 505