1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 29 package ifc.sheet; 30 31 import lib.MultiMethodTest; 32 33 import com.sun.star.container.XIndexAccess; 34 import com.sun.star.sheet.XCellFormatRangesSupplier; 35 36 /** 37 * Interface test to check the interface XCellFormatRangesSupplier 38 * 39 * methods: 40 * 41 * getCellFormatRanges() 42 * 43 */ 44 45 public class _XCellFormatRangesSupplier extends MultiMethodTest { 46 47 public XCellFormatRangesSupplier oObj = null; 48 49 /** 50 * call the method getCellFormatRanges and returns OK result if 51 * the gained XIndexAccess isn't null and the method checkIndexAccess 52 * returns true. 53 */ 54 55 public void _getCellFormatRanges() { 56 boolean res = true; 57 XIndexAccess xIA = oObj.getCellFormatRanges(); 58 if (xIA != null) { 59 res = checkIndexAccess(xIA); 60 } else { 61 log.println("The gained IndexAccess is null"); 62 res = false; 63 } 64 tRes.tested("getCellFormatRanges()",res); 65 } 66 67 /** 68 * calls the method getCount at the IndexAccess, returns true is it is >0 69 * and getByIndex() doesn't throw an exception for Indexes between 0 and count 70 */ 71 72 protected boolean checkIndexAccess(XIndexAccess xIA) { 73 boolean res = true; 74 int count = xIA.getCount(); 75 log.println("Found "+count+" Elements"); 76 res &= count>0; 77 for (int k=0; k<count; k++) { 78 try { 79 Object element = xIA.getByIndex(k); 80 log.println("Element "+k+" = "+element); 81 } catch (com.sun.star.lang.IndexOutOfBoundsException e) { 82 log.println("Unexpected Exception while getting by Index ("+k+")"+e.getMessage()); 83 res &=false; 84 } catch (com.sun.star.lang.WrappedTargetException e) { 85 log.println("Unexpected Exception while getting by Index ("+k+")"+e.getMessage()); 86 res &=false; 87 } 88 } 89 return res; 90 } 91 92 } 93