mirror of https://github.com/apache/poi.git
fixed mistake in FuncPtg.clone(), added test case, cleaned up outdated (since bug 13292) test method.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@654649 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e17b1839cd
commit
a4cfce5106
|
@ -75,11 +75,9 @@ public final class FuncPtg extends AbstractFunctionPtg {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object clone() {
|
public Object clone() {
|
||||||
FuncPtg ptg = new FuncPtg();
|
FuncPtg ptg = new FuncPtg(field_2_fnc_index);
|
||||||
//ptg.field_1_num_args = field_1_num_args;
|
ptg.setClass(ptgClass);
|
||||||
ptg.field_2_fnc_index = field_2_fnc_index;
|
return ptg;
|
||||||
ptg.setClass(ptgClass);
|
|
||||||
return ptg;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSize() {
|
public int getSize() {
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@ -26,45 +25,31 @@ import org.apache.poi.hssf.record.TestcaseRecordInputStream;
|
||||||
*
|
*
|
||||||
* @author Danny Mui (dmui at apache dot org)
|
* @author Danny Mui (dmui at apache dot org)
|
||||||
*/
|
*/
|
||||||
|
public final class TestFuncPtg extends TestCase {
|
||||||
|
|
||||||
public class TestFuncPtg extends TestCase
|
public void testRead() {
|
||||||
{
|
// This ptg represents a LEN function extracted from excel
|
||||||
|
byte[] fakeData = {
|
||||||
public TestFuncPtg( String name )
|
0x20, //function index
|
||||||
{
|
0,
|
||||||
super( name );
|
};
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void main( java.lang.String[] args )
|
|
||||||
{
|
|
||||||
junit.textui.TestRunner.run( TestFuncPtg.class );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Make sure the left overs are re-serialized on excel file reads to avoid
|
|
||||||
* the "Warning: Data may have been lost" prompt in excel.
|
|
||||||
* <p/>
|
|
||||||
* This ptg represents a LEN function extracted from excel
|
|
||||||
*/
|
|
||||||
|
|
||||||
public void testLeftOvers()
|
|
||||||
{
|
|
||||||
byte[] fakeData = new byte[4];
|
|
||||||
|
|
||||||
//fakeData[0] = (byte) 0x41;
|
|
||||||
fakeData[0] = (byte) 0x20; //function index
|
|
||||||
fakeData[1] = (byte) 0;
|
|
||||||
fakeData[2] = (byte) 8;
|
|
||||||
|
|
||||||
FuncPtg ptg = new FuncPtg( new TestcaseRecordInputStream((short)0, (short)fakeData.length, fakeData) );
|
FuncPtg ptg = new FuncPtg( new TestcaseRecordInputStream((short)0, (short)fakeData.length, fakeData) );
|
||||||
assertEquals( "Len formula index is not 32(20H)", (int) 0x20, ptg.getFunctionIndex() );
|
assertEquals( "Len formula index is not 32(20H)", 0x20, ptg.getFunctionIndex() );
|
||||||
assertEquals( "Number of operands in the len formula", 1, ptg.getNumberOfOperands() );
|
assertEquals( "Number of operands in the len formula", 1, ptg.getNumberOfOperands() );
|
||||||
assertEquals( "Function Name", "LEN", ptg.getName() );
|
assertEquals( "Function Name", "LEN", ptg.getName() );
|
||||||
assertEquals( "Ptg Size", 3, ptg.getSize() );
|
assertEquals( "Ptg Size", 3, ptg.getSize() );
|
||||||
//assertEquals("first leftover byte is not 0", (byte)0, ptg.leftOvers[0]);
|
}
|
||||||
//assertEquals("second leftover byte is not 8", (byte)8, ptg.leftOvers[1]);
|
|
||||||
|
|
||||||
|
public void testClone() {
|
||||||
|
FuncPtg funcPtg = new FuncPtg(27); // ROUND() - takes 2 args
|
||||||
|
|
||||||
|
FuncPtg clone = (FuncPtg) funcPtg.clone();
|
||||||
|
if (clone.getNumberOfOperands() == 0) {
|
||||||
|
fail("clone() did copy field numberOfOperands");
|
||||||
|
}
|
||||||
|
assertEquals(2, clone.getNumberOfOperands());
|
||||||
|
assertEquals("ROUND", clone.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue