/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
package ifc.sheet;
import lib.MultiMethodTest;
import com.sun.star.sheet.XAreaLink;
import com.sun.star.table.CellRangeAddress;
/**
* Testing com.sun.star.sheet.XAreaLink
* interface methods :
*
getSourceArea()
setSourceArea()
getDestArea()
setDestArea()
* Test is NOT multithread compilant.
* @see com.sun.star.sheet.XAreaLink
*/
public class _XAreaLink extends MultiMethodTest {
public XAreaLink oObj = null;
CellRangeAddress oORAdd, oNRAdd, oCRAdd = null;
/**
* Just calls the method and checks the value returned.
* (More complicated testing done in setDestArea
)
* Has OK status if not null value returned.
*/
public void _getDestArea(){
log.println("testing getDestArea()");
boolean bResult = false;
oORAdd = oObj.getDestArea();
if (!(oORAdd == null)){ bResult = true; }
tRes.tested("getDestArea()", bResult) ;
}
/**
* Just calls the method and checks the value returned.
* (More complicated testing done in setSourceArea
)
* Has OK status if not null value returned. */ public void _getSourceArea(){ log.println("testing getSourceArea()"); boolean bResult = false; String src = null; src = oObj.getSourceArea() ; if (!(src == null)){ bResult = true; } tRes.tested("getSourceArea()", bResult) ; } /** * Creates a new desination CellRange address and sets it for * the link object.
* After setting the DestArea, the link is refreshed and the area is * adjusted to the size of the source data. * Therefore EndCol and EndRow will change after setting.
* Has OK status if Sheet, Starting Column and Row
* of the destination range is changed correctly.
*/
public void _setDestArea(){
log.println("testing setDestArea()");
boolean bResult = false;
int newStartCol = 3, newStartRow = 4, newEndCol = 5, newEndRow = 8 ;
oORAdd = oObj.getDestArea();
log.print("Getting: ");
log.println(getCRA(oORAdd));
oNRAdd = new CellRangeAddress ((short) 2, newStartCol, newStartRow,
newEndCol, newEndRow) ;
oObj.setDestArea(oNRAdd) ;
log.print("Setting: ");
log.println(getCRA(oNRAdd));
oCRAdd = oObj.getDestArea();
log.print("Getting: ");
log.println(getCRA(oCRAdd));
// After setting the DestArea, the link is refreshed and the area is
// adjusted to the size of the source data.
// Therefore EndCol and EndRow will change after setting.
log.println("After setting the DestArea, the link is refreshed "+
"and the area is");
log.println("adjusted to the size of the source data.");
log.println("Therefore only 'Sheet', 'StartCol' and 'StartRow' "+
"are compared.");
if ((oCRAdd.StartColumn == oNRAdd.StartColumn) &&
(oCRAdd.Sheet == oNRAdd.Sheet) &&
(oCRAdd.StartRow == oNRAdd.StartRow)){
bResult = true;
oObj.setDestArea(oORAdd);
}
tRes.tested("setDestArea()", bResult) ;
}
/**
* Sets a new source area for the link and then check
* it using getSourceArea
method.
* Has OK status if areas set and get are equal. */ public void _setSourceArea(){ log.println("testing setSourceArea()"); boolean bResult = false; String oSrc = oObj.getSourceArea() ; String nSrc = "a1:b2"; oObj.setSourceArea(nSrc); String cSrc = oObj.getSourceArea(); if( nSrc.equals(cSrc)){ bResult = true; oObj.setSourceArea(oSrc); } tRes.tested("setSourceArea()", bResult) ; } /** * Prints cell range structure to LOG */ public String getCRA ( CellRangeAddress oCRA ) { String res = "( Sheet: "; res += oCRA.Sheet; res += ";StartColumn: "; res += oCRA.StartColumn; res += ";StartRow: "; res += oCRA.StartRow; res += ";EndColumn: "; res += oCRA.EndColumn; res += ";EndRow: "; res += oCRA.EndRow; res += " )"; return res; } } // EOC _XAreaLink