You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2008/01/09 10:22:38 UTC

svn commit: r610313 - in /poi/trunk/src: scratchpad/testcases/org/apache/poi/hssf/model/ testcases/org/apache/poi/hssf/ testcases/org/apache/poi/hssf/model/

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: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org