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/04/07 14:52:00 UTC

svn commit: r645483 [4/7] - in /poi/branches/ooxml: ./ src/documentation/content/xdocs/ src/java/org/apache/poi/hssf/record/ src/java/org/apache/poi/hssf/record/cf/ src/java/org/apache/poi/hssf/usermodel/ src/java/org/apache/poi/util/ src/testcases/org...

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestFormulas.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestFormulas.java?rev=645483&r1=645482&r2=645483&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestFormulas.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestFormulas.java Mon Apr  7 05:51:50 2008
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,6 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.usermodel;
 
@@ -27,6 +25,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.util.CellReference;
 import org.apache.poi.util.TempFile;
 
@@ -34,64 +33,62 @@
  * @author Andrew C. Oliver (acoliver at apache dot org)
  * @author Avik Sengupta
  */
+public final class TestFormulas extends TestCase {
 
-public class TestFormulas
-extends TestCase {
-    public TestFormulas(String s) {
-        super(s);
+    private static HSSFWorkbook openSample(String sampleFileName) {
+        return HSSFTestDataSamples.openSampleWorkbook(sampleFileName);
     }
-    
+
     /**
      * Add 1+1 -- WHoohoo!
      */
-    
+
     public void testBasicAddIntegers()
     throws Exception {
-        
-        short            rownum = 0;
+
         File file = TempFile.createTempFile("testFormula",".xls");
         FileOutputStream out    = new FileOutputStream(file);
         HSSFWorkbook     wb     = new HSSFWorkbook();
         HSSFSheet        s      = wb.createSheet();
         HSSFRow          r      = null;
         HSSFCell         c      = null;
-        
+
         //get our minimum values
         r = s.createRow((short)1);
         c = r.createCell((short)1);
         c.setCellFormula(1 + "+" + 1);
-        
+
         wb.write(out);
         out.close();
-        
+
         FileInputStream in = new FileInputStream(file);
         wb = new HSSFWorkbook(in);
         s  = wb.getSheetAt(0);
         r  = s.getRow((short)1);
         c  = r.getCell((short)1);
-        
+
         assertTrue("Formula is as expected",("1+1".equals(c.getCellFormula())));
         in.close();
     }
-    
+
     /**
      * Add various integers
      */
-    
+
     public void testAddIntegers()
     throws Exception {
         binomialOperator("+");
     }
-    
+
     /**
      * Multiply various integers
      */
-    
+
     public void testMultplyIntegers()
     throws Exception {
         binomialOperator("*");
     }
-    
+
     /**
      * Subtract various integers
      */
@@ -99,7 +96,7 @@
     throws Exception {
         binomialOperator("-");
     }
-    
+
     /**
      * Subtract various integers
      */
@@ -107,7 +104,7 @@
     throws Exception {
         binomialOperator("/");
     }
-    
+
     /**
      * Exponentialize various integers;
      */
@@ -119,36 +116,36 @@
     /**
      * Concatinate two numbers 1&2 = 12
      */
-    public void testConcatIntegers() 
+    public void testConcatIntegers()
     throws Exception {
         binomialOperator("&");
     }
-    
+
     /**
      * tests 1*2+3*4
      */
-    public void testOrderOfOperationsMultiply() 
+    public void testOrderOfOperationsMultiply()
     throws Exception {
         orderTest("1*2+3*4");
     }
-    
+
     /**
      * tests 1*2+3^4
      */
-    public void testOrderOfOperationsPower() 
+    public void testOrderOfOperationsPower()
     throws Exception {
         orderTest("1*2+3^4");
     }
-    
+
     /**
      * Tests that parenthesis are obeyed
      */
-    public void testParenthesis() 
+    public void testParenthesis()
     throws Exception {
         orderTest("(1*3)+2+(1+2)*(3^4)^5");
     }
-    
-    public void testReferencesOpr() 
+
+    public void testReferencesOpr()
     throws Exception {
         String[] operation = new String[] {
                             "+", "-", "*", "/", "^", "&"
@@ -157,7 +154,7 @@
             operationRefTest(operation[k]);
         }
     }
-    
+
     /**
      * Tests creating a file with floating point in a formula.
      *
@@ -167,32 +164,31 @@
         floatTest("*");
         floatTest("/");
     }
-    
+
     private void floatTest(String operator)
     throws Exception {
-        short            rownum = 0;
         File file = TempFile.createTempFile("testFormulaFloat",".xls");
         FileOutputStream out    = new FileOutputStream(file);
         HSSFWorkbook     wb     = new HSSFWorkbook();
         HSSFSheet        s      = wb.createSheet();
         HSSFRow          r      = null;
         HSSFCell         c      = null;
-        
+
         //get our minimum values
-        
+
         r = s.createRow((short)0);
         c = r.createCell((short)1);
         c.setCellFormula(""+Float.MIN_VALUE + operator + Float.MIN_VALUE);
- 
+
        for (short x = 1; x < Short.MAX_VALUE && x > 0; x=(short)(x*2) ) {
             r = s.createRow((short) x);
-            
+
             for (short y = 1; y < 256 && y > 0; y= (short) (y +2)) {
-                
+
                 c = r.createCell((short) y);
                 c.setCellFormula("" + x+"."+y + operator + y +"."+x);
-                
-                
+
+
             }
         }
         if (s.getLastRowNum() < Short.MAX_VALUE) {
@@ -205,21 +201,20 @@
         assertTrue("file exists",file.exists());
         out=null;wb=null;  //otherwise we get out of memory error!
         floatVerify(operator,file);
-        
+
     }
-        
+
             private void floatVerify(String operator, File file)
     throws Exception {
-        short            rownum = 0;
-        
+
         FileInputStream  in     = new FileInputStream(file);
         HSSFWorkbook     wb     = new HSSFWorkbook(in);
         HSSFSheet        s      = wb.getSheetAt(0);
         HSSFRow          r      = null;
         HSSFCell         c      = null;
-        
-        // dont know how to check correct result .. for the moment, we just verify that the file can be read. 
-        
+
+        // dont know how to check correct result .. for the moment, we just verify that the file can be read.
+
         for (short x = 1; x < Short.MAX_VALUE && x > 0; x=(short)(x*2)) {
             r = s.getRow((short) x);
 
@@ -227,40 +222,40 @@
 
                 c = r.getCell((short) y);
                 assertTrue("got a formula",c.getCellFormula()!=null);
-                
+
                 assertTrue("loop Formula is as expected "+x+"."+y+operator+y+"."+x+"!="+c.getCellFormula(),(
                 (""+x+"."+y+operator+y+"."+x).equals(c.getCellFormula()) ));
- 
+
             }
         }
-        
+
        in.close();
        assertTrue("file exists",file.exists());
     }
-    
-    public void testAreaSum() 
+
+    public void testAreaSum()
     throws Exception {
         areaFunctionTest("SUM");
     }
-    
-    public void testAreaAverage() 
+
+    public void testAreaAverage()
     throws Exception {
         areaFunctionTest("AVERAGE");
     }
-    
-    public void testRefArraySum() 
+
+    public void testRefArraySum()
     throws Exception {
         refArrayFunctionTest("SUM");
     }
-    
-    public void testAreaArraySum() 
+
+    public void testAreaArraySum()
     throws Exception {
         refAreaArrayFunctionTest("SUM");
     }
 
-    
-    
-    private void operationRefTest(String operator) 
+
+
+    private void operationRefTest(String operator)
     throws Exception {
         File file = TempFile.createTempFile("testFormula",".xls");
         FileOutputStream out    = new FileOutputStream(file);
@@ -268,17 +263,17 @@
         HSSFSheet        s      = wb.createSheet();
         HSSFRow          r      = null;
         HSSFCell         c      = null;
-        
+
         //get our minimum values
         r = s.createRow((short)0);
         c = r.createCell((short)1);
         c.setCellFormula("A2" + operator + "A3");
-        
+
         for (short x = 1; x < Short.MAX_VALUE && x > 0; x=(short)(x*2)) {
             r = s.createRow((short) x);
 
-            for (short y = 1; y < 256 && y > 0; y++) {                
-                
+            for (short y = 1; y < 256 && y > 0; y++) {
+
                 String ref=null;
                 String ref2=null;
                 short refx1=0;
@@ -292,7 +287,7 @@
                     refx1=(short)(x-4);
                     refx2=(short)(x-3);
                 }
-                    
+
                 if (y+50 < 255) {
                     refy1=(short)(y+50);
                     refy2=(short)(y+49);
@@ -300,7 +295,7 @@
                     refy1=(short)(y-4);
                     refy2=(short)(y-3);
                 }
-                
+
                 c = r.getCell((short) y);
                 CellReference cr= new CellReference(refx1,refy1, false, false);
                 ref=cr.formatAsString();
@@ -309,39 +304,38 @@
 
                 c = r.createCell((short) y);
                 c.setCellFormula("" + ref + operator + ref2);
-                
 
-                
+
+
             }
         }
-        
+
         //make sure we do the maximum value of the Int operator
         if (s.getLastRowNum() < Short.MAX_VALUE) {
             r = s.createRow((short)0);
             c = r.createCell((short)0);
             c.setCellFormula("" + "B1" + operator + "IV255");
         }
-        
+
         wb.write(out);
         out.close();
         assertTrue("file exists",file.exists());
         operationalRefVerify(operator,file);
     }
-    
+
     /**
      * Opens the sheet we wrote out by binomialOperator and makes sure the formulas
      * all match what we expect (x operator y)
      */
     private void operationalRefVerify(String operator, File file)
     throws Exception {
-        short            rownum = 0;
-        
+
         FileInputStream  in     = new FileInputStream(file);
         HSSFWorkbook     wb     = new HSSFWorkbook(in);
         HSSFSheet        s      = wb.getSheetAt(0);
         HSSFRow          r      = null;
         HSSFCell         c      = null;
-        
+
         //get our minimum values
         r = s.getRow((short)0);
         c = r.getCell((short)1);
@@ -350,12 +344,12 @@
         ( ("A2"+operator+"A3").equals(c.getCellFormula())
         ));
 
-        
+
         for (short x = 1; x < Short.MAX_VALUE && x > 0; x=(short)(x*2)) {
             r = s.getRow((short) x);
 
-            for (short y = 1; y < 256 && y > 0; y++) {                
-                
+            for (short y = 1; y < 256 && y > 0; y++) {
+
                 String ref=null;
                 String ref2=null;
                 short refx1=0;
@@ -369,7 +363,7 @@
                     refx1=(short)(x-4);
                     refx2=(short)(x-3);
                 }
-                    
+
                 if (y+50 < 255) {
                     refy1=(short)(y+50);
                     refy2=(short)(y+49);
@@ -383,36 +377,36 @@
                 ref=cr.formatAsString();
                 cr=new CellReference(refx2,refy2, false, false);
                 ref2=cr.formatAsString();
-                
-                
+
+
                 assertTrue("loop Formula is as expected "+ref+operator+ref2+"!="+c.getCellFormula(),(
                 (""+ref+operator+ref2).equals(c.getCellFormula())
                                                          )
                 );
-                
-                
+
+
             }
         }
-        
+
         //test our maximum values
         r = s.getRow((short)0);
         c = r.getCell((short)0);
-                
+
         assertTrue("maxval Formula is as expected",(
         ("B1"+operator+"IV255").equals(c.getCellFormula())
                                                    )
         );
-        
+
         in.close();
         assertTrue("file exists",file.exists());
     }
-    
-    
+
+
 
     /**
      * tests order wrting out == order writing in for a given formula
-     */    
-    private void orderTest(String formula) 
+     */
+    private void orderTest(String formula)
     throws Exception {
         File file = TempFile.createTempFile("testFormula",".xls");
         FileOutputStream out    = new FileOutputStream(file);
@@ -420,12 +414,12 @@
         HSSFSheet        s      = wb.createSheet();
         HSSFRow          r      = null;
         HSSFCell         c      = null;
-        
+
         //get our minimum values
         r = s.createRow((short)0);
         c = r.createCell((short)1);
         c.setCellFormula(formula);
-                       
+
         wb.write(out);
         out.close();
         assertTrue("file exists",file.exists());
@@ -433,17 +427,17 @@
         FileInputStream  in     = new FileInputStream(file);
         wb     = new HSSFWorkbook(in);
         s      = wb.getSheetAt(0);
-        
+
         //get our minimum values
         r = s.getRow((short)0);
         c = r.getCell((short)1);
         assertTrue("minval Formula is as expected",
                    formula.equals(c.getCellFormula())
                   );
-        
+
         in.close();
     }
-    
+
     /**
      * All multi-binomial operator tests use this to create a worksheet with a
      * huge set of x operator y formulas.  Next we call binomialVerify and verify
@@ -451,19 +445,18 @@
      */
     private void binomialOperator(String operator)
     throws Exception {
-        short            rownum = 0;
         File file = TempFile.createTempFile("testFormula",".xls");
         FileOutputStream out    = new FileOutputStream(file);
         HSSFWorkbook     wb     = new HSSFWorkbook();
         HSSFSheet        s      = wb.createSheet();
         HSSFRow          r      = null;
         HSSFCell         c      = null;
-        
+
         //get our minimum values
         r = s.createRow((short)0);
         c = r.createCell((short)1);
         c.setCellFormula(1 + operator + 1);
-        
+
         for (short x = 1; x < Short.MAX_VALUE && x > 0; x=(short)(x*2)) {
             r = s.createRow((short) x);
 
@@ -471,45 +464,44 @@
 
                 c = r.createCell((short) y);
                 c.setCellFormula("" + x + operator + y);
-                
+
             }
         }
-        
+
         //make sure we do the maximum value of the Int operator
         if (s.getLastRowNum() < Short.MAX_VALUE) {
             r = s.createRow((short)0);
             c = r.createCell((short)0);
             c.setCellFormula("" + Short.MAX_VALUE + operator + Short.MAX_VALUE);
         }
-        
+
         wb.write(out);
         out.close();
         assertTrue("file exists",file.exists());
-        
+
         binomialVerify(operator,file);
     }
-    
+
     /**
      * Opens the sheet we wrote out by binomialOperator and makes sure the formulas
      * all match what we expect (x operator y)
      */
     private void binomialVerify(String operator, File file)
     throws Exception {
-        short            rownum = 0;
-        
+
         FileInputStream  in     = new FileInputStream(file);
         HSSFWorkbook     wb     = new HSSFWorkbook(in);
         HSSFSheet        s      = wb.getSheetAt(0);
         HSSFRow          r      = null;
         HSSFCell         c      = null;
-        
+
         //get our minimum values
         r = s.getRow((short)0);
         c = r.getCell((short)1);
         assertTrue("minval Formula is as expected 1"+operator+"1 != "+c.getCellFormula(),
         ( ("1"+operator+"1").equals(c.getCellFormula())
         ));
-        
+
         for (short x = 1; x < Short.MAX_VALUE && x > 0; x=(short)(x*2)) {
             r = s.getRow((short) x);
 
@@ -521,35 +513,34 @@
                 (""+x+operator+y).equals(c.getCellFormula())
                                                          )
                 );
-                
-                
+
+
             }
         }
-        
+
         //test our maximum values
         r = s.getRow((short)0);
         c = r.getCell((short)0);
-        
-        
+
+
         assertTrue("maxval Formula is as expected",(
         (""+Short.MAX_VALUE+operator+Short.MAX_VALUE).equals(c.getCellFormula())
                                                    )
         );
-        
+
         in.close();
         assertTrue("file exists",file.exists());
     }
 
- 
-    
+
+
     /**
      * Writes a function then tests to see if its correct
      *
      */
-    public void areaFunctionTest(String function) 
+    public void areaFunctionTest(String function)
     throws Exception {
-            
-            short            rownum = 0;
+
             File file = TempFile.createTempFile("testFormulaAreaFunction"+function,".xls");
             FileOutputStream out    = new FileOutputStream(file);
             HSSFWorkbook     wb     = new HSSFWorkbook();
@@ -567,27 +558,26 @@
             wb.write(out);
             out.close();
             assertTrue("file exists",file.exists());
-            
+
             FileInputStream in = new FileInputStream(file);
             wb = new HSSFWorkbook(in);
             s = wb.getSheetAt(0);
             r = s.getRow(0);
             c = r.getCell((short)0);
-            
+
             assertTrue("function ="+function+"(A2:A3)",
                         ( (function+"(A2:A3)").equals((function+"(A2:A3)")) )
                       );
             in.close();
     }
-    
+
     /**
      * Writes a function then tests to see if its correct
      *
      */
-    public void refArrayFunctionTest(String function) 
+    public void refArrayFunctionTest(String function)
     throws Exception {
-            
-            short            rownum = 0;
+
             File file = TempFile.createTempFile("testFormulaArrayFunction"+function,".xls");
             FileOutputStream out    = new FileOutputStream(file);
             HSSFWorkbook     wb     = new HSSFWorkbook();
@@ -605,28 +595,27 @@
             wb.write(out);
             out.close();
             assertTrue("file exists",file.exists());
-            
+
             FileInputStream in = new FileInputStream(file);
             wb = new HSSFWorkbook(in);
             s = wb.getSheetAt(0);
             r = s.getRow(0);
             c = r.getCell((short)0);
-            
+
             assertTrue("function ="+function+"(A2,A3)",
                         ( (function+"(A2,A3)").equals(c.getCellFormula()) )
                       );
             in.close();
     }
-    
-    
+
+
     /**
      * Writes a function then tests to see if its correct
      *
      */
-    public void refAreaArrayFunctionTest(String function) 
+    public void refAreaArrayFunctionTest(String function)
     throws Exception {
-            
-            short            rownum = 0;
+
             File file = TempFile.createTempFile("testFormulaAreaArrayFunction"+function,".xls");
             FileOutputStream out    = new FileOutputStream(file);
             HSSFWorkbook     wb     = new HSSFWorkbook();
@@ -645,26 +634,26 @@
             wb.write(out);
             out.close();
             assertTrue("file exists",file.exists());
-            
+
             FileInputStream in = new FileInputStream(file);
             wb = new HSSFWorkbook(in);
             s = wb.getSheetAt(0);
             r = s.getRow(0);
             c = r.getCell((short)0);
-            
+
             assertTrue("function ="+function+"(A2:A4,B2:B4)",
                         ( (function+"(A2:A4,B2:B4)").equals(c.getCellFormula()) )
                       );
-            
+
             c=r.getCell((short) 1);
              assertTrue("function ="+function+"($A$2:$A4,B$2:B4)",
                         ( (function+"($A$2:$A4,B$2:B4)").equals(c.getCellFormula()) )
                       );
             in.close();
     }
-    
-    
-    
+
+
+
     public void testAbsRefs() throws Exception {
             File file = TempFile.createTempFile("testFormulaAbsRef",".xls");
             FileOutputStream out    = new FileOutputStream(file);
@@ -686,11 +675,11 @@
             c.setCellFormula("$A$3+$A$2");
             c=r.createCell( (short) 4);
             c.setCellFormula("SUM($A$3,$A$2)");
-            
+
             wb.write(out);
             out.close();
             assertTrue("file exists",file.exists());
-            
+
             FileInputStream in = new FileInputStream(file);
             wb = new HSSFWorkbook(in);
             s = wb.getSheetAt(0);
@@ -707,12 +696,10 @@
             assertTrue("SUM($A$3,$A$2)", ("SUM($A$3,$A$2)").equals(c.getCellFormula()));
             in.close();
     }
-    
+
     public void testSheetFunctions()
         throws IOException
     {
-        String filename = System.getProperty("HSSF.testdata.path");
-
             File file = TempFile.createTempFile("testSheetFormula",".xls");
             FileOutputStream out    = new FileOutputStream(file);
             HSSFWorkbook     wb     = new HSSFWorkbook();
@@ -722,7 +709,7 @@
             r = s.createRow((short)0);
             c = r.createCell((short)0);c.setCellValue(1);
             c = r.createCell((short)1);c.setCellValue(2);
-            
+
             s      = wb.createSheet("B");
             r = s.createRow((short)0);
             c=r.createCell((short)0); c.setCellFormula("AVERAGE(A!A1:B1)");
@@ -730,9 +717,9 @@
             c=r.createCell((short)2); c.setCellFormula("A!$A$1+A!$B1");
             wb.write(out);
             out.close();
-            
+
              assertTrue("file exists",file.exists());
-            
+
             FileInputStream in = new FileInputStream(file);
             wb = new HSSFWorkbook(in);
             s = wb.getSheet("B");
@@ -743,7 +730,7 @@
             assertTrue("expected: A!A1+A!B1 got: "+c.getCellFormula(), ("A!A1+A!B1").equals(c.getCellFormula()));
             in.close();
     }
-    
+
     public void testRVAoperands() throws Exception {
          File file = TempFile.createTempFile("testFormulaRVA",".xls");
             FileOutputStream out    = new FileOutputStream(file);
@@ -767,26 +754,24 @@
             c.setCellFormula("POWER(A2,A3)");
             c=r.createCell( (short) 5);
             c.setCellFormula("SIN(A2)");
-            
+
             c=r.createCell( (short) 6);
             c.setCellFormula("SUM(A2:A3)");
-            
+
             c=r.createCell( (short) 7);
             c.setCellFormula("SUM(A2,A3)");
-            
+
             r = s.createRow((short) 1);c=r.createCell( (short) 0); c.setCellValue(2.0);
              r = s.createRow((short) 2);c=r.createCell( (short) 0); c.setCellValue(3.0);
-            
+
             wb.write(out);
             out.close();
             assertTrue("file exists",file.exists());
     }
-    
+
     public void testStringFormulas()
         throws IOException
     {
-        String readFilename = System.getProperty("HSSF.testdata.path");
-
             File file = TempFile.createTempFile("testStringFormula",".xls");
             FileOutputStream out    = new FileOutputStream(file);
             HSSFWorkbook     wb     = new HSSFWorkbook();
@@ -797,25 +782,21 @@
             c=r.createCell((short)1); c.setCellFormula("UPPER(\"abc\")");
             c=r.createCell((short)2); c.setCellFormula("LOWER(\"ABC\")");
             c=r.createCell((short)3); c.setCellFormula("CONCATENATE(\" my \",\" name \")");
-            
+
             wb.write(out);
             out.close();
-            
-             assertTrue("file exists",file.exists());
-            
-            FileInputStream in = new FileInputStream(readFilename+File.separator+"StringFormulas.xls");
-            wb = new HSSFWorkbook(in);
+
+            wb = openSample("StringFormulas.xls");
             s = wb.getSheetAt(0);
             r = s.getRow(0);
             c = r.getCell((short)0);
             assertTrue("expected: UPPER(\"xyz\") got "+c.getCellFormula(), ("UPPER(\"xyz\")").equals(c.getCellFormula()));
             //c = r.getCell((short)1);
             //assertTrue("expected: A!A1+A!B1 got: "+c.getCellFormula(), ("A!A1+A!B1").equals(c.getCellFormula()));
-            in.close(); 
     }
-    
-    
-    
+
+
+
     public void testLogicalFormulas()
         throws IOException
     {
@@ -829,26 +810,24 @@
             r = s.createRow((short)0);
             c=r.createCell((short)1); c.setCellFormula("IF(A1<A2,B1,B2)");
 
-            
+
             wb.write(out);
             out.close();
-            
+
              assertTrue("file exists",file.exists());
-            
+
             FileInputStream in = new FileInputStream(file);
             wb = new HSSFWorkbook(in);
             s = wb.getSheetAt(0);
             r = s.getRow(0);
             c = r.getCell((short)1);
             assertEquals("Formula in cell 1 ","IF(A1<A2,B1,B2)",c.getCellFormula());
-            in.close(); 
+            in.close();
     }
-    
+
     public void testDateFormulas()
         throws IOException
     {
-        String readFilename = System.getProperty("HSSF.testdata.path");
-
             File file = TempFile.createTempFile("testDateFormula",".xls");
             FileOutputStream out    = new FileOutputStream(file);
             HSSFWorkbook     wb     = new HSSFWorkbook();
@@ -866,27 +845,25 @@
 
            // assertEquals("Checking hour = " + hour, date.getTime().getTime(),
            //              HSSFDateUtil.getJavaDate(excelDate).getTime());
-           
-            for (int k=1; k < 100; k++) { 
+
+            for (int k=1; k < 100; k++) {
               r=s.createRow((short)k);
-              c=r.createCell((short)0); 
+              c=r.createCell((short)0);
               c.setCellFormula("A"+(k)+"+1");
               c.setCellStyle(cellStyle);
             }
 
             wb.write(out);
             out.close();
-            
+
             assertTrue("file exists",file.exists());
-            
+
     }
 
-    
+
     public void testIfFormulas()
         throws IOException
     {
-        String readFilename = System.getProperty("HSSF.testdata.path");
-
             File file = TempFile.createTempFile("testIfFormula",".xls");
             FileOutputStream out    = new FileOutputStream(file);
             HSSFWorkbook     wb     = new HSSFWorkbook();
@@ -898,24 +875,22 @@
             c=r.createCell((short)2); c.setCellValue(2);
             c=r.createCell((short)3); c.setCellFormula("MAX(A1:B1)");
             c=r.createCell((short)4); c.setCellFormula("IF(A1=D1,\"A1\",\"B1\")");
-            
+
             wb.write(out);
             out.close();
-            
+
             assertTrue("file exists",file.exists());
-            
+
             FileInputStream in = new FileInputStream(file);
             wb = new HSSFWorkbook(in);
             s = wb.getSheetAt(0);
             r = s.getRow(0);
             c = r.getCell((short)4);
-            
-            assertTrue("expected: IF(A1=D1,\"A1\",\"B1\") got "+c.getCellFormula(), ("IF(A1=D1,\"A1\",\"B1\")").equals(c.getCellFormula()));            
+
+            assertTrue("expected: IF(A1=D1,\"A1\",\"B1\") got "+c.getCellFormula(), ("IF(A1=D1,\"A1\",\"B1\")").equals(c.getCellFormula()));
             in.close();
-            
-            
-            in = new FileInputStream(readFilename+File.separator+"IfFormulaTest.xls");
-            wb = new HSSFWorkbook(in);
+
+            wb = openSample("IfFormulaTest.xls");
             s = wb.getSheetAt(0);
             r = s.getRow(3);
             c = r.getCell((short)0);
@@ -923,118 +898,107 @@
             //c = r.getCell((short)1);
             //assertTrue("expected: A!A1+A!B1 got: "+c.getCellFormula(), ("A!A1+A!B1").equals(c.getCellFormula()));
             in.close();
-            
-		File simpleIf = TempFile.createTempFile("testSimpleIfFormulaWrite",".xls");
-		out    = new FileOutputStream(simpleIf);
-		wb     = new HSSFWorkbook();
-		s      = wb.createSheet("testSheet1");
-		r      = null;
-		c      = null;
-		r = s.createRow((short)0);
-		c=r.createCell((short)0); c.setCellFormula("IF(1=1,0,1)");
-            
-		wb.write(out);
-		out.close();
-		assertTrue("file exists", simpleIf.exists());
-			
-		assertTrue("length of simpleIf file is zero", (simpleIf.length()>0));
-			
-		File nestedIf = TempFile.createTempFile("testNestedIfFormula",".xls");
-		out    = new FileOutputStream(nestedIf);
-		wb     = new HSSFWorkbook();
-		s      = wb.createSheet("testSheet1");
-		r      = null;
-		c      = null;
-		r = s.createRow((short)0);
-		c=r.createCell((short)0);
-		c.setCellValue(1);
-
-		c=r.createCell((short)1);
-		c.setCellValue(3);
-
-			
-		HSSFCell formulaCell=r.createCell((short)3); 
-
-		r = s.createRow((short)1);
-		c=r.createCell((short)0);
-		c.setCellValue(3);
-
-		c=r.createCell((short)1);
-		c.setCellValue(7);
-
-		formulaCell.setCellFormula("IF(A1=B1,AVERAGE(A1:B1),AVERAGE(A2:B2))");
-
-            
-		wb.write(out);
-		out.close();
-		assertTrue("file exists", nestedIf.exists());
-			
-		assertTrue("length of nestedIf file is zero", (nestedIf.length()>0));             
-    }
-
-	public void testSumIf()
-		throws IOException
-	{
-		String readFilename = System.getProperty("HSSF.testdata.path");		
-		String function ="SUMIF(A1:A5,\">4000\",B1:B5)";
-		
-		File inFile = new File(readFilename+"/sumifformula.xls");
-		FileInputStream in = new FileInputStream(inFile);
-		HSSFWorkbook wb = new HSSFWorkbook(in);
-		in.close();
-		
-		HSSFSheet        s      = wb.getSheetAt(0);
-		HSSFRow          r      = s.getRow(0);
-		HSSFCell         c      = r.getCell((short)2);
-		assertEquals(function, c.getCellFormula());
-		
-
-		File file = TempFile.createTempFile("testSumIfFormula",".xls");
-		FileOutputStream out    = new FileOutputStream(file);
-		wb     = new HSSFWorkbook();
-		s      = wb.createSheet();
-		
-		r = s.createRow((short)0);
-		c=r.createCell((short)0); c.setCellValue((double)1000);
-		c=r.createCell((short)1); c.setCellValue((double)1);
-		
-		
-		r = s.createRow((short)1);
-		c=r.createCell((short)0); c.setCellValue((double)2000);
-		c=r.createCell((short)1); c.setCellValue((double)2);
-
-		r = s.createRow((short)2);
-		c=r.createCell((short)0); c.setCellValue((double)3000);
-		c=r.createCell((short)1); c.setCellValue((double)3);
-
-		r = s.createRow((short)3);
-		c=r.createCell((short)0); c.setCellValue((double)4000);
-		c=r.createCell((short)1); c.setCellValue((double)4);
-
-		r = s.createRow((short)4);
-		c=r.createCell((short)0); c.setCellValue((double)5000);
-		c=r.createCell((short)1); c.setCellValue((double)5);
-		
-		r = s.getRow(0);
-		c=r.createCell((short)2); c.setCellFormula(function);
-			
-		wb.write(out);				
-		out.close();
-		
-		assertTrue("sumif file doesnt exists", (file.exists()));
-		assertTrue("sumif == 0 bytes", file.length() > 0);
-	}
-    
-    public void testSquareMacro() throws IOException {
-        File dir = new File(System.getProperty("HSSF.testdata.path"));
-        File xls = new File(dir, "SquareMacro.xls");
-        FileInputStream in = new FileInputStream(xls);
-        HSSFWorkbook w;
-        try {
-            w = new HSSFWorkbook(in);
-        } finally {
-            in.close();
-        }
+
+        File simpleIf = TempFile.createTempFile("testSimpleIfFormulaWrite",".xls");
+        out    = new FileOutputStream(simpleIf);
+        wb     = new HSSFWorkbook();
+        s      = wb.createSheet("testSheet1");
+        r      = null;
+        c      = null;
+        r = s.createRow((short)0);
+        c=r.createCell((short)0); c.setCellFormula("IF(1=1,0,1)");
+
+        wb.write(out);
+        out.close();
+        assertTrue("file exists", simpleIf.exists());
+
+        assertTrue("length of simpleIf file is zero", (simpleIf.length()>0));
+
+        File nestedIf = TempFile.createTempFile("testNestedIfFormula",".xls");
+        out    = new FileOutputStream(nestedIf);
+        wb     = new HSSFWorkbook();
+        s      = wb.createSheet("testSheet1");
+        r      = null;
+        c      = null;
+        r = s.createRow((short)0);
+        c=r.createCell((short)0);
+        c.setCellValue(1);
+
+        c=r.createCell((short)1);
+        c.setCellValue(3);
+
+
+        HSSFCell formulaCell=r.createCell((short)3);
+
+        r = s.createRow((short)1);
+        c=r.createCell((short)0);
+        c.setCellValue(3);
+
+        c=r.createCell((short)1);
+        c.setCellValue(7);
+
+        formulaCell.setCellFormula("IF(A1=B1,AVERAGE(A1:B1),AVERAGE(A2:B2))");
+
+
+        wb.write(out);
+        out.close();
+        assertTrue("file exists", nestedIf.exists());
+
+        assertTrue("length of nestedIf file is zero", (nestedIf.length()>0));
+    }
+
+    public void testSumIf()
+        throws IOException
+    {
+        String function ="SUMIF(A1:A5,\">4000\",B1:B5)";
+
+        HSSFWorkbook wb = openSample("sumifformula.xls");
+
+        HSSFSheet        s      = wb.getSheetAt(0);
+        HSSFRow          r      = s.getRow(0);
+        HSSFCell         c      = r.getCell((short)2);
+        assertEquals(function, c.getCellFormula());
+
+
+        File file = TempFile.createTempFile("testSumIfFormula",".xls");
+        FileOutputStream out    = new FileOutputStream(file);
+        wb     = new HSSFWorkbook();
+        s      = wb.createSheet();
+
+        r = s.createRow((short)0);
+        c=r.createCell((short)0); c.setCellValue((double)1000);
+        c=r.createCell((short)1); c.setCellValue((double)1);
+
+
+        r = s.createRow((short)1);
+        c=r.createCell((short)0); c.setCellValue((double)2000);
+        c=r.createCell((short)1); c.setCellValue((double)2);
+
+        r = s.createRow((short)2);
+        c=r.createCell((short)0); c.setCellValue((double)3000);
+        c=r.createCell((short)1); c.setCellValue((double)3);
+
+        r = s.createRow((short)3);
+        c=r.createCell((short)0); c.setCellValue((double)4000);
+        c=r.createCell((short)1); c.setCellValue((double)4);
+
+        r = s.createRow((short)4);
+        c=r.createCell((short)0); c.setCellValue((double)5000);
+        c=r.createCell((short)1); c.setCellValue((double)5);
+
+        r = s.getRow(0);
+        c=r.createCell((short)2); c.setCellFormula(function);
+
+        wb.write(out);
+        out.close();
+
+        assertTrue("sumif file doesnt exists", (file.exists()));
+        assertTrue("sumif == 0 bytes", file.length() > 0);
+    }
+
+    public void testSquareMacro() {
+        HSSFWorkbook w = openSample("SquareMacro.xls");
+
         HSSFSheet s0 = w.getSheetAt(0);
         HSSFRow[] r = {s0.getRow(0), s0.getRow(1)};
 
@@ -1071,78 +1035,58 @@
         assertEquals(4d, d2.getNumericCellValue(), 1e-9);
     }
 
-    public void testStringFormulaRead() throws IOException {
-        File dir = new File(System.getProperty("HSSF.testdata.path"));
-        File xls = new File(dir, "StringFormulas.xls");
-        FileInputStream in = new FileInputStream(xls);
-        HSSFWorkbook w;
-        try {
-            w = new HSSFWorkbook(in);
-        } finally {
-            in.close();
-        }
+    public void testStringFormulaRead() {
+        HSSFWorkbook w = openSample("StringFormulas.xls");
         HSSFCell c = w.getSheetAt(0).getRow(0).getCell((short)0);
-        assertEquals("String Cell value","XYZ",c.getStringCellValue());
+        assertEquals("String Cell value","XYZ",c.getRichStringCellValue().getString());
     }
-    
+
     /** test for bug 34021*/
     public void testComplexSheetRefs () throws IOException {
-    	HSSFWorkbook sb = new HSSFWorkbook();
-    	 HSSFSheet s1 = sb.createSheet("Sheet a.1");
-    	 HSSFSheet s2 = sb.createSheet("Sheet.A");
-    	 s2.createRow(1).createCell((short) 2).setCellFormula("'Sheet a.1'!A1");
-    	 s1.createRow(1).createCell((short) 2).setCellFormula("'Sheet.A'!A1");
-    	 File file = TempFile.createTempFile("testComplexSheetRefs",".xls");
-    	 sb.write(new FileOutputStream(file));
-    }
-    
-	/*Unknown Ptg 3C*/
-	public void test27272_1() throws Exception {
-		String readFilename = System.getProperty("HSSF.testdata.path");	
-		File inFile = new File(readFilename+"/27272_1.xls");
-		FileInputStream in = new FileInputStream(inFile);
-		HSSFWorkbook wb = new HSSFWorkbook(in);
-		wb.getSheetAt(0);
-		assertEquals("Reference for named range ", "#REF!",wb.getNameAt(0).getReference());
-		File outF = File.createTempFile("bug27272_1",".xls");
-		wb.write(new FileOutputStream(outF));
-		System.out.println("Open "+outF.getAbsolutePath()+" in Excel");
-	}
-	/*Unknown Ptg 3D*/
-	public void test27272_2() throws Exception {
-		String readFilename = System.getProperty("HSSF.testdata.path");	
-		File inFile = new File(readFilename+"/27272_2.xls");
-		FileInputStream in = new FileInputStream(inFile);
-		HSSFWorkbook wb = new HSSFWorkbook(in);
-		assertEquals("Reference for named range ", "#REF!",wb.getNameAt(0).getReference());
-		File outF = File.createTempFile("bug27272_2",".xls");
-		wb.write(new FileOutputStream(outF));
-		System.out.println("Open "+outF.getAbsolutePath()+" in Excel");
-	}
-	
-	/* MissingArgPtg */
-	public void testMissingArgPtg() throws Exception {
-		HSSFWorkbook wb = new HSSFWorkbook();
-		HSSFCell cell = wb.createSheet("Sheet1").createRow(4).createCell((short) 0);
-		cell.setCellFormula("IF(A1=\"A\",1,)");
-	}
-    
-	public void testSharedFormula() throws Exception {
-		String readFilename = System.getProperty("HSSF.testdata.path");	
-		File inFile = new File(readFilename+"/SharedFormulaTest.xls");
-		FileInputStream fis = new FileInputStream(inFile);
-		HSSFWorkbook wb = new HSSFWorkbook(fis);
-		
-		assertEquals("A$1*2", wb.getSheetAt(0).getRow(1).getCell((short)1).toString());
-		assertEquals("$A11*2", wb.getSheetAt(0).getRow(11).getCell((short)1).toString());
-		assertEquals("DZ2*2", wb.getSheetAt(0).getRow(1).getCell((short)128).toString());
-		assertEquals("B32770*2", wb.getSheetAt(0).getRow(32768).getCell((short)1).toString());
-	}
-    
+         HSSFWorkbook sb = new HSSFWorkbook();
+         HSSFSheet s1 = sb.createSheet("Sheet a.1");
+         HSSFSheet s2 = sb.createSheet("Sheet.A");
+         s2.createRow(1).createCell((short) 2).setCellFormula("'Sheet a.1'!A1");
+         s1.createRow(1).createCell((short) 2).setCellFormula("'Sheet.A'!A1");
+         File file = TempFile.createTempFile("testComplexSheetRefs",".xls");
+         sb.write(new FileOutputStream(file));
+    }
+
+    /*Unknown Ptg 3C*/
+    public void test27272_1() throws Exception {
+        HSSFWorkbook wb = openSample("27272_1.xls");
+        wb.getSheetAt(0);
+        assertEquals("Reference for named range ", "#REF!",wb.getNameAt(0).getReference());
+        File outF = File.createTempFile("bug27272_1",".xls");
+        wb.write(new FileOutputStream(outF));
+        System.out.println("Open "+outF.getAbsolutePath()+" in Excel");
+    }
+    /*Unknown Ptg 3D*/
+    public void test27272_2() throws Exception {
+        HSSFWorkbook wb = openSample("27272_2.xls");
+        assertEquals("Reference for named range ", "#REF!",wb.getNameAt(0).getReference());
+        File outF = File.createTempFile("bug27272_2",".xls");
+        wb.write(new FileOutputStream(outF));
+        System.out.println("Open "+outF.getAbsolutePath()+" in Excel");
+    }
+
+    /* MissingArgPtg */
+    public void testMissingArgPtg() throws Exception {
+        HSSFWorkbook wb = new HSSFWorkbook();
+        HSSFCell cell = wb.createSheet("Sheet1").createRow(4).createCell((short) 0);
+        cell.setCellFormula("IF(A1=\"A\",1,)");
+    }
+
+    public void testSharedFormula() {
+        HSSFWorkbook wb = openSample("SharedFormulaTest.xls");
+
+        assertEquals("A$1*2", wb.getSheetAt(0).getRow(1).getCell((short)1).toString());
+        assertEquals("$A11*2", wb.getSheetAt(0).getRow(11).getCell((short)1).toString());
+        assertEquals("DZ2*2", wb.getSheetAt(0).getRow(1).getCell((short)128).toString());
+        assertEquals("B32770*2", wb.getSheetAt(0).getRow(32768).getCell((short)1).toString());
+    }
+
     public static void main(String [] args) {
-        System.out
-        .println("Testing org.apache.poi.hssf.usermodel.TestFormulas");
         junit.textui.TestRunner.run(TestFormulas.class);
     }
-    
 }

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java?rev=645483&r1=645482&r2=645483&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java Mon Apr  7 05:51:50 2008
@@ -17,18 +17,21 @@
 
 package org.apache.poi.hssf.usermodel;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
+import java.io.IOException;
 import java.util.Date;
 import java.util.GregorianCalendar;
 
 import junit.framework.AssertionFailedError;
 import junit.framework.TestCase;
 
+import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.model.Sheet;
 import org.apache.poi.hssf.util.HSSFColor;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.util.TempFile;
 
 /**
@@ -40,12 +43,26 @@
  */
 public final class TestHSSFCell extends TestCase {
 
+    private static HSSFWorkbook openSample(String sampleFileName) {
+        return HSSFTestDataSamples.openSampleWorkbook(sampleFileName);
+    }
+    private static HSSFWorkbook writeOutAndReadBack(HSSFWorkbook original) {
+        
+        try {
+            ByteArrayOutputStream baos = new ByteArrayOutputStream(4096);
+            original.write(baos);
+            ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+            return new HSSFWorkbook(bais);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    
     /**
      * test that Boolean and Error types (BoolErrRecord) are supported properly.
      */
     public void testBoolErr()
             throws java.io.IOException {
-        String readFilename = System.getProperty("HSSF.testdata.path");
 
             File file = TempFile.createTempFile("testBoolErr",".xls");
             FileOutputStream out    = new FileOutputStream(file);
@@ -102,33 +119,24 @@
      public void testDateWindowingRead() throws Exception {
          GregorianCalendar cal = new GregorianCalendar(2000,0,1); // Jan. 1, 2000
          Date date = cal.getTime();
-         String path = System.getProperty("HSSF.testdata.path");
 
          // first check a file with 1900 Date Windowing
-         String filename = path + "/1900DateWindowing.xls";
-         FileInputStream stream   = new FileInputStream(filename);
-         POIFSFileSystem fs       = new POIFSFileSystem(stream);
-         HSSFWorkbook    workbook = new HSSFWorkbook(fs);
+         HSSFWorkbook    workbook = openSample("1900DateWindowing.xls");
          HSSFSheet       sheet    = workbook.getSheetAt(0);
 
          assertEquals("Date from file using 1900 Date Windowing",
                          date.getTime(),
                             sheet.getRow(0).getCell((short)0)
                                .getDateCellValue().getTime());
-         stream.close();
          
          // now check a file with 1904 Date Windowing
-         filename = path + "/1904DateWindowing.xls";
-         stream   = new FileInputStream(filename);
-         fs       = new POIFSFileSystem(stream);
-         workbook = new HSSFWorkbook(fs);
+         workbook = openSample("1904DateWindowing.xls");
          sheet    = workbook.getSheetAt(0);
 
          assertEquals("Date from file using 1904 Date Windowing",
                          date.getTime(),
                             sheet.getRow(0).getCell((short)0)
                                .getDateCellValue().getTime());
-         stream.close();
      }
 
      /**
@@ -140,55 +148,39 @@
       public void testDateWindowingWrite() throws Exception {
           GregorianCalendar cal = new GregorianCalendar(2000,0,1); // Jan. 1, 2000
           Date date = cal.getTime();
-          String path = System.getProperty("HSSF.testdata.path");
 
           // first check a file with 1900 Date Windowing
-          String filename = path + "/1900DateWindowing.xls";
-          writeCell(filename, 0, (short) 1, date);          
+          HSSFWorkbook wb;
+          wb = openSample("1900DateWindowing.xls");
+          
+          setCell(wb, 0, 1, date);
+          wb = writeOutAndReadBack(wb);
+          
           assertEquals("Date from file using 1900 Date Windowing",
                           date.getTime(),
-                          readCell(filename, 0, (short) 1).getTime());
+                          readCell(wb, 0, 1).getTime());
           
           // now check a file with 1904 Date Windowing
-          filename = path + "/1904DateWindowing.xls";
-          writeCell(filename, 0, (short) 1, date);          
+            wb = openSample("1904DateWindowing.xls");
+          setCell(wb, 0, 1, date);          
+          wb = writeOutAndReadBack(wb);
           assertEquals("Date from file using 1900 Date Windowing",
                           date.getTime(),
-                          readCell(filename, 0, (short) 1).getTime());
+                          readCell(wb, 0, 1).getTime());
       }
 
-      /**
-       * Sets cell value and writes file.
-       */
-      private void writeCell(String filename,
-     		 int rowIdx, short colIdx, Date date) throws Exception {
-          FileInputStream stream   = new FileInputStream(filename);
-          POIFSFileSystem fs       = new POIFSFileSystem(stream);
-          HSSFWorkbook    workbook = new HSSFWorkbook(fs);
+      private static void setCell(HSSFWorkbook workbook, int rowIdx, int colIdx, Date date) {
           HSSFSheet       sheet    = workbook.getSheetAt(0);
           HSSFRow         row      = sheet.getRow(rowIdx);
           HSSFCell        cell     = row.getCell(colIdx);
           
           if (cell == null) {
-        	  cell = row.createCell(colIdx);
+              cell = row.createCell((short)colIdx);
           }
           cell.setCellValue(date);
-          
-          // Write the file
-          stream.close();
-          FileOutputStream oStream = new FileOutputStream(filename);
-          workbook.write(oStream);
-          oStream.close();
       }
       
-      /**
-       * Reads cell value from file.
-       */
-      private Date readCell(String filename,
-     		 int rowIdx, short colIdx) throws Exception {
-          FileInputStream stream   = new FileInputStream(filename);
-          POIFSFileSystem fs       = new POIFSFileSystem(stream);
-          HSSFWorkbook    workbook = new HSSFWorkbook(fs);
+      private static Date readCell(HSSFWorkbook workbook, int rowIdx, int colIdx) {
           HSSFSheet       sheet    = workbook.getSheetAt(0);
           HSSFRow         row      = sheet.getRow(rowIdx);
           HSSFCell        cell     = row.getCell(colIdx);
@@ -201,12 +193,7 @@
     public void testActiveCell() throws Exception
     {
         //read in sample
-        String dir = System.getProperty("HSSF.testdata.path");
-        File sample = new File(dir + "/Simple.xls");
-        assertTrue("Simple.xls exists and is readable", sample.canRead());
-        FileInputStream fis = new FileInputStream(sample);
-        HSSFWorkbook book = new HSSFWorkbook(fis);
-        fis.close();
+        HSSFWorkbook book = openSample("Simple.xls");
         
         //check initial position
         HSSFSheet umSheet = book.getSheetAt(0);
@@ -225,14 +212,8 @@
             3, s.getActiveCellRow());
         
         //write book to temp file; read and verify that position is serialized
-        File temp = TempFile.createTempFile("testActiveCell", ".xls");
-        FileOutputStream fos = new FileOutputStream(temp);
-        book.write(fos);
-        fos.close();
-        
-        fis = new FileInputStream(temp);
-        book = new HSSFWorkbook(fis);
-        fis.close();
+        book = writeOutAndReadBack(book);
+
         umSheet = book.getSheetAt(0);
         s = umSheet.getSheet();
         
@@ -245,12 +226,8 @@
     /**
      * test that Cell Styles being applied to formulas remain intact
      */
-    public void testFormulaStyle()
-            throws java.io.IOException {
-        String readFilename = System.getProperty("HSSF.testdata.path");
+    public void testFormulaStyle() {
 
-            File file = TempFile.createTempFile("testFormulaStyle",".xls");
-            FileOutputStream out    = new FileOutputStream(file);
             HSSFWorkbook     wb     = new HSSFWorkbook();
             HSSFSheet        s      = wb.createSheet("testSheet1");
             HSSFRow          r      = null;
@@ -258,7 +235,7 @@
             HSSFCellStyle cs = wb.createCellStyle();
             HSSFFont f = wb.createFont();
             f.setFontHeightInPoints((short) 20);
-            f.setColor((short) HSSFColor.RED.index);
+            f.setColor(HSSFColor.RED.index);
             f.setBoldweight(f.BOLDWEIGHT_BOLD);
             f.setFontName("Arial Unicode MS");
             cs.setFillBackgroundColor((short)3);
@@ -273,13 +250,7 @@
             c.setCellStyle(cs);
             c.setCellFormula("2*3");
             
-            wb.write(out);
-            out.close();
-
-            assertTrue("file exists",file.exists());
-
-            FileInputStream in = new FileInputStream(file);
-            wb = new HSSFWorkbook(in);
+            wb = writeOutAndReadBack(wb);
             s = wb.getSheetAt(0);
             r = s.getRow(0);
             c = r.getCell((short)0);
@@ -293,17 +264,14 @@
             assertTrue("Left Border", (cs.getBorderLeft() == (short)1));
             assertTrue("Right Border", (cs.getBorderRight() == (short)1));
             assertTrue("Bottom Border", (cs.getBorderBottom() == (short)1));
-            
-            in.close();
     }
 
     /**
      * Test reading hyperlinks
      */
-    public void testWithHyperlink() throws Exception {
-        String dir = System.getProperty("HSSF.testdata.path");
-        File f = new File(dir, "WithHyperlink.xls");
-    	HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(f));
+    public void testWithHyperlink() {
+
+        HSSFWorkbook wb = openSample("WithHyperlink.xls");
 
         HSSFSheet sheet = wb.getSheetAt(0);
         HSSFCell cell = sheet.getRow(4).getCell((short)0);
@@ -320,10 +288,9 @@
      * Test reading hyperlinks
      */
     public void testWithTwoHyperlinks() throws Exception {
-        String dir = System.getProperty("HSSF.testdata.path");
-        File f = new File(dir, "WithTwoHyperLinks.xls");
-    	HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(f));
-    	
+
+        HSSFWorkbook wb = openSample("WithTwoHyperLinks.xls");
+        
         HSSFSheet sheet = wb.getSheetAt(0);
 
         HSSFCell cell1 = sheet.getRow(4).getCell((short)0);
@@ -346,38 +313,38 @@
     
     /*tests the toString() method of HSSFCell*/
     public void testToString() throws Exception {
-    	HSSFWorkbook wb = new HSSFWorkbook();
-    	HSSFSheet s = wb.createSheet("Sheet1");
-    	HSSFRow r = s.createRow(0);
-    	HSSFCell c;
-    	c=r.createCell((short) 0); c.setCellValue(true);
-    	assertEquals("Boolean", "TRUE", c.toString());
-    	c=r.createCell((short) 1); c.setCellValue(1.5);
-    	assertEquals("Numeric", "1.5", c.toString());
-    	c=r.createCell((short)(2)); c.setCellValue("Astring");
-    	assertEquals("String", "Astring", c.toString());
-    	c=r.createCell((short) 3); c.setCellErrorValue((byte) 7);
-    	assertEquals("Error", "#ERR7", c.toString());
-    	c=r.createCell((short)4); c.setCellFormula("A1+B1");
-    	assertEquals("Formula", "A1+B1", c.toString());
-    	
-    	//Write out the file, read it in, and then check cell values
-    	File f = File.createTempFile("testCellToString",".xls");
-    	wb.write(new FileOutputStream(f));
-    	wb = new HSSFWorkbook(new FileInputStream(f));
-    	assertTrue("File exists and can be read", f.canRead());
-    	
-    	s = wb.getSheetAt(0);r=s.getRow(0);
-    	c=r.getCell((short) 0);
-    	assertEquals("Boolean", "TRUE", c.toString());
-    	c=r.getCell((short) 1); 
-    	assertEquals("Numeric", "1.5", c.toString());
-    	c=r.getCell((short)(2)); 
-    	assertEquals("String", "Astring", c.toString());
-    	c=r.getCell((short) 3); 
-    	assertEquals("Error", "#ERR7", c.toString());
-    	c=r.getCell((short)4); 
-    	assertEquals("Formula", "A1+B1", c.toString());
+        HSSFWorkbook wb = new HSSFWorkbook();
+        HSSFSheet s = wb.createSheet("Sheet1");
+        HSSFRow r = s.createRow(0);
+        HSSFCell c;
+        c=r.createCell((short) 0); c.setCellValue(true);
+        assertEquals("Boolean", "TRUE", c.toString());
+        c=r.createCell((short) 1); c.setCellValue(1.5);
+        assertEquals("Numeric", "1.5", c.toString());
+        c=r.createCell((short)(2)); c.setCellValue(new HSSFRichTextString("Astring"));
+        assertEquals("String", "Astring", c.toString());
+        c=r.createCell((short) 3); c.setCellErrorValue((byte) 7);
+        assertEquals("Error", "#ERR7", c.toString());
+        c=r.createCell((short)4); c.setCellFormula("A1+B1");
+        assertEquals("Formula", "A1+B1", c.toString());
+        
+        //Write out the file, read it in, and then check cell values
+        File f = File.createTempFile("testCellToString",".xls");
+        wb.write(new FileOutputStream(f));
+        wb = new HSSFWorkbook(new FileInputStream(f));
+        assertTrue("File exists and can be read", f.canRead());
+        
+        s = wb.getSheetAt(0);r=s.getRow(0);
+        c=r.getCell((short) 0);
+        assertEquals("Boolean", "TRUE", c.toString());
+        c=r.getCell((short) 1); 
+        assertEquals("Numeric", "1.5", c.toString());
+        c=r.getCell((short)(2)); 
+        assertEquals("String", "Astring", c.toString());
+        c=r.getCell((short) 3); 
+        assertEquals("Error", "#ERR7", c.toString());
+        c=r.getCell((short)4); 
+        assertEquals("Formula", "A1+B1", c.toString());
     }
     
     public void testSetStringInFormulaCell_bug44606() {
@@ -392,10 +359,7 @@
     }
     
     public static void main(String [] args) {
-        System.out
-        .println("Testing org.apache.poi.hssf.usermodel.TestHSSFCell");
         junit.textui.TestRunner.run(TestHSSFCell.class);
     }
-
 }
 

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java?rev=645483&r1=645482&r2=645483&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java Mon Apr  7 05:51:50 2008
@@ -20,13 +20,14 @@
 
 import java.io.*;
 
+import org.apache.poi.hssf.HSSFTestDataSamples;
+
 /**
  * Tests TestHSSFCellComment.
  *
  * @author  Yegor Kozlov
  */
-
-public class TestHSSFComment extends TestCase {
+public final class TestHSSFComment extends TestCase {
 
     /**
      * Test that we can create cells and add comments to it.
@@ -103,12 +104,9 @@
     /**
      * test that we can read cell comments from an existing workbook.
      */
-    public static void testReadComments() throws Exception {
+    public static void testReadComments() {
 
-         String dir = System.getProperty("HSSF.testdata.path");
-         FileInputStream is = new FileInputStream(new File(dir, "SimpleWithComments.xls"));
-         HSSFWorkbook wb = new HSSFWorkbook(is);
-         is.close();
+         HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SimpleWithComments.xls");
 
          HSSFSheet sheet = wb.getSheetAt(0);
 
@@ -143,12 +141,9 @@
     /**
      * test that we can modify existing cell comments
      */
-    public static void testModifyComments() throws Exception {
+    public static void testModifyComments() throws IOException {
 
-         String dir = System.getProperty("HSSF.testdata.path");
-         FileInputStream is = new FileInputStream(new File(dir, "SimpleWithComments.xls"));
-         HSSFWorkbook wb = new HSSFWorkbook(is);
-         is.close();
+         HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SimpleWithComments.xls");
 
          HSSFSheet sheet = wb.getSheetAt(0);
 

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java?rev=645483&r1=645482&r2=645483&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java Mon Apr  7 05:51:50 2008
@@ -28,7 +28,7 @@
  */
 public final class TestHSSFConditionalFormatting extends TestCase
 {
-	public void testLastAndFirstColumns() 
+	public void testCreateCF() 
 	{
 		HSSFWorkbook workbook = new HSSFWorkbook();
 		HSSFSheet sheet = workbook.createSheet();
@@ -82,9 +82,27 @@
 		HSSFConditionalFormattingRule rule1 = cf.getRule(0);
 		assertEquals("7",rule1.getFormula1()); 
 		assertNull(rule1.getFormula2());
+		
+		HSSFFontFormatting    r1fp = rule1.getFontFormatting();
+		assertNotNull(r1fp);
+		
+		assertTrue(r1fp.isItalic());
+		assertFalse(r1fp.isBold());
+
+		HSSFBorderFormatting  r1bf = rule1.getBorderFormatting();
+		assertNotNull(r1bf);
+		assertEquals(HSSFBorderFormatting.BORDER_THIN, r1bf.getBorderBottom());
+		assertEquals(HSSFBorderFormatting.BORDER_THICK,r1bf.getBorderTop());
+		assertEquals(HSSFBorderFormatting.BORDER_DASHED,r1bf.getBorderLeft());
+		assertEquals(HSSFBorderFormatting.BORDER_DOTTED,r1bf.getBorderRight());
+
+		HSSFPatternFormatting r1pf = rule1.getPatternFormatting();
+		assertNotNull(r1pf);
+		assertEquals(HSSFColor.RED.index,r1pf.getFillBackgroundColor());		
 
 		HSSFConditionalFormattingRule rule2 = cf.getRule(1);
 		assertEquals("2",rule2.getFormula2()); 
 		assertEquals("1",rule2.getFormula1()); 
 	}
+	
 }

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java?rev=645483&r1=645482&r2=645483&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java Mon Apr  7 05:51:50 2008
@@ -19,16 +19,15 @@
 
 package org.apache.poi.hssf.usermodel;
 
-import junit.framework.TestCase;
-
-import java.io.FileInputStream;
-import java.util.Date;
 import java.util.Calendar;
+import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.TimeZone;
 
+import junit.framework.TestCase;
+
+import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.model.Workbook;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 
 /**
  * Class TestHSSFDateUtil
@@ -40,16 +39,13 @@
  * @author Alex Jacoby (ajacoby at gmail.com)
  * @version %I%, %G%
  */
+public class TestHSSFDateUtil extends TestCase {
 
-public class TestHSSFDateUtil
-        extends TestCase
-{
-
-	public static final int CALENDAR_JANUARY = 0;
-	public static final int CALENDAR_FEBRUARY = 1;
-	public static final int CALENDAR_MARCH = 2;
-	public static final int CALENDAR_APRIL = 3;
-	public static final int CALENDAR_JULY = 6;
+    public static final int CALENDAR_JANUARY = 0;
+    public static final int CALENDAR_FEBRUARY = 1;
+    public static final int CALENDAR_MARCH = 2;
+    public static final int CALENDAR_APRIL = 3;
+    public static final int CALENDAR_JULY = 6;
     public static final int CALENDAR_OCTOBER = 9;
     
     public TestHSSFDateUtil(String s)
@@ -223,77 +219,77 @@
      * Tests that we correctly detect date formats as such
      */
     public void testIdentifyDateFormats() {
-    	// First up, try with a few built in date formats
-    	short[] builtins = new short[] { 0x0e, 0x0f, 0x10, 0x16, 0x2d, 0x2e };
-    	for(int i=0; i<builtins.length; i++) {
-    		String formatStr = HSSFDataFormat.getBuiltinFormat(builtins[i]);
-    		assertTrue( HSSFDateUtil.isInternalDateFormat(builtins[i]) );
-    		assertTrue( HSSFDateUtil.isADateFormat(builtins[i],formatStr) );
-    	}
-    	
-    	// Now try a few built-in non date formats
-    	builtins = new short[] { 0x01, 0x02, 0x17, 0x1f, 0x30 };
-    	for(int i=0; i<builtins.length; i++) {
-    		String formatStr = HSSFDataFormat.getBuiltinFormat(builtins[i]);
-    		assertFalse( HSSFDateUtil.isInternalDateFormat(builtins[i]) );
-    		assertFalse( HSSFDateUtil.isADateFormat(builtins[i],formatStr) );
-    	}
-    	
-    	// Now for some non-internal ones
-    	// These come after the real ones
-    	int numBuiltins = HSSFDataFormat.getNumberOfBuiltinBuiltinFormats();
-    	assertTrue(numBuiltins < 60);
-    	short formatId = 60;
-    	assertFalse( HSSFDateUtil.isInternalDateFormat(formatId) );
-    	
-    	// Valid ones first
-    	String[] formats = new String[] {
-    			"yyyy-mm-dd", "yyyy/mm/dd", "yy/mm/dd", "yy/mmm/dd",
-    			"dd/mm/yy", "dd/mm/yyyy", "dd/mmm/yy",
-    			"dd-mm-yy", "dd-mm-yyyy",
-    			"DD-MM-YY", "DD-mm-YYYY",
-    			"dd\\-mm\\-yy", // Sometimes escaped
-    			
-    			// These crazy ones are valid
-    			"yyyy-mm-dd;@", "yyyy/mm/dd;@",
-    			"dd-mm-yy;@", "dd-mm-yyyy;@",
-    			// These even crazier ones are also valid
-    			// (who knows what they mean though...)
-    			"[$-F800]dddd\\,\\ mmm\\ dd\\,\\ yyyy",
-    			"[$-F900]ddd/mm/yyy",
-    	};
-    	for(int i=0; i<formats.length; i++) {
-    		assertTrue( HSSFDateUtil.isADateFormat(formatId, formats[i]) );
-    	}
-    	
-    	// Then time based ones too
-    	formats = new String[] {
-    			"yyyy-mm-dd hh:mm:ss", "yyyy/mm/dd HH:MM:SS", 
-    			"mm/dd HH:MM", "yy/mmm/dd SS",
-    	};
-    	for(int i=0; i<formats.length; i++) {
-    		assertTrue( HSSFDateUtil.isADateFormat(formatId, formats[i]) );
-    	}
-    	
-    	// Then invalid ones
-    	formats = new String[] {
-    			"yyyy*mm*dd", 
-    			"0.0", "0.000",
-    			"0%", "0.0%",
-    			"", null
-    	};
-    	for(int i=0; i<formats.length; i++) {
-    		assertFalse( HSSFDateUtil.isADateFormat(formatId, formats[i]) );
-    	}
-    	
-    	// And these are ones we probably shouldn't allow,
-    	//  but would need a better regexp
-    	formats = new String[] {
-    			"yyyy:mm:dd", 
-    	};
-    	for(int i=0; i<formats.length; i++) {
-    	//	assertFalse( HSSFDateUtil.isADateFormat(formatId, formats[i]) );
-    	}
+        // First up, try with a few built in date formats
+        short[] builtins = new short[] { 0x0e, 0x0f, 0x10, 0x16, 0x2d, 0x2e };
+        for(int i=0; i<builtins.length; i++) {
+            String formatStr = HSSFDataFormat.getBuiltinFormat(builtins[i]);
+            assertTrue( HSSFDateUtil.isInternalDateFormat(builtins[i]) );
+            assertTrue( HSSFDateUtil.isADateFormat(builtins[i],formatStr) );
+        }
+        
+        // Now try a few built-in non date formats
+        builtins = new short[] { 0x01, 0x02, 0x17, 0x1f, 0x30 };
+        for(int i=0; i<builtins.length; i++) {
+            String formatStr = HSSFDataFormat.getBuiltinFormat(builtins[i]);
+            assertFalse( HSSFDateUtil.isInternalDateFormat(builtins[i]) );
+            assertFalse( HSSFDateUtil.isADateFormat(builtins[i],formatStr) );
+        }
+        
+        // Now for some non-internal ones
+        // These come after the real ones
+        int numBuiltins = HSSFDataFormat.getNumberOfBuiltinBuiltinFormats();
+        assertTrue(numBuiltins < 60);
+        short formatId = 60;
+        assertFalse( HSSFDateUtil.isInternalDateFormat(formatId) );
+        
+        // Valid ones first
+        String[] formats = new String[] {
+                "yyyy-mm-dd", "yyyy/mm/dd", "yy/mm/dd", "yy/mmm/dd",
+                "dd/mm/yy", "dd/mm/yyyy", "dd/mmm/yy",
+                "dd-mm-yy", "dd-mm-yyyy",
+                "DD-MM-YY", "DD-mm-YYYY",
+                "dd\\-mm\\-yy", // Sometimes escaped
+                
+                // These crazy ones are valid
+                "yyyy-mm-dd;@", "yyyy/mm/dd;@",
+                "dd-mm-yy;@", "dd-mm-yyyy;@",
+                // These even crazier ones are also valid
+                // (who knows what they mean though...)
+                "[$-F800]dddd\\,\\ mmm\\ dd\\,\\ yyyy",
+                "[$-F900]ddd/mm/yyy",
+        };
+        for(int i=0; i<formats.length; i++) {
+            assertTrue( HSSFDateUtil.isADateFormat(formatId, formats[i]) );
+        }
+        
+        // Then time based ones too
+        formats = new String[] {
+                "yyyy-mm-dd hh:mm:ss", "yyyy/mm/dd HH:MM:SS", 
+                "mm/dd HH:MM", "yy/mmm/dd SS",
+        };
+        for(int i=0; i<formats.length; i++) {
+            assertTrue( HSSFDateUtil.isADateFormat(formatId, formats[i]) );
+        }
+        
+        // Then invalid ones
+        formats = new String[] {
+                "yyyy*mm*dd", 
+                "0.0", "0.000",
+                "0%", "0.0%",
+                "", null
+        };
+        for(int i=0; i<formats.length; i++) {
+            assertFalse( HSSFDateUtil.isADateFormat(formatId, formats[i]) );
+        }
+        
+        // And these are ones we probably shouldn't allow,
+        //  but would need a better regexp
+        formats = new String[] {
+                "yyyy:mm:dd", 
+        };
+        for(int i=0; i<formats.length; i++) {
+        //    assertFalse( HSSFDateUtil.isADateFormat(formatId, formats[i]) );
+        }
     }
 
     /**
@@ -301,11 +297,8 @@
      *  correctly
      */
     public void testOnARealFile() throws Exception {
-        String path     = System.getProperty("HSSF.testdata.path");
-        String filename = path + "/DateFormats.xls";
-        POIFSFileSystem fs =
-            new POIFSFileSystem(new FileInputStream(filename));
-        HSSFWorkbook workbook = new HSSFWorkbook(fs);
+
+        HSSFWorkbook workbook = HSSFTestDataSamples.openSampleWorkbook("DateFormats.xls");
         HSSFSheet sheet       = workbook.getSheetAt(0);
         Workbook wb           = workbook.getWorkbook();
         

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFHeaderFooter.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFHeaderFooter.java?rev=645483&r1=645482&r2=645483&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFHeaderFooter.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFHeaderFooter.java Mon Apr  7 05:51:50 2008
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,21 +14,17 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.usermodel;
 
-import junit.framework.TestCase;
-import org.apache.poi.hssf.usermodel.HSSFHeader;
-import org.apache.poi.hssf.usermodel.HSSFFooter;
-import org.apache.poi.hssf.usermodel.HSSFSheet;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileOutputStream;
+
+import junit.framework.TestCase;
+
+import org.apache.poi.hssf.HSSFTestDataSamples;
 
 /**
  * Tests row shifting capabilities.
@@ -37,117 +32,90 @@
  *
  * @author Shawn Laubach (slaubach at apache dot com)
  */
+public final class TestHSSFHeaderFooter extends TestCase {
 
-public class TestHSSFHeaderFooter extends TestCase {
+	/**
+	 * Tests that get header retreives the proper values.
+	 *
+	 * @author Shawn Laubach (slaubach at apache dot org)
+	 */
+	public void testRetrieveCorrectHeader() {
+		// Read initial file in
+		HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("EmbeddedChartHeaderTest.xls");
+		HSSFSheet s = wb.getSheetAt( 0 );
+    	HSSFHeader head = s.getHeader();
+    
+    	assertEquals("Top Left", head.getLeft());
+    	assertEquals("Top Center", head.getCenter());
+    	assertEquals("Top Right", head.getRight());
+	}
 
-    /**
-     * Constructor for TestHeaderFooter.
-     * @param arg0
-     */
-    public TestHSSFHeaderFooter(String arg0) {
-	super(arg0);
-    }
-
-    /**
-     * Tests that get header retreives the proper values.
-     *
-     * @author Shawn Laubach (slaubach at apache dot org)
-     */
-    public void testRetrieveCorrectHeader() throws Exception
-    {
-        // Read initial file in
-        String filename = System.getProperty( "HSSF.testdata.path" );
-        filename = filename + "/EmbeddedChartHeaderTest.xls";
-        FileInputStream fin = new FileInputStream( filename );
-        HSSFWorkbook wb = new HSSFWorkbook( fin );
-        fin.close();
-        HSSFSheet s = wb.getSheetAt( 0 );
-	HSSFHeader head = s.getHeader();
-
-	assertEquals("Top Left", head.getLeft());
-	assertEquals("Top Center", head.getCenter());
-	assertEquals("Top Right", head.getRight());
-    }
-
-    /**
-     * Tests that get header retreives the proper values.
-     *
-     * @author Shawn Laubach (slaubach at apache dot org)
-     */
-    public void testRetrieveCorrectFooter() throws Exception
-    {
-        // Read initial file in
-        String filename = System.getProperty( "HSSF.testdata.path" );
-        filename = filename + "/EmbeddedChartHeaderTest.xls";
-        FileInputStream fin = new FileInputStream( filename );
-        HSSFWorkbook wb = new HSSFWorkbook( fin );
-        fin.close();
-        HSSFSheet s = wb.getSheetAt( 0 );
-	HSSFFooter foot = s.getFooter();
-
-	assertEquals("Bottom Left", foot.getLeft());
-	assertEquals("Bottom Center", foot.getCenter());
-	assertEquals("Bottom Right", foot.getRight());
-    }
+	/**
+	 * Tests that get header retreives the proper values.
+	 *
+	 * @author Shawn Laubach (slaubach at apache dot org)
+	 */
+	public void testRetrieveCorrectFooter() {
+		// Read initial file in
+		HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("EmbeddedChartHeaderTest.xls");
+		HSSFSheet s = wb.getSheetAt( 0 );
+    	HSSFFooter foot = s.getFooter();
     
-    /**
+    	assertEquals("Bottom Left", foot.getLeft());
+    	assertEquals("Bottom Center", foot.getCenter());
+    	assertEquals("Bottom Right", foot.getRight());
+	}
+	
+	/**
 	 * Testcase for Bug 17039 HSSFHeader  doesnot support DBCS 
 	 */
-	public void testHeaderHas16bitCharacter() throws Exception {
-			HSSFWorkbook b = new HSSFWorkbook();
-			HSSFSheet s = b.createSheet("Test");
-			HSSFHeader h = s.getHeader();
-			h.setLeft("\u0391");
-			h.setCenter("\u0392");
-			h.setRight("\u0393");
-			
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			b.write(out);
-			
-			HSSFWorkbook b2 = new HSSFWorkbook(new ByteArrayInputStream(out.toByteArray()));
-			HSSFHeader h2 = b2.getSheet("Test").getHeader();
-			
-			assertEquals(h2.getLeft(),"\u0391");
-			assertEquals(h2.getCenter(),"\u0392");
-			assertEquals(h2.getRight(),"\u0393");
+	public void testHeaderHas16bitCharacter() {
+		HSSFWorkbook b = new HSSFWorkbook();
+		HSSFSheet s = b.createSheet("Test");
+		HSSFHeader h = s.getHeader();
+		h.setLeft("\u0391");
+		h.setCenter("\u0392");
+		h.setRight("\u0393");
+		
+		HSSFWorkbook b2 = HSSFTestDataSamples.writeOutAndReadBack(b);
+		HSSFHeader h2 = b2.getSheet("Test").getHeader();
+		
+		assertEquals(h2.getLeft(),"\u0391");
+		assertEquals(h2.getCenter(),"\u0392");
+		assertEquals(h2.getRight(),"\u0393");
 	}
 	
 	/**
 	 * Testcase for Bug 17039 HSSFFooter doesnot support DBCS 
 	 */
-	 public void testFooterHas16bitCharacter() throws Exception{
-			HSSFWorkbook b = new HSSFWorkbook();
-			HSSFSheet s = b.createSheet("Test");
-			HSSFFooter f = s.getFooter();
-			f.setLeft("\u0391");
-			f.setCenter("\u0392");
-			f.setRight("\u0393");
-			
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			b.write(out);
-			
-			HSSFWorkbook b2 = new HSSFWorkbook(new ByteArrayInputStream(out.toByteArray()));
-			HSSFFooter f2 = b2.getSheet("Test").getFooter();
-			
-			assertEquals(f2.getLeft(),"\u0391");
-			assertEquals(f2.getCenter(),"\u0392");
-			assertEquals(f2.getRight(),"\u0393");
+	 public void testFooterHas16bitCharacter() {
+		HSSFWorkbook b = new HSSFWorkbook();
+		HSSFSheet s = b.createSheet("Test");
+		HSSFFooter f = s.getFooter();
+		f.setLeft("\u0391");
+		f.setCenter("\u0392");
+		f.setRight("\u0393");
+		
+		HSSFWorkbook b2 = HSSFTestDataSamples.writeOutAndReadBack(b);
+		HSSFFooter f2 = b2.getSheet("Test").getFooter();
+		
+		assertEquals(f2.getLeft(),"\u0391");
+		assertEquals(f2.getCenter(),"\u0392");
+		assertEquals(f2.getRight(),"\u0393");
 	}
 
-	public void testReadDBCSHeaderFooter() throws Exception{
-		String readFilename = System.getProperty("HSSF.testdata.path");
-        FileInputStream in = new FileInputStream(readFilename+File.separator+"DBCSHeader.xls");
-        HSSFWorkbook wb = new HSSFWorkbook(in);
-        HSSFSheet s = wb.getSheetAt(0);
-        HSSFHeader h = s.getHeader();
-        assertEquals("Header Left " ,h.getLeft(),"\u090f\u0915");
-        assertEquals("Header Center " ,h.getCenter(),"\u0939\u094b\u0917\u093e");
-        assertEquals("Header Right " ,h.getRight(),"\u091c\u093e");
+	public void testReadDBCSHeaderFooter() {
+		HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("DBCSHeader.xls");
+		HSSFSheet s = wb.getSheetAt(0);
+		HSSFHeader h = s.getHeader();
+		assertEquals("Header Left " ,h.getLeft(),"\u090f\u0915");
+		assertEquals("Header Center " ,h.getCenter(),"\u0939\u094b\u0917\u093e");
+		assertEquals("Header Right " ,h.getRight(),"\u091c\u093e");
 		
-        HSSFFooter f = s.getFooter();
-        assertEquals("Footer Left " ,f.getLeft(),"\u091c\u093e");
-        assertEquals("Footer Center " ,f.getCenter(),"\u091c\u093e");
-        assertEquals("Footer Right " ,f.getRight(),"\u091c\u093e");
+		HSSFFooter f = s.getFooter();
+		assertEquals("Footer Left " ,f.getLeft(),"\u091c\u093e");
+		assertEquals("Footer Center " ,f.getCenter(),"\u091c\u093e");
+		assertEquals("Footer Right " ,f.getRight(),"\u091c\u093e");
 	}
 }
 

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFHyperlink.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFHyperlink.java?rev=645483&r1=645482&r2=645483&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFHyperlink.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFHyperlink.java Mon Apr  7 05:51:50 2008
@@ -14,28 +14,28 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
+
 package org.apache.poi.hssf.usermodel;
 
 import junit.framework.TestCase;
 
 import java.io.*;
 
+import org.apache.poi.hssf.HSSFTestDataSamples;
+
 /**
  * Tests HSSFHyperlink.
  *
  * @author  Yegor Kozlov
  */
-public class TestHSSFHyperlink extends TestCase {
-    protected String cwd = System.getProperty("HSSF.testdata.path");
+public final class TestHSSFHyperlink extends TestCase {
 
     /**
      * Test that we can read hyperlinks.
      */
-    public void testRead() throws Exception {
+    public void testRead() {
 
-        FileInputStream is = new FileInputStream(new File(cwd, "HyperlinksOnManySheets.xls"));
-        HSSFWorkbook wb = new HSSFWorkbook(is);
-        is.close();
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("HyperlinksOnManySheets.xls");
 
         HSSFSheet sheet;
         HSSFCell cell;
@@ -74,9 +74,7 @@
     }
 
     public void testModify() throws Exception {
-        FileInputStream is = new FileInputStream(new File(cwd, "HyperlinksOnManySheets.xls"));
-        HSSFWorkbook wb = new HSSFWorkbook(is);
-        is.close();
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("HyperlinksOnManySheets.xls");
 
         HSSFSheet sheet;
         HSSFCell cell;
@@ -168,10 +166,8 @@
         assertEquals("'Target Sheet'!A1", link.getAddress());
     }
 
-    public void testCloneSheet() throws Exception {
-        FileInputStream is = new FileInputStream(new File(cwd, "HyperlinksOnManySheets.xls"));
-        HSSFWorkbook wb = new HSSFWorkbook(is);
-        is.close();
+    public void testCloneSheet() {
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("HyperlinksOnManySheets.xls");
 
         HSSFCell cell;
         HSSFHyperlink link;

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPalette.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPalette.java?rev=645483&r1=645482&r2=645483&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPalette.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPalette.java Mon Apr  7 05:51:50 2008
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,7 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
+
 package org.apache.poi.hssf.usermodel;
 
 import java.io.File;
@@ -25,6 +24,8 @@
 import java.util.Iterator;
 import java.util.Map;
 import junit.framework.TestCase;
+
+import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.record.PaletteRecord;
 import org.apache.poi.hssf.util.HSSFColor;
 import org.apache.poi.util.TempFile;
@@ -32,15 +33,10 @@
 /**
  * @author Brian Sanders (bsanders at risklabs dot com)
  */
-public class TestHSSFPalette extends TestCase
-{
+public final class TestHSSFPalette extends TestCase {
     private PaletteRecord palette;
     private HSSFPalette hssfPalette;
     
-    public TestHSSFPalette(String name)
-    {
-        super(name);
-    }
     
     public void setUp()
     {
@@ -54,12 +50,7 @@
     public void testCustomPalette() throws IOException
     {
         //reading sample xls
-        String dir = System.getProperty("HSSF.testdata.path");
-        File sample = new File(dir + "/Simple.xls");
-        assertTrue("Simple.xls exists and is readable", sample.canRead());
-        FileInputStream fis = new FileInputStream(sample);
-        HSSFWorkbook book = new HSSFWorkbook(fis);
-        fis.close();
+        HSSFWorkbook book = HSSFTestDataSamples.openSampleWorkbook("Simple.xls");
         
         //creating custom palette
         HSSFPalette palette = book.getCustomPalette();
@@ -72,7 +63,7 @@
         book.write(fos);
         fos.close();
         
-        fis = new FileInputStream(temp);
+        FileInputStream fis = new FileInputStream(temp);
         book = new HSSFWorkbook(fis);
         fis.close();
         
@@ -98,14 +89,9 @@
     /**
      * Uses the palette from cell stylings
      */
-    public void testPaletteFromCellColours() throws Exception {
-        String dir = System.getProperty("HSSF.testdata.path");
-        File sample = new File(dir + "/SimpleWithColours.xls");
-        assertTrue("SimpleWithColours.xls exists and is readable", sample.canRead());
-        FileInputStream fis = new FileInputStream(sample);
-        HSSFWorkbook book = new HSSFWorkbook(fis);
-        fis.close();
-    	
+    public void testPaletteFromCellColours() {
+        HSSFWorkbook book = HSSFTestDataSamples.openSampleWorkbook("SimpleWithColours.xls");
+        
         HSSFPalette p = book.getCustomPalette();
         
         HSSFCell cellA = book.getSheetAt(0).getRow(0).getCell((short)0);
@@ -161,46 +147,46 @@
     }
     
     public void testFindSimilar() throws Exception {
-    	HSSFWorkbook book = new HSSFWorkbook();
-    	HSSFPalette p = book.getCustomPalette();
-    	
-    	
-    	// Add a few edge colours in
-    	p.setColorAtIndex((short)8, (byte)-1, (byte)0, (byte)0);
-    	p.setColorAtIndex((short)9, (byte)0, (byte)-1, (byte)0);
-    	p.setColorAtIndex((short)10, (byte)0, (byte)0, (byte)-1);
-    	
-    	// And some near a few of them
-    	p.setColorAtIndex((short)11, (byte)-1, (byte)2, (byte)2);
-    	p.setColorAtIndex((short)12, (byte)-2, (byte)2, (byte)10);
-    	p.setColorAtIndex((short)13, (byte)-4, (byte)0, (byte)0);
-    	p.setColorAtIndex((short)14, (byte)-8, (byte)0, (byte)0);
-    	
-    	assertEquals(
-    			"FFFF:0:0", p.getColor((short)8).getHexString()
-    	);
-    	
-    	// Now check we get the right stuff back
-    	assertEquals(
-    			p.getColor((short)8).getHexString(), 
-    			p.findSimilarColor((byte)-1, (byte)0, (byte)0).getHexString()
-    	);
-    	assertEquals(
-    			p.getColor((short)8).getHexString(), 
-    			p.findSimilarColor((byte)-2, (byte)0, (byte)0).getHexString()
-    	);
-    	assertEquals(
-    			p.getColor((short)8).getHexString(), 
-    			p.findSimilarColor((byte)-1, (byte)1, (byte)0).getHexString()
-    	);
-    	assertEquals(
-    			p.getColor((short)11).getHexString(), 
-    			p.findSimilarColor((byte)-1, (byte)2, (byte)1).getHexString()
-    	);
-    	assertEquals(
-    			p.getColor((short)12).getHexString(), 
-    			p.findSimilarColor((byte)-1, (byte)2, (byte)10).getHexString()
-    	);
+        HSSFWorkbook book = new HSSFWorkbook();
+        HSSFPalette p = book.getCustomPalette();
+        
+        
+        // Add a few edge colours in
+        p.setColorAtIndex((short)8, (byte)-1, (byte)0, (byte)0);
+        p.setColorAtIndex((short)9, (byte)0, (byte)-1, (byte)0);
+        p.setColorAtIndex((short)10, (byte)0, (byte)0, (byte)-1);
+        
+        // And some near a few of them
+        p.setColorAtIndex((short)11, (byte)-1, (byte)2, (byte)2);
+        p.setColorAtIndex((short)12, (byte)-2, (byte)2, (byte)10);
+        p.setColorAtIndex((short)13, (byte)-4, (byte)0, (byte)0);
+        p.setColorAtIndex((short)14, (byte)-8, (byte)0, (byte)0);
+        
+        assertEquals(
+                "FFFF:0:0", p.getColor((short)8).getHexString()
+        );
+        
+        // Now check we get the right stuff back
+        assertEquals(
+                p.getColor((short)8).getHexString(), 
+                p.findSimilarColor((byte)-1, (byte)0, (byte)0).getHexString()
+        );
+        assertEquals(
+                p.getColor((short)8).getHexString(), 
+                p.findSimilarColor((byte)-2, (byte)0, (byte)0).getHexString()
+        );
+        assertEquals(
+                p.getColor((short)8).getHexString(), 
+                p.findSimilarColor((byte)-1, (byte)1, (byte)0).getHexString()
+        );
+        assertEquals(
+                p.getColor((short)11).getHexString(), 
+                p.findSimilarColor((byte)-1, (byte)2, (byte)1).getHexString()
+        );
+        assertEquals(
+                p.getColor((short)12).getHexString(), 
+                p.findSimilarColor((byte)-1, (byte)2, (byte)10).getHexString()
+        );
     }
     
     /**

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java?rev=645483&r1=645482&r2=645483&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java Mon Apr  7 05:51:50 2008
@@ -17,13 +17,13 @@
 package org.apache.poi.hssf.usermodel;
 
 import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
 import junit.framework.TestCase;
 
+import org.apache.poi.hssf.HSSFTestDataSamples;
+
 /**
  * Test <code>HSSFPicture</code>.
  *
@@ -58,9 +58,8 @@
      private static byte[] getTestDataFileContent(String fileName) {
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
 
-        String readFilename = System.getProperty("HSSF.testdata.path");
         try {
-            InputStream fis = new FileInputStream(readFilename+File.separator+fileName);
+            InputStream fis = HSSFTestDataSamples.openSampleFileStream(fileName);
 
             byte[] buf = new byte[512];
             while(true) {

Modified: poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java?rev=645483&r1=645482&r2=645483&view=diff
==============================================================================
--- poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java (original)
+++ poi/branches/ooxml/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java Mon Apr  7 05:51:50 2008
@@ -15,20 +15,19 @@
    limitations under the License.
 ==================================================================== */
 
-
-/*
- * HSSFWorkbook.java
- *
- * Created on September 30, 2001, 3:37 PM
- */
 package org.apache.poi.hssf.usermodel;
 
-import junit.framework.TestCase;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
 
 import javax.imageio.ImageIO;
-import java.io.*;
-import java.util.*;
-import java.awt.image.BufferedImage;
+
+import junit.framework.TestCase;
+
+import org.apache.poi.hssf.HSSFTestDataSamples;
 
 /**
  * Test <code>HSSFPictureData</code>.
@@ -37,14 +36,11 @@
  * @author Yegor Kozlov (yegor at apache dot org)
  * @author Trejkaz (trejkaz at trypticon dot org)
  */
-public class TestHSSFPictureData extends TestCase{
+public final class TestHSSFPictureData extends TestCase{
 
-    static String cwd = System.getProperty("HSSF.testdata.path");
 
     public void testPictures() throws IOException {
-        FileInputStream is = new FileInputStream(new File(cwd, "SimpleWithImages.xls"));
-        HSSFWorkbook wb = new HSSFWorkbook(is);
-        is.close();
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SimpleWithImages.xls");
 
         List lst = wb.getAllPictures();
         //assertEquals(2, lst.size());
@@ -69,6 +65,5 @@
                 //TODO: test code for PICT, WMF and EMF
             }
         }
-
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org