blob: a5c4e05a0ba8d7eb33539119ea8340fcc270c308 [file] [log] [blame]
/**************************************************************
*
* 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 <code>com.sun.star.sheet.XAreaLink</code>
* interface methods :
* <ul>
* <li><code> getSourceArea()</code></li>
* <li><code> setSourceArea()</code></li>
* <li><code> getDestArea()</code></li>
* <li><code> setDestArea()</code></li>
* </ul> <p>
* Test is <b> NOT </b> multithread compilant. <p>
* @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 <code>setDestArea</code>)<p>
* Has <b>OK</b> 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 <code>setSourceArea</code>)<p>
* Has <b>OK</b> 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. <p>
* 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. <p>
* Has <b>OK</b> 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 <code>getSourceArea</code> method. <p>
* Has <b>OK</b> 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