/**************************************************************
*
* 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 java.util.Random;
import java.util.StringTokenizer;
import lib.MultiMethodTest;
import com.sun.star.sheet.NamedRangeFlag;
import com.sun.star.sheet.XNamedRange;
import com.sun.star.table.CellAddress;
/**
* Testing com.sun.star.sheet.XNamedRange
* interface methods :
*
getContent()
setContent()
getReferencePosition()
setReferencePosition()
getType()
setType()
* After test completion object environment has to be recreated.
* @see com.sun.star.sheet.XNamedRange
*/
public class _XNamedRange extends MultiMethodTest {
public XNamedRange oObj = null;
String sContent = "";
int type = 0;
CellAddress CA = null;
/**
* Test calls the method and compares returned value to value that was set
* by method setContent()
.
* Has OK status if values are equal.
* The following method tests are to be completed successfully before : *
setContent()
: to have current content * Has OK status if the method successfully returns.
*/
public void _setContent() {
sContent = getRandomContent("A1;A4:C5;=B2");
log.println("Set content to \"" + sContent + "\"");
oObj.setContent(sContent);
tRes.tested("setContent()", true);
}
/**
* Test calls the method and compares returned value to value that was set
* by method setType()
.
* Has OK status if values are equal.
* The following method tests are to be completed successfully before : *
setType()
: to have current type * Has OK status if the method successfully returns.
*/
public void _setType() {
/*
* The type must be 0 or a combination of the NamedRangeFlag
* constants and controls if the named range is listed in
* dialogs prompting for special ranges
*
* NamedRangeFlag: COLUMN_HEADER
* FILTER_CRITERIA
* PRINT_AREA
* ROW_HEADER
*
*/
boolean bResult = true;
int types[] = { 0,
NamedRangeFlag.COLUMN_HEADER,
NamedRangeFlag.FILTER_CRITERIA,
NamedRangeFlag.PRINT_AREA,
NamedRangeFlag.ROW_HEADER
};
Random rnd = new Random();
type = types[rnd.nextInt(5)];
oObj.setType(type);
log.println("The type was set to " + type);
tRes.tested("setType()", bResult);
}
/**
* Test calls the method and compares returned value to value that was set
* by method setReferencePosition()
.
* Has OK status if all fields of values are equal.
* The following method tests are to be completed successfully before : *
setReferencePosition()
: to have current reference
* position * Has OK status if the method successfully returns.
*/ public void _setReferencePosition() { CA = new CellAddress((short)0, 2, 3); oObj.setReferencePosition(CA); log.println("ReferencePosition was set to (" + CA.Sheet + ", " + CA.Column + ", " + CA.Row + ")"); tRes.tested("setReferencePosition()", true); } /** * Method make string of random content. * @return string of random content */ String getRandomContent(String str) { String gRS = "none"; Random rnd = new Random(); StringTokenizer ST = new StringTokenizer(str, ";"); int nr = rnd.nextInt(ST.countTokens()); if (nr < 1) nr++; for (int i = 1; i < nr + 1; i++) gRS = ST.nextToken(); return gRS; } /** * Forces object environment recreation. */ protected void after() { disposeEnvironment(); } }