Author: nick
Date: Wed Jan  9 01:22:20 2008
New Revision: 610313

URL: http://svn.apache.org/viewvc?rev=610313&view=rev
Log:
Shuffle some bits of TestFormulaParser into scratchpad, so it can find 
HSSFFormulaEvaluator

Added:
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hssf/model/
    
poi/trunk/src/scratchpad/testcases/org/apache/poi/hssf/model/TestFormulaParserSP.java
   (with props)
Modified:
    poi/trunk/src/testcases/org/apache/poi/hssf/HSSFTests.java
    poi/trunk/src/testcases/org/apache/poi/hssf/model/TestFormulaParser.java

Added: 
poi/trunk/src/scratchpad/testcases/org/apache/poi/hssf/model/TestFormulaParserSP.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hssf/model/TestFormulaParserSP.java?rev=610313&view=auto
==============================================================================
--- 
poi/trunk/src/scratchpad/testcases/org/apache/poi/hssf/model/TestFormulaParserSP.java
 (added)
+++ 
poi/trunk/src/scratchpad/testcases/org/apache/poi/hssf/model/TestFormulaParserSP.java
 Wed Jan  9 01:22:20 2008
@@ -0,0 +1,83 @@
+
+/* ====================================================================
+   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 org.apache.poi.hssf.model;
+
+import junit.framework.TestCase;
+
+import org.apache.poi.hssf.record.formula.FuncVarPtg;
+import org.apache.poi.hssf.record.formula.NamePtg;
+import org.apache.poi.hssf.record.formula.Ptg;
+import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
+import org.apache.poi.hssf.usermodel.HSSFName;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+
+/**
+ * Test the low level formula parser functionality,
+ *  but using parts which need to use the
+ *  HSSFFormulaEvaluator, which is in scratchpad 
+ */
+public class TestFormulaParserSP extends TestCase {
+
+    public TestFormulaParserSP(String name) {
+        super(name);
+    }
+       
+       public void testWithNamedRange() throws Exception {
+               HSSFWorkbook workbook = new HSSFWorkbook();
+               FormulaParser fp;
+               Ptg[] ptgs;
+
+               HSSFSheet s = workbook.createSheet("Foo");
+               s.createRow(0).createCell((short)0).setCellValue(1.1);
+               s.createRow(1).createCell((short)0).setCellValue(2.3);
+               s.createRow(2).createCell((short)2).setCellValue(3.1);
+
+               HSSFName name = workbook.createName();
+               name.setNameName("testName");
+               name.setReference("A1:A2");
+
+               fp = HSSFFormulaEvaluator.getUnderlyingParser(workbook, 
"SUM(testName)");
+               fp.parse();
+               ptgs = fp.getRPNPtg();
+               assertTrue("two tokens expected, got "+ptgs.length,ptgs.length 
== 2);
+               assertEquals(NamePtg.class, ptgs[0].getClass());
+               assertEquals(FuncVarPtg.class, ptgs[1].getClass());
+
+               // Now make it a single cell
+               name.setReference("C3");
+
+               fp = HSSFFormulaEvaluator.getUnderlyingParser(workbook, 
"SUM(testName)");
+               fp.parse();
+               ptgs = fp.getRPNPtg();
+               assertTrue("two tokens expected, got "+ptgs.length,ptgs.length 
== 2);
+               assertEquals(NamePtg.class, ptgs[0].getClass());
+               assertEquals(FuncVarPtg.class, ptgs[1].getClass());
+               
+               // And make it non-contiguous
+               name.setReference("A1:A2,C3");
+               fp = HSSFFormulaEvaluator.getUnderlyingParser(workbook, 
"SUM(testName)");
+               fp.parse();
+               ptgs = fp.getRPNPtg();
+               assertTrue("two tokens expected, got "+ptgs.length,ptgs.length 
== 2);
+               assertEquals(NamePtg.class, ptgs[0].getClass());
+               assertEquals(FuncVarPtg.class, ptgs[1].getClass());
+       }
+
+}

Propchange: 
poi/trunk/src/scratchpad/testcases/org/apache/poi/hssf/model/TestFormulaParserSP.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/HSSFTests.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/HSSFTests.java?rev=610313&r1=610312&r2=610313&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/HSSFTests.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/HSSFTests.java Wed Jan  9 
01:22:20 2008
@@ -23,8 +23,8 @@
 
 import org.apache.poi.hssf.eventmodel.TestEventRecordFactory;
 import org.apache.poi.hssf.eventmodel.TestModelFactory;
-import org.apache.poi.hssf.model.TestFormulaParser;
 import org.apache.poi.hssf.model.TestDrawingManager;
+import org.apache.poi.hssf.model.TestFormulaParser;
 import org.apache.poi.hssf.model.TestSheet;
 import org.apache.poi.hssf.record.TestAreaFormatRecord;
 import org.apache.poi.hssf.record.TestAreaRecord;
@@ -91,6 +91,7 @@
 import org.apache.poi.hssf.usermodel.TestFormulas;
 import org.apache.poi.hssf.usermodel.TestHSSFCell;
 import org.apache.poi.hssf.usermodel.TestHSSFClientAnchor;
+import org.apache.poi.hssf.usermodel.TestHSSFComment;
 import org.apache.poi.hssf.usermodel.TestHSSFDateUtil;
 import org.apache.poi.hssf.usermodel.TestHSSFHeaderFooter;
 import org.apache.poi.hssf.usermodel.TestHSSFPalette;
@@ -110,7 +111,6 @@
 import org.apache.poi.hssf.util.TestRKUtil;
 import org.apache.poi.hssf.util.TestRangeAddress;
 import org.apache.poi.hssf.util.TestSheetReferences;
-import org.apache.poi.hssf.usermodel.TestHSSFComment;
 
 /**
  * Test Suite for running just HSSF tests.  Mostly

Modified: 
poi/trunk/src/testcases/org/apache/poi/hssf/model/TestFormulaParser.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/model/TestFormulaParser.java?rev=610313&r1=610312&r2=610313&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/model/TestFormulaParser.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/model/TestFormulaParser.java 
Wed Jan  9 01:22:20 2008
@@ -39,15 +39,15 @@
 import org.apache.poi.hssf.record.formula.UnaryMinusPtg;
 import org.apache.poi.hssf.record.formula.UnaryPlusPtg;
 import org.apache.poi.hssf.usermodel.HSSFCell;
-import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
-import org.apache.poi.hssf.usermodel.HSSFName;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 
 /**
  * Test the low level formula parser functionality. High level tests are to 
- * be done via usermodel/HSSFCell.setFormulaValue() . 
+ *  be done via usermodel/HSSFCell.setFormulaValue() .
+ * Some tests are also done in scratchpad, if they need
+ *  HSSFFormulaEvaluator, which is there
  */
 public class TestFormulaParser extends TestCase {
 
@@ -352,47 +352,6 @@
                assertTrue("ptg0 contains exact value", 
((StringPtg)ptg[0]).getValue().equals(value));
        }
        
-       public void testWithNamedRange() throws Exception {
-               HSSFWorkbook workbook = new HSSFWorkbook();
-               FormulaParser fp;
-               Ptg[] ptgs;
-
-               HSSFSheet s = workbook.createSheet("Foo");
-               s.createRow(0).createCell((short)0).setCellValue(1.1);
-               s.createRow(1).createCell((short)0).setCellValue(2.3);
-               s.createRow(2).createCell((short)2).setCellValue(3.1);
-
-               HSSFName name = workbook.createName();
-               name.setNameName("testName");
-               name.setReference("A1:A2");
-
-               fp = HSSFFormulaEvaluator.getUnderlyingParser(workbook, 
"SUM(testName)");
-               fp.parse();
-               ptgs = fp.getRPNPtg();
-               assertTrue("two tokens expected, got "+ptgs.length,ptgs.length 
== 2);
-               assertEquals(NamePtg.class, ptgs[0].getClass());
-               assertEquals(FuncVarPtg.class, ptgs[1].getClass());
-
-               // Now make it a single cell
-               name.setReference("C3");
-
-               fp = HSSFFormulaEvaluator.getUnderlyingParser(workbook, 
"SUM(testName)");
-               fp.parse();
-               ptgs = fp.getRPNPtg();
-               assertTrue("two tokens expected, got "+ptgs.length,ptgs.length 
== 2);
-               assertEquals(NamePtg.class, ptgs[0].getClass());
-               assertEquals(FuncVarPtg.class, ptgs[1].getClass());
-               
-               // And make it non-contiguous
-               name.setReference("A1:A2,C3");
-               fp = HSSFFormulaEvaluator.getUnderlyingParser(workbook, 
"SUM(testName)");
-               fp.parse();
-               ptgs = fp.getRPNPtg();
-               assertTrue("two tokens expected, got "+ptgs.length,ptgs.length 
== 2);
-               assertEquals(NamePtg.class, ptgs[0].getClass());
-               assertEquals(FuncVarPtg.class, ptgs[1].getClass());
-       }
-
        public void testLookupAndMatchFunctionArgs()
        {
                FormulaParser fp = new FormulaParser("lookup(A1, A3:A52, 
B3:B52)", null);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to