-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
*
* @author Danny Mui (dmui at apache dot org)
*/
+public final class TestFuncPtg extends TestCase {
-public class TestFuncPtg extends TestCase
-{
-
- public TestFuncPtg( String name )
- {
- 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;
+ public void testRead() {
+ // This ptg represents a LEN function extracted from excel
+ byte[] fakeData = {
+ 0x20, //function index
+ 0,
+ };
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( "Function Name", "LEN", ptg.getName() );
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());
}
}