You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ye...@apache.org on 2009/03/29 18:10:42 UTC

svn commit: r759714 [1/2] - in /poi/trunk/src: java/org/apache/poi/hssf/usermodel/ ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/ ooxml/java/org/apache/poi/xssf/model/ ooxml/java/org/apache/poi/xssf/usermodel/ ooxml/testcases/org/apache/poi/xssf/ ...

Author: yegor
Date: Sun Mar 29 16:10:40 2009
New Revision: 759714

URL: http://svn.apache.org/viewvc?rev=759714&view=rev
Log:
more refactoring of common ss tests

Added:
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java   (with props)
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java   (with props)
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFont.java   (with props)
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestPicture.java   (with props)
Removed:
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBug43093.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestNamedRange.java
Modified:
    poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
    poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java
    poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFFont.java
    poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFName.java
    poi/trunk/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Font.java
    poi/trunk/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Picture.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
    poi/trunk/src/testcases/org/apache/poi/hssf/HSSFITestDataProvider.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/AllUserModelTests.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestUnicodeWorkbook.java
    poi/trunk/src/testcases/org/apache/poi/ss/ITestDataProvider.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java

Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java Sun Mar 29 16:10:40 2009
@@ -74,18 +74,6 @@
  * @author  Yegor Kozlov cell comments support
  */
 public class HSSFCell implements Cell {
-    /** Numeric Cell type (0) @see #setCellType(int) @see #getCellType() */
-    public final static int CELL_TYPE_NUMERIC = 0;
-    /** String  Cell type (1) @see #setCellType(int) @see #getCellType() */
-    public final static int CELL_TYPE_STRING  = 1;
-    /** Formula Cell type (2) @see #setCellType(int) @see #getCellType() */
-    public final static int CELL_TYPE_FORMULA = 2;
-    /** Blank   Cell type (3) @see #setCellType(int) @see #getCellType() */
-    public final static int CELL_TYPE_BLANK   = 3;
-    /** Boolean Cell type (4) @see #setCellType(int) @see #getCellType() */
-    public final static int CELL_TYPE_BOOLEAN = 4;
-    /** Error   Cell type (5) @see #setCellType(int) @see #getCellType() */
-    public final static int CELL_TYPE_ERROR   = 5;
 
     private static final String FILE_FORMAT_NAME  = "BIFF8";
     /**

Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java Sun Mar 29 16:10:40 2009
@@ -44,195 +44,6 @@
     private short                index                      = 0;
     private Workbook             workbook                   = null;
 
-    /**
-     * general (normal) horizontal alignment
-     */
-
-    public final static short    ALIGN_GENERAL              = 0x0;
-
-    /**
-     * left-justified horizontal alignment
-     */
-
-    public final static short    ALIGN_LEFT                 = 0x1;
-
-    /**
-     * center horizontal alignment
-     */
-
-    public final static short    ALIGN_CENTER               = 0x2;
-
-    /**
-     * right-justified horizontal alignment
-     */
-
-    public final static short    ALIGN_RIGHT                = 0x3;
-
-    /**
-     * fill? horizontal alignment
-     */
-
-    public final static short    ALIGN_FILL                 = 0x4;
-
-    /**
-     * justified horizontal alignment
-     */
-
-    public final static short    ALIGN_JUSTIFY              = 0x5;
-
-    /**
-     * center-selection? horizontal alignment
-     */
-
-    public final static short    ALIGN_CENTER_SELECTION     = 0x6;
-
-    /**
-     * top-aligned vertical alignment
-     */
-
-    public final static short    VERTICAL_TOP               = 0x0;
-
-    /**
-     * center-aligned vertical alignment
-     */
-
-    public final static short    VERTICAL_CENTER            = 0x1;
-
-    /**
-     * bottom-aligned vertical alignment
-     */
-
-    public final static short    VERTICAL_BOTTOM            = 0x2;
-
-    /**
-     * vertically justified vertical alignment
-     */
-
-    public final static short    VERTICAL_JUSTIFY           = 0x3;
-
-    /**
-     * No border
-     */
-
-    public final static short    BORDER_NONE                = 0x0;
-
-    /**
-     * Thin border
-     */
-
-    public final static short    BORDER_THIN                = 0x1;
-
-    /**
-     * Medium border
-     */
-
-    public final static short    BORDER_MEDIUM              = 0x2;
-
-    /**
-     * dash border
-     */
-
-    public final static short    BORDER_DASHED              = 0x3;
-
-    /**
-     * dot border
-     */
-
-    public final static short    BORDER_HAIR              = 0x4;
-
-    /**
-     * Thick border
-     */
-
-    public final static short    BORDER_THICK               = 0x5;
-
-    /**
-     * double-line border
-     */
-
-    public final static short    BORDER_DOUBLE              = 0x6;
-
-    /**
-     * hair-line border
-     */
-
-    public final static short    BORDER_DOTTED                = 0x7;
-
-    /**
-     * Medium dashed border
-     */
-
-    public final static short    BORDER_MEDIUM_DASHED       = 0x8;
-
-    /**
-     * dash-dot border
-     */
-
-    public final static short    BORDER_DASH_DOT            = 0x9;
-
-    /**
-     * medium dash-dot border
-     */
-
-    public final static short    BORDER_MEDIUM_DASH_DOT     = 0xA;
-
-    /**
-     * dash-dot-dot border
-     */
-
-    public final static short    BORDER_DASH_DOT_DOT        = 0xB;
-
-    /**
-     * medium dash-dot-dot border
-     */
-
-    public final static short    BORDER_MEDIUM_DASH_DOT_DOT = 0xC;
-
-    /**
-     * slanted dash-dot border
-     */
-
-    public final static short    BORDER_SLANTED_DASH_DOT    = 0xD;
-
-    /**  No background */
-    public final static short     NO_FILL             = 0  ;
-    /**  Solidly filled */
-    public final static short     SOLID_FOREGROUND    = 1  ;
-    /**  Small fine dots */
-    public final static short     FINE_DOTS           = 2  ;
-    /**  Wide dots */
-    public final static short     ALT_BARS            = 3  ;
-    /**  Sparse dots */
-    public final static short     SPARSE_DOTS         = 4  ;
-    /**  Thick horizontal bands */
-    public final static short     THICK_HORZ_BANDS    = 5  ;
-    /**  Thick vertical bands */
-    public final static short     THICK_VERT_BANDS    = 6  ;
-    /**  Thick backward facing diagonals */
-    public final static short     THICK_BACKWARD_DIAG = 7  ;
-    /**  Thick forward facing diagonals */
-    public final static short     THICK_FORWARD_DIAG  = 8  ;
-    /**  Large spots */
-    public final static short     BIG_SPOTS           = 9  ;
-    /**  Brick-like layout */
-    public final static short     BRICKS              = 10 ;
-    /**  Thin horizontal bands */
-    public final static short     THIN_HORZ_BANDS     = 11 ;
-    /**  Thin vertical bands */
-    public final static short     THIN_VERT_BANDS     = 12 ;
-    /**  Thin backward diagonal */
-    public final static short     THIN_BACKWARD_DIAG  = 13 ;
-    /**  Thin forward diagonal */
-    public final static short     THIN_FORWARD_DIAG   = 14 ;
-    /**  Squares */
-    public final static short     SQUARES             = 15 ;
-    /**  Diamonds */
-    public final static short     DIAMONDS            = 16 ;
-    /**  Less Dots */
-    public final static short     LESS_DOTS           = 17 ;
-    /**  Least Dots */
-    public final static short     LEAST_DOTS          = 18 ;
-
 
     /** Creates new HSSFCellStyle why would you want to do this?? */
     protected HSSFCellStyle(short index, ExtendedFormatRecord rec, HSSFWorkbook workbook)

Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFFont.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFFont.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFFont.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFFont.java Sun Mar 29 16:10:40 2009
@@ -31,6 +31,13 @@
  */
 public final class HSSFFont implements Font {
 
+    /**
+     * Arial font
+     */
+
+    public final static String FONT_ARIAL = "Arial";
+
+
     private FontRecord         font;
     private short              index;
 

Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFName.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFName.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFName.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFName.java Sun Mar 29 16:10:40 2009
@@ -112,6 +112,8 @@
      * @throws IllegalArgumentException if the name is invalid or the name already exists (case-insensitive)
      */
     public void setNameName(String nameName){
+        validateName(nameName);
+
         Workbook wb = _book.getWorkbook();
         _definedNameRec.setNameText(nameName);
 
@@ -131,6 +133,15 @@
         }
     }
 
+    private static void validateName(String name){
+        if(name.length() == 0)  throw new IllegalArgumentException("Name cannot be blank");
+        
+        char c = name.charAt(0);
+        if(!(c == '_' || Character.isLetter(c)) || name.indexOf(' ') != -1) {
+            throw new IllegalArgumentException("Invalid name: '"+name+"'; Names must begin with a letter or underscore and not contain spaces");
+        }
+    }
+
     /**
      * Returns the formula that the name is defined to refer to.
      *

Modified: poi/trunk/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Font.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Font.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Font.java (original)
+++ poi/trunk/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Font.java Sun Mar 29 16:10:40 2009
@@ -19,13 +19,6 @@
 
 
 public interface Font {
-
-    /**
-     * Arial font
-     */
-
-    public final static String FONT_ARIAL = "Arial";
-
     /**
      * Normal boldness (not bold)
      */
@@ -116,7 +109,6 @@
     /**
      * set the name for the font (i.e. Arial)
      * @param name  String representing the name of the font to use
-     * @see #FONT_ARIAL
      */
 
     void setFontName(String name);
@@ -124,7 +116,6 @@
     /**
      * get the name for the font (i.e. Arial)
      * @return String representing the name of the font to use
-     * @see #FONT_ARIAL
      */
 
     String getFontName();

Modified: poi/trunk/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Picture.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Picture.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Picture.java (original)
+++ poi/trunk/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/Picture.java Sun Mar 29 16:10:40 2009
@@ -36,4 +36,7 @@
      * <code>resize(2.0)</code> resizes to 200% of the original.
      */
     void resize(double scale);
+
+    ClientAnchor getPreferredSize();
+
 }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java Sun Mar 29 16:10:40 2009
@@ -26,6 +26,7 @@
 import org.apache.poi.ss.usermodel.FontFamily;
 import org.apache.poi.ss.usermodel.FontScheme;
 import org.apache.poi.ss.usermodel.BuiltinFormats;
+import org.apache.poi.ss.usermodel.Font;
 import org.apache.poi.xssf.usermodel.XSSFCellStyle;
 import org.apache.poi.xssf.usermodel.XSSFFont;
 import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder;
@@ -468,9 +469,9 @@
      */
     public XSSFFont findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) {
         for (XSSFFont font : fonts) {
-            if (	(font.getBold() == (boldWeight == XSSFFont.BOLDWEIGHT_BOLD))
+            if (	(font.getBoldweight() == boldWeight)
                     && font.getColor() == color
-                    && font.getFontHeightInPoints() == fontHeight
+                    && font.getFontHeight() == fontHeight
                     && font.getFontName().equals(name)
                     && font.getItalic() == italic
                     && font.getStrikeout() == strikeout

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFont.java Sun Mar 29 16:10:40 2009
@@ -66,7 +66,7 @@
     protected XSSFFont() {
         this.ctFont = CTFont.Factory.newInstance();
         setFontName(DEFAULT_FONT_NAME);
-        setFontHeight(DEFAULT_FONT_SIZE);
+        setFontHeight((double)DEFAULT_FONT_SIZE);
     }
 
     /**
@@ -154,21 +154,16 @@
         CTFontSize size = ctFont.sizeOfSzArray() == 0 ? null : ctFont.getSzArray(0);
         if (size != null) {
             double fontHeight = size.getVal();
-            return (short) fontHeight;
+            return (short)(fontHeight*20);
         } else
-            return DEFAULT_FONT_SIZE;
+            return (short)(DEFAULT_FONT_SIZE*20);
     }
 
     /**
      * @see #getFontHeight()
      */
     public short getFontHeightInPoints() {
-        CTFontSize size = ctFont.sizeOfSzArray() == 0 ? null : ctFont.getSzArray(0);
-        if (size != null) {
-            double fontHeight = size.getVal();
-            return (short) fontHeight;
-        } else
-            return DEFAULT_FONT_SIZE;
+        return (short)(getFontHeight()/20);
     }
 
     /**
@@ -347,7 +342,7 @@
      * @param height - height in points
      */
     public void setFontHeight(short height) {
-        setFontHeight((double) height);
+        setFontHeight((double) height/20);
     }
 
     /**
@@ -366,7 +361,7 @@
      * @link #setFontHeight
      */
     public void setFontHeightInPoints(short height) {
-        setFontHeight(height);
+        setFontHeight((double)height);
     }
 
     /**

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFName.java Sun Mar 29 16:10:40 2009
@@ -359,6 +359,7 @@
     }
 
     private static void validateName(String name){
+        if(name.length() == 0)  throw new IllegalArgumentException("Name cannot be blank");
         char c = name.charAt(0);
         if(!(c == '_' || Character.isLetter(c)) || name.indexOf(' ') != -1) {
             throw new IllegalArgumentException("Invalid name: '"+name+"'; Names must begin with a letter or underscore and not contain spaces");

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java Sun Mar 29 16:10:40 2009
@@ -436,6 +436,11 @@
      */
     public XSSFSheet createSheet() {
         String sheetname = "Sheet" + (sheets.size());
+        int idx = 0;
+        while(getSheet(sheetname) != null) {
+            sheetname = "Sheet" + idx;
+            idx++;
+        }
         return createSheet(sheetname);
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java Sun Mar 29 16:10:40 2009
@@ -19,6 +19,7 @@
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.poi.hssf.HSSFTestDataSamples;
 
 /**
  * @author Yegor Kozlov
@@ -41,6 +42,10 @@
         return new XSSFWorkbook();
     }
 
+    public byte[] getTestDataFileContent(String fileName) {
+        return HSSFTestDataSamples.getTestDataFileContent(fileName);
+    }
+
     private XSSFITestDataProvider(){}
     private static XSSFITestDataProvider inst = new XSSFITestDataProvider();
     public static XSSFITestDataProvider getInstance(){

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java Sun Mar 29 16:10:40 2009
@@ -26,16 +26,21 @@
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.openxml4j.opc.PackagingURIHelper;
 import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.apache.poi.xssf.XSSFITestDataProvider;
+import org.apache.poi.ss.usermodel.BaseTestBugzillaIssues;
 
-public class TestXSSFBugs extends TestCase {
-    private String getFilePath(String file) {
-        File xml = new File(
-                System.getProperty("HSSF.testdata.path") +
-                File.separator + file
-        );
-        assertTrue(xml.exists());
+public class TestXSSFBugs extends BaseTestBugzillaIssues {
+    @Override
+    protected XSSFITestDataProvider getTestDataProvider(){
+        return XSSFITestDataProvider.getInstance();
+    }
 
-        return xml.toString();
+    /**
+     * test writing a file with large number of unique strings,
+     * open resulting file in Excel to check results!
+     */
+    public void test15375_2() {
+        baseTest15375(1000);
     }
 
     /**
@@ -43,7 +48,7 @@
      *  the wrong sheet name
      */
     public void test45430() throws Exception {
-        XSSFWorkbook wb = new XSSFWorkbook(getFilePath("45430.xlsx"));
+        XSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("45430.xlsx");
         assertFalse(wb.isMacroEnabled());
         assertEquals(3, wb.getNumberOfNames());
 
@@ -72,8 +77,8 @@
      * We should carry vba macros over after save
      */
     public void test45431() throws Exception {
-        OPCPackage pkg = OPCPackage.open(getFilePath("45431.xlsm"));
-        XSSFWorkbook wb = new XSSFWorkbook(pkg);
+        XSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("45431.xlsm");
+        OPCPackage pkg = wb.getPackage();
         assertTrue(wb.isMacroEnabled());
 
         // Check the various macro related bits can be found
@@ -115,10 +120,5 @@
                 PackagingURIHelper.createPartName("/xl/drawings/vmlDrawing1.vml")
         );
         assertNotNull(drw);
-
-        // For testing with excel
-//		FileOutputStream fout = new FileOutputStream("/tmp/foo.xlsm");
-//		nwb.write(fout);
-//		fout.close();
     }
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java Sun Mar 29 16:10:40 2009
@@ -21,6 +21,7 @@
 
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.apache.poi.xssf.XSSFITestDataProvider;
 import org.apache.poi.xssf.usermodel.XSSFColor;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBooleanProperty;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
@@ -35,7 +36,16 @@
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.STUnderlineValues;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignRun;
 
-public final class TestXSSFFont extends TestCase{
+public final class TestXSSFFont extends BaseTestFont{
+
+    @Override
+    protected XSSFITestDataProvider getTestDataProvider(){
+        return XSSFITestDataProvider.getInstance();
+    }
+
+    public void testDefaultFont() {
+        baseTestDefaultFont("Calibri", (short)220, IndexedColors.BLACK.getIndex());
+    }
 
 	public void testConstructor() {
 		XSSFFont xssfFont=new XSSFFont();
@@ -119,9 +129,9 @@
 		ctFont.setSzArray(0,size);
 
 		XSSFFont xssfFont=new XSSFFont(ctFont);
-		assertEquals(11,xssfFont.getFontHeight());
+		assertEquals(11,xssfFont.getFontHeightInPoints());
 
-		xssfFont.setFontHeight((short)20);
+		xssfFont.setFontHeight(20);
 		assertEquals(20.0, ctFont.getSzArray(0).getVal(), 0.0);
 	}
 
@@ -236,203 +246,4 @@
 		font.setTypeOffset(XSSFFont.SS_SUPER);
 		assertEquals(STVerticalAlignRun.SUPERSCRIPT,ctFont.getVertAlignArray(0).getVal());
 	}
-
-	/**
-	 * Tests that we can define fonts to a new
-	 *  file, save, load, and still see them
-	 * @throws Exception
-	 */
-	public void testCreateSave() {
-		XSSFWorkbook wb = new XSSFWorkbook();
-		XSSFSheet s1 = wb.createSheet();
-		Row r1 = s1.createRow(0);
-		Cell r1c1 = r1.createCell(0);
-		r1c1.setCellValue(2.2);
-
-		assertEquals(1, wb.getNumberOfFonts());
-
-		XSSFFont font=wb.createFont();
-		font.setBold(true);
-		font.setStrikeout(true);
-		font.setColor(IndexedColors.YELLOW.getIndex());
-		font.setFontName("Courier");
-		wb.createCellStyle().setFont(font);
-		assertEquals(2, wb.getNumberOfFonts());
-
-		CellStyle cellStyleTitle=wb.createCellStyle();
-		cellStyleTitle.setFont(font);
-		r1c1.setCellStyle(cellStyleTitle);
-
-		// Save and re-load
-		wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
-		s1 = wb.getSheetAt(0);
-
-		assertEquals(2, wb.getNumberOfFonts());
-        short idx = s1.getRow(0).getCell(0).getCellStyle().getFontIndex();
-        Font fnt = wb.getFontAt(idx);
-        assertNotNull(fnt);
-		assertEquals(IndexedColors.YELLOW.getIndex(), fnt.getColor());
-		assertEquals("Courier", fnt.getFontName());
-
-		// Now add an orphaned one
-		XSSFFont font2 = wb.createFont();
-		font2.setItalic(true);
-		font2.setFontHeightInPoints((short)15);
-		wb.createCellStyle().setFont(font2);
-		assertEquals(3, wb.getNumberOfFonts());
-
-		// Save and re-load
-		wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
-		s1 = wb.getSheetAt(0);
-
-		assertEquals(3, wb.getNumberOfFonts());
-		assertNotNull(wb.getFontAt((short)1));
-		assertNotNull(wb.getFontAt((short)2));
-
-		assertEquals(15, wb.getFontAt((short)2).getFontHeightInPoints());
-		assertEquals(true, wb.getFontAt((short)2).getItalic());
-	}
-
-	public void testXSSFFont() {
-		XSSFWorkbook workbook=new XSSFWorkbook();
-		//Font font1=workbook.createFont();
-
-		Sheet sheet=workbook.createSheet("sheet 1 - test font");
-
-
-		Row row=sheet.createRow(0);
-		Cell cell=row.createCell(0);
-		cell.setCellValue(new XSSFRichTextString("XSSFFont test example file"));
-		XSSFFont font=new XSSFFont();
-		font.setBold(true);
-		font.setFontHeightInPoints((short)22);
-		font.setColor(IndexedColors.BLUE.getIndex());
-		font.setFontName("Verdana");
-		CellStyle cellStyleTitle=workbook.createCellStyle();
-		cellStyleTitle.setFont(font);
-		cell.setCellStyle(cellStyleTitle);
-
-
-		row=sheet.createRow(3);
-		XSSFFont font1=new XSSFFont();
-		font1.setBold(true);
-		font1.setItalic(true);
-		font1.setFontHeightInPoints((short)18);
-		font1.setColor(IndexedColors.RED.getIndex());
-		font1.setFontName("Arial");
-		CellStyle cellStyle1=workbook.createCellStyle();
-		cellStyle1.setFont(font1);
-
-		Cell cell1=row.createCell(0);
-		cell1.setCellValue(new XSSFRichTextString("red bold 18pt italic Arial"));
-		cell1.setCellStyle(cellStyle1);
-
-		
-		row=sheet.createRow(4);
-		Font font2=new XSSFFont();
-		font2.setFontHeight((short)1);
-		font2.setFontName("Courier");
-		font2.setColor(IndexedColors.BLACK.getIndex());
-		font2.setUnderline(Font.U_DOUBLE);
-		CellStyle cellStyle2=workbook.createCellStyle();
-		cellStyle2.setFont(font2);
-
-		Cell cell2=row.createCell(0);
-		cell2.setCellValue(new XSSFRichTextString("Something in courier underlined"));
-		cell2.setCellStyle(cellStyle2);
-
-
-		row=sheet.createRow(5);
-		cell1=row.createCell(0);
-		Font font3=new XSSFFont();
-		font3.setFontHeightInPoints((short)9);
-		font3.setFontName("Times");
-		font3.setStrikeout(true);
-		font3.setColor(IndexedColors.PINK.getIndex());
-		CellStyle cellStyle3=workbook.createCellStyle();
-		cellStyle3.setFont(font3);
-
-		cell1.setCellValue(new XSSFRichTextString("pink italic Times 9pt strikeout!!!"));
-		cell1.setCellStyle(cellStyle3);
-
-		XSSFTestDataSamples.writeOutAndReadBack(workbook);
-	}
-
-    /**
-     * Test that fonts get added properly
-     * 
-     * @see org.apache.poi.hssf.usermodel.TestBugs#test45338()
-     */
-    public void test45338() {
-        XSSFWorkbook wb = new XSSFWorkbook();
-        assertEquals(1, wb.getNumberOfFonts());
-
-        XSSFSheet s = wb.createSheet();
-        s.createRow(0);
-        s.createRow(1);
-        s.getRow(0).createCell(0);
-        s.getRow(1).createCell(0);
-
-        assertEquals(1, wb.getNumberOfFonts());
-
-        XSSFFont f1 = wb.getFontAt((short)0);
-        assertEquals(XSSFFont.BOLDWEIGHT_NORMAL, f1.getBoldweight());
-
-        // Check that asking for the same font
-        //  multiple times gives you the same thing.
-        // Otherwise, our tests wouldn't work!
-        assertEquals(wb.getFontAt((short)0), wb.getFontAt((short)0));
-
-        // Look for a new font we have
-        //  yet to add
-        assertNull(
-            wb.findFont(
-                (short)11, (short)123, (short)22,
-                "Thingy", false, true, (short)2, (byte)2
-            )
-        );
-
-        XSSFFont nf = wb.createFont();
-        assertEquals(2, wb.getNumberOfFonts());
-
-        assertEquals(1, nf.getIndex());
-        assertEquals(nf, wb.getFontAt((short)1));
-
-        nf.setBoldweight((short)11);
-        nf.setColor((short)123);
-        nf.setFontHeight((short)22);
-        nf.setFontName("Thingy");
-        nf.setItalic(false);
-        nf.setStrikeout(true);
-        nf.setTypeOffset((short)2);
-        nf.setUnderline((byte)2);
-
-        assertEquals(2, wb.getNumberOfFonts());
-        assertEquals(nf, wb.getFontAt((short)1));
-
-        assertEquals(wb.getFontAt((short)1), wb.getFontAt((short)1));
-        assertTrue(wb.getFontAt((short)0) != wb.getFontAt((short)1));
-
-        // Find it now
-        assertNotNull(
-            wb.findFont(
-                (short)11, (short)123, (short)22,
-                "Thingy", false, true, (short)2, (byte)2
-            )
-        );
-        assertEquals(
-            1,
-            wb.findFont(
-                   (short)11, (short)123, (short)22,
-                   "Thingy", false, true, (short)2, (byte)2
-               ).getIndex()
-        );
-        assertEquals(nf,
-               wb.findFont(
-                   (short)11, (short)123, (short)22,
-                   "Thingy", false, true, (short)2, (byte)2
-               )
-        );
-    }
-
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java Sun Mar 29 16:10:40 2009
@@ -31,4 +31,46 @@
         return XSSFITestDataProvider.getInstance();
     }
 
+    //TODO combine testRepeatingRowsAndColums() for HSSF and XSSF
+    public void testRepeatingRowsAndColums() {
+        // First test that setting RR&C for same sheet more than once only creates a
+        // single  Print_Titles built-in record
+        XSSFWorkbook wb = getTestDataProvider().createWorkbook();
+        XSSFSheet sheet = wb.createSheet("FirstSheet");
+
+        // set repeating rows and columns twice for the first sheet
+        for (int i = 0; i < 2; i++) {
+            wb.setRepeatingRowsAndColumns(0, 0, 0, 0, 3);
+            //sheet.createFreezePane(0, 3);
+        }
+        assertEquals(1, wb.getNumberOfNames());
+        XSSFName nr1 = wb.getNameAt(0);
+
+        assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr1.getNameName());
+        assertEquals("'FirstSheet'!$A:$A,'FirstSheet'!$1:$4", nr1.getRefersToFormula());
+
+        // Save and re-open
+        XSSFWorkbook nwb = XSSFTestDataSamples.writeOutAndReadBack(wb);
+
+        assertEquals(1, nwb.getNumberOfNames());
+        nr1 = nwb.getNameAt(0);
+
+        assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr1.getNameName());
+        assertEquals("'FirstSheet'!$A:$A,'FirstSheet'!$1:$4", nr1.getRefersToFormula());
+
+        // check that setting RR&C on a second sheet causes a new Print_Titles built-in
+        // name to be created
+        sheet = nwb.createSheet("SecondSheet");
+        nwb.setRepeatingRowsAndColumns(1, 1, 2, 0, 0);
+
+        assertEquals(2, nwb.getNumberOfNames());
+        XSSFName nr2 = nwb.getNameAt(1);
+
+        assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr2.getNameName());
+        assertEquals("'SecondSheet'!$B:$C,'SecondSheet'!$1:$1", nr2.getRefersToFormula());
+
+        nwb.setRepeatingRowsAndColumns(1, -1, -1, -1, -1);
+    }
+
+
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java Sun Mar 29 16:10:40 2009
@@ -18,6 +18,8 @@
 
 import junit.framework.TestCase;
 import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.ss.usermodel.BaseTestPicture;
+import org.apache.poi.xssf.XSSFITestDataProvider;
 import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTTwoCellAnchor;
 import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.STEditAs;
 
@@ -27,7 +29,17 @@
 /**
  * @author Yegor Kozlov
  */
-public class TestXSSFPicture extends TestCase {
+public class TestXSSFPicture extends BaseTestPicture {
+
+    @Override
+    protected XSSFITestDataProvider getTestDataProvider(){
+        return XSSFITestDataProvider.getInstance();
+    }
+
+    public void testResize() {
+        baseTestResize(new XSSFClientAnchor(0, 0, 504825, 85725, (short)0, 0, (short)1, 8));
+    }
+
 
     public void testCreate(){
         XSSFWorkbook wb = new XSSFWorkbook();

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java Sun Mar 29 16:10:40 2009
@@ -19,6 +19,7 @@
 
 import java.io.File;
 import java.util.Iterator;
+
 import junit.framework.TestCase;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.ss.util.CellRangeAddress;
@@ -35,7 +36,7 @@
 public class TestXSSFSheet extends BaseTestSheet {
 
     @Override
-    protected XSSFITestDataProvider getTestDataProvider(){
+    protected XSSFITestDataProvider getTestDataProvider() {
         return XSSFITestDataProvider.getInstance();
     }
 
@@ -48,90 +49,66 @@
         baseTestGetSetMargin(new double[]{0.7, 0.7, 0.75, 0.75, 0.3, 0.3});
     }
 
-    public void testGetFirstLastRowNum() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
-        Sheet sheet = workbook.createSheet("Sheet 1");
-        Row row10 = sheet.createRow(9);
-        Row row1 = sheet.createRow(0);
-        Row row2 = sheet.createRow(1);
-        assertEquals(0, sheet.getFirstRowNum());
-        assertEquals(9, sheet.getLastRowNum());
-    }
-
-    public void testGetFooter() {
-        XSSFWorkbook workbook = getTestDataProvider().createWorkbook();
-        XSSFSheet sheet = workbook.createSheet("Sheet 1");
-        assertNotNull(sheet.getFooter());
-        sheet.getFooter().setCenter("test center footer");
-        assertEquals("test center footer", sheet.getFooter().getCenter());
-
-        // Default is odd footer
-        assertNotNull(sheet.getOddFooter());
-        assertEquals("test center footer", sheet.getOddFooter().getCenter());
-    }
-
     public void testExistingHeaderFooter() throws Exception {
-		File xml = new File(
-				System.getProperty("HSSF.testdata.path") +
-				File.separator + "45540_classic_Header.xlsx"
-		);
-		assertTrue(xml.exists());
-
-		XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
-		XSSFOddHeader hdr;
-		XSSFOddFooter ftr;
-
-		// Sheet 1 has a header with center and right text
-		XSSFSheet s1 = workbook.getSheetAt(0);
-		assertNotNull(s1.getHeader());
-		assertNotNull(s1.getFooter());
-		hdr = (XSSFOddHeader)s1.getHeader();
-		ftr = (XSSFOddFooter)s1.getFooter();
-
-		assertEquals("&Ctestdoc&Rtest phrase", hdr.getText());
-		assertEquals(null, ftr.getText());
-
-		assertEquals("", hdr.getLeft());
-		assertEquals("testdoc", hdr.getCenter());
-		assertEquals("test phrase", hdr.getRight());
-
-		assertEquals("", ftr.getLeft());
-		assertEquals("", ftr.getCenter());
-		assertEquals("", ftr.getRight());
-
-
-		// Sheet 2 has a footer, but it's empty
-		XSSFSheet s2 = workbook.getSheetAt(1);
-		assertNotNull(s2.getHeader());
-		assertNotNull(s2.getFooter());
-		hdr = (XSSFOddHeader)s2.getHeader();
-		ftr = (XSSFOddFooter)s2.getFooter();
-
-		assertEquals(null, hdr.getText());
-		assertEquals("&L&F", ftr.getText());
-
-		assertEquals("", hdr.getLeft());
-		assertEquals("", hdr.getCenter());
-		assertEquals("", hdr.getRight());
-
-		assertEquals("&F", ftr.getLeft());
-		assertEquals("", ftr.getCenter());
-		assertEquals("", ftr.getRight());
-
-
-		// Save and reload
-		XSSFWorkbook wb = XSSFTestDataSamples.writeOutAndReadBack(workbook);
-
-		hdr = (XSSFOddHeader)wb.getSheetAt(0).getHeader();
-		ftr = (XSSFOddFooter)wb.getSheetAt(0).getFooter();
-
-		assertEquals("", hdr.getLeft());
-		assertEquals("testdoc", hdr.getCenter());
-		assertEquals("test phrase", hdr.getRight());
-
-		assertEquals("", ftr.getLeft());
-		assertEquals("", ftr.getCenter());
-		assertEquals("", ftr.getRight());
+        File xml = new File(
+                System.getProperty("HSSF.testdata.path") +
+                        File.separator + "45540_classic_Header.xlsx"
+        );
+        assertTrue(xml.exists());
+
+        XSSFWorkbook workbook = new XSSFWorkbook(xml.toString());
+        XSSFOddHeader hdr;
+        XSSFOddFooter ftr;
+
+        // Sheet 1 has a header with center and right text
+        XSSFSheet s1 = workbook.getSheetAt(0);
+        assertNotNull(s1.getHeader());
+        assertNotNull(s1.getFooter());
+        hdr = (XSSFOddHeader) s1.getHeader();
+        ftr = (XSSFOddFooter) s1.getFooter();
+
+        assertEquals("&Ctestdoc&Rtest phrase", hdr.getText());
+        assertEquals(null, ftr.getText());
+
+        assertEquals("", hdr.getLeft());
+        assertEquals("testdoc", hdr.getCenter());
+        assertEquals("test phrase", hdr.getRight());
+
+        assertEquals("", ftr.getLeft());
+        assertEquals("", ftr.getCenter());
+        assertEquals("", ftr.getRight());
+
+        // Sheet 2 has a footer, but it's empty
+        XSSFSheet s2 = workbook.getSheetAt(1);
+        assertNotNull(s2.getHeader());
+        assertNotNull(s2.getFooter());
+        hdr = (XSSFOddHeader) s2.getHeader();
+        ftr = (XSSFOddFooter) s2.getFooter();
+
+        assertEquals(null, hdr.getText());
+        assertEquals("&L&F", ftr.getText());
+
+        assertEquals("", hdr.getLeft());
+        assertEquals("", hdr.getCenter());
+        assertEquals("", hdr.getRight());
+
+        assertEquals("&F", ftr.getLeft());
+        assertEquals("", ftr.getCenter());
+        assertEquals("", ftr.getRight());
+
+        // Save and reload
+        XSSFWorkbook wb = XSSFTestDataSamples.writeOutAndReadBack(workbook);
+
+        hdr = (XSSFOddHeader) wb.getSheetAt(0).getHeader();
+        ftr = (XSSFOddFooter) wb.getSheetAt(0).getFooter();
+
+        assertEquals("", hdr.getLeft());
+        assertEquals("testdoc", hdr.getCenter());
+        assertEquals("test phrase", hdr.getRight());
+
+        assertEquals("", ftr.getLeft());
+        assertEquals("", ftr.getCenter());
+        assertEquals("", ftr.getRight());
     }
 
     public void testGetAllHeadersFooters() {
@@ -173,25 +150,18 @@
         assertEquals("odd header center", sheet.getHeader().getCenter());
     }
 
-    public void testGetSetColumnHidden() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
-        Sheet sheet = workbook.createSheet("Sheet 1");
-        sheet.setColumnHidden((short) 2, true);
-        assertTrue(sheet.isColumnHidden((short) 2));
-    }
-    
     public void testAutoSizeColumn() {
         XSSFWorkbook workbook = new XSSFWorkbook();
         XSSFSheet sheet = workbook.createSheet("Sheet 1");
         sheet.createRow(0).createCell(13).setCellValue("test");
 
-        sheet.autoSizeColumn((short)13);
+        sheet.autoSizeColumn(13);
 
         ColumnHelper columnHelper = sheet.getColumnHelper();
         CTCol col = columnHelper.getColumn(13, false);
         assertTrue(col.getBestFit());
     }
-    
+
 
     public void testGetCellComment() {
         XSSFWorkbook workbook = new XSSFWorkbook();
@@ -203,195 +173,184 @@
         assertNotNull(sheet.getCellComment(9, 2));
         assertEquals("test C10 author", sheet.getCellComment(9, 2).getAuthor());
     }
-    
+
     public void testSetCellComment() {
         XSSFWorkbook workbook = new XSSFWorkbook();
         XSSFSheet sheet = workbook.createSheet();
 
         XSSFComment comment = sheet.createComment();
 
-        Cell cell = sheet.createRow(0).createCell((short)0);
+        Cell cell = sheet.createRow(0).createCell((short) 0);
         CommentsTable comments = sheet.getCommentsTable();
         CTComments ctComments = comments.getCTComments();
 
         sheet.setCellComment("A1", comment);
         assertEquals("A1", ctComments.getCommentList().getCommentArray(0).getRef());
         comment.setAuthor("test A1 author");
-        assertEquals("test A1 author", comments.getAuthor((int)ctComments.getCommentList().getCommentArray(0).getAuthorId()));
+        assertEquals("test A1 author", comments.getAuthor((int) ctComments.getCommentList().getCommentArray(0).getAuthorId()));
     }
-    
+
     public void testGetActiveCell() {
-    	XSSFWorkbook workbook = new XSSFWorkbook();
-    	XSSFSheet sheet = workbook.createSheet();
-    	sheet.setActiveCell("R5");
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        XSSFSheet sheet = workbook.createSheet();
+        sheet.setActiveCell("R5");
+
+        assertEquals("R5", sheet.getActiveCell());
 
-    	assertEquals("R5", sheet.getActiveCell());
-    	
     }
-    
+
     public void testCreateFreezePane() {
-    	XSSFWorkbook workbook = new XSSFWorkbook();
-    	XSSFSheet sheet = workbook.createSheet();
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        XSSFSheet sheet = workbook.createSheet();
         CTWorksheet ctWorksheet = sheet.getCTWorksheet();
 
-    	sheet.createFreezePane(2, 4);
-    	assertEquals((double)2, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit());
-    	assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
-    	sheet.createFreezePane(3, 6, 10, 10);
-    	assertEquals((double)3, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit());
-    //	assertEquals(10, sheet.getTopRow());
-    //	assertEquals(10, sheet.getLeftCol());
-    	sheet.createSplitPane(4, 8, 12, 12, 1);
-    	assertEquals((double)8, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getYSplit());
-    	assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
+        sheet.createFreezePane(2, 4);
+        assertEquals((double) 2, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit());
+        assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
+        sheet.createFreezePane(3, 6, 10, 10);
+        assertEquals((double) 3, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit());
+        //	assertEquals(10, sheet.getTopRow());
+        //	assertEquals(10, sheet.getLeftCol());
+        sheet.createSplitPane(4, 8, 12, 12, 1);
+        assertEquals((double) 8, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getYSplit());
+        assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
     }
-    
+
     public void testNewMergedRegionAt() {
         XSSFWorkbook workbook = new XSSFWorkbook();
         XSSFSheet sheet = workbook.createSheet();
-    	CellRangeAddress region = CellRangeAddress.valueOf("B2:D4");
-    	sheet.addMergedRegion(region);
-    	assertEquals("B2:D4", sheet.getMergedRegion(0).formatAsString());
+        CellRangeAddress region = CellRangeAddress.valueOf("B2:D4");
+        sheet.addMergedRegion(region);
+        assertEquals("B2:D4", sheet.getMergedRegion(0).formatAsString());
+        assertEquals(1, sheet.getNumMergedRegions());
     }
-    
-    public void testGetNumMergedRegions() {
+
+    public void testRemoveMergedRegion_lowlevel() {
         XSSFWorkbook workbook = new XSSFWorkbook();
         XSSFSheet sheet = workbook.createSheet();
-    	assertEquals(0, sheet.getNumMergedRegions());
-    	CellRangeAddress region = CellRangeAddress.valueOf("B2:D4");
-    	sheet.addMergedRegion(region);
-    	assertEquals(1, sheet.getNumMergedRegions());
+        CTWorksheet ctWorksheet = sheet.getCTWorksheet();
+        CellRangeAddress region_1 = CellRangeAddress.valueOf("A1:B2");
+        CellRangeAddress region_2 = CellRangeAddress.valueOf("C3:D4");
+        CellRangeAddress region_3 = CellRangeAddress.valueOf("E5:F6");
+        sheet.addMergedRegion(region_1);
+        sheet.addMergedRegion(region_2);
+        sheet.addMergedRegion(region_3);
+        assertEquals("C3:D4", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
+        assertEquals(3, sheet.getNumMergedRegions());
+        sheet.removeMergedRegion(1);
+        assertEquals("E5:F6", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
+        assertEquals(2, sheet.getNumMergedRegions());
+        sheet.removeMergedRegion(1);
+        sheet.removeMergedRegion(0);
+        assertEquals(0, sheet.getNumMergedRegions());
     }
-    
-    public void testRemoveMergedRegion() {
+
+    public void testSetDefaultColumnStyle() {
         XSSFWorkbook workbook = new XSSFWorkbook();
         XSSFSheet sheet = workbook.createSheet();
         CTWorksheet ctWorksheet = sheet.getCTWorksheet();
-    	CellRangeAddress region_1 = CellRangeAddress.valueOf("A1:B2");
-    	CellRangeAddress region_2 = CellRangeAddress.valueOf("C3:D4");
-    	CellRangeAddress region_3 = CellRangeAddress.valueOf("E5:F6");
-    	sheet.addMergedRegion(region_1);
-    	sheet.addMergedRegion(region_2);
-    	sheet.addMergedRegion(region_3);
-    	assertEquals("C3:D4", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
-    	assertEquals(3, sheet.getNumMergedRegions());
-    	sheet.removeMergedRegion(1);
-    	assertEquals("E5:F6", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
-    	assertEquals(2, sheet.getNumMergedRegions());
-    	sheet.removeMergedRegion(1);
-    	sheet.removeMergedRegion(0);
-    	assertEquals(0, sheet.getNumMergedRegions());
+        StylesTable stylesTable = workbook.getStylesSource();
+        XSSFFont font = new XSSFFont();
+        font.setFontName("Cambria");
+        stylesTable.putFont(font);
+        CTXf cellStyleXf = CTXf.Factory.newInstance();
+        cellStyleXf.setFontId(1);
+        cellStyleXf.setFillId(0);
+        cellStyleXf.setBorderId(0);
+        cellStyleXf.setNumFmtId(0);
+        stylesTable.putCellStyleXf(cellStyleXf);
+        CTXf cellXf = CTXf.Factory.newInstance();
+        cellXf.setXfId(1);
+        stylesTable.putCellXf(cellXf);
+        XSSFCellStyle cellStyle = new XSSFCellStyle(1, 1, stylesTable);
+        assertEquals(1, cellStyle.getFontIndex());
+
+        sheet.setDefaultColumnStyle((short) 3, cellStyle);
+        assertEquals(1, ctWorksheet.getColsArray(0).getColArray(0).getStyle());
     }
-    
-    public void testSetDefaultColumnStyle() {
+
+
+    public void testGroupUngroupColumn() {
         XSSFWorkbook workbook = new XSSFWorkbook();
         XSSFSheet sheet = workbook.createSheet();
-        CTWorksheet ctWorksheet = sheet.getCTWorksheet();
-    	StylesTable stylesTable = workbook.getStylesSource();
-    	XSSFFont font = new XSSFFont();
-    	font.setFontName("Cambria");
-    	stylesTable.putFont(font);
-    	CTXf cellStyleXf = CTXf.Factory.newInstance();
-    	cellStyleXf.setFontId(1);
-    	cellStyleXf.setFillId(0);
-    	cellStyleXf.setBorderId(0);
-    	cellStyleXf.setNumFmtId(0);
-    	stylesTable.putCellStyleXf(cellStyleXf);
-    	CTXf cellXf = CTXf.Factory.newInstance();
-    	cellXf.setXfId(1);
-    	stylesTable.putCellXf(cellXf);
-    	XSSFCellStyle cellStyle = new XSSFCellStyle(1, 1, stylesTable);
-    	assertEquals(1, cellStyle.getFontIndex());
-    	
-    	sheet.setDefaultColumnStyle((short) 3, cellStyle);
-    	assertEquals(1, ctWorksheet.getColsArray(0).getColArray(0).getStyle());
-    }
-    
-
-
-	
-	
-	   public void testGroupUngroupColumn() {
-           XSSFWorkbook workbook = new XSSFWorkbook();
-           XSSFSheet sheet = workbook.createSheet();
-
-	    	//one level
-	    	sheet.groupColumn((short)2,(short)7);
-	    	sheet.groupColumn((short)10,(short)11);
-	    	CTCols cols=sheet.getCTWorksheet().getColsArray(0);
-	    	assertEquals(2,cols.sizeOfColArray());
-	    	CTCol[]colArray=cols.getColArray();
-	    	assertNotNull(colArray);
-	    	assertEquals(2+1,colArray[0].getMin()); // 1 based
-	    	assertEquals(7+1,colArray[0].getMax()); // 1 based
-	    	assertEquals(1, colArray[0].getOutlineLevel());
-
-	    	//two level  
-	    	sheet.groupColumn((short)1,(short)2);
-	    	cols=sheet.getCTWorksheet().getColsArray(0);
-	    	assertEquals(4,cols.sizeOfColArray());
-	    	colArray=cols.getColArray();
-	    	assertEquals(2, colArray[1].getOutlineLevel());
-
-	    	//three level
-	    	sheet.groupColumn((short)6,(short)8);
-	    	sheet.groupColumn((short)2,(short)3);
-	    	cols=sheet.getCTWorksheet().getColsArray(0);
-	    	assertEquals(7,cols.sizeOfColArray());
-	    	colArray=cols.getColArray();
-	    	assertEquals(3, colArray[1].getOutlineLevel());
-	    	assertEquals(3,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelCol());
-
-	    	sheet.ungroupColumn((short)8,(short) 10);
-	    	colArray=cols.getColArray();
-	    	//assertEquals(3, colArray[1].getOutlineLevel());
-
-	    	sheet.ungroupColumn((short)4,(short)6);
-	    	sheet.ungroupColumn((short)2,(short)2);
-	    	colArray=cols.getColArray();
-	    	assertEquals(4, colArray.length);
-	    	assertEquals(2,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelCol());
-	    }
-
-	    
-	    public void testGroupUngroupRow() {
-            XSSFWorkbook workbook = new XSSFWorkbook();
-            XSSFSheet sheet = workbook.createSheet();
-
-	    	//one level
-	    	sheet.groupRow(9,10);
-	    	assertEquals(2,sheet.getPhysicalNumberOfRows());
-	    	CTRow ctrow = sheet.getRow(9).getCTRow();
-
-	    	assertNotNull(ctrow);
-	    	assertEquals(10,ctrow.getR());
-	    	assertEquals(1, ctrow.getOutlineLevel());
-	    	assertEquals(1,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
-
-	    	//two level    	
-	    	sheet.groupRow(10,13);
-	    	assertEquals(5,sheet.getPhysicalNumberOfRows());
-	    	ctrow = sheet.getRow(10).getCTRow();
-	    	assertNotNull(ctrow);
-	    	assertEquals(11,ctrow.getR());
-	    	assertEquals(2, ctrow.getOutlineLevel());
-	    	assertEquals(2,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
-
-	    	
-	    	sheet.ungroupRow(8, 10);
-            assertEquals(4,sheet.getPhysicalNumberOfRows());
-	    	assertEquals(1,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
-
-	    	sheet.ungroupRow(10,10);
-            assertEquals(3,sheet.getPhysicalNumberOfRows());
-
-	    	assertEquals(1,sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
-	    }
-            
+
+        //one level
+        sheet.groupColumn((short) 2, (short) 7);
+        sheet.groupColumn((short) 10, (short) 11);
+        CTCols cols = sheet.getCTWorksheet().getColsArray(0);
+        assertEquals(2, cols.sizeOfColArray());
+        CTCol[] colArray = cols.getColArray();
+        assertNotNull(colArray);
+        assertEquals(2 + 1, colArray[0].getMin()); // 1 based
+        assertEquals(7 + 1, colArray[0].getMax()); // 1 based
+        assertEquals(1, colArray[0].getOutlineLevel());
+
+        //two level
+        sheet.groupColumn((short) 1, (short) 2);
+        cols = sheet.getCTWorksheet().getColsArray(0);
+        assertEquals(4, cols.sizeOfColArray());
+        colArray = cols.getColArray();
+        assertEquals(2, colArray[1].getOutlineLevel());
+
+        //three level
+        sheet.groupColumn((short) 6, (short) 8);
+        sheet.groupColumn((short) 2, (short) 3);
+        cols = sheet.getCTWorksheet().getColsArray(0);
+        assertEquals(7, cols.sizeOfColArray());
+        colArray = cols.getColArray();
+        assertEquals(3, colArray[1].getOutlineLevel());
+        assertEquals(3, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelCol());
+
+        sheet.ungroupColumn((short) 8, (short) 10);
+        colArray = cols.getColArray();
+        //assertEquals(3, colArray[1].getOutlineLevel());
+
+        sheet.ungroupColumn((short) 4, (short) 6);
+        sheet.ungroupColumn((short) 2, (short) 2);
+        colArray = cols.getColArray();
+        assertEquals(4, colArray.length);
+        assertEquals(2, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelCol());
+    }
+
+
+    public void testGroupUngroupRow() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        XSSFSheet sheet = workbook.createSheet();
+
+        //one level
+        sheet.groupRow(9, 10);
+        assertEquals(2, sheet.getPhysicalNumberOfRows());
+        CTRow ctrow = sheet.getRow(9).getCTRow();
+
+        assertNotNull(ctrow);
+        assertEquals(10, ctrow.getR());
+        assertEquals(1, ctrow.getOutlineLevel());
+        assertEquals(1, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
+
+        //two level
+        sheet.groupRow(10, 13);
+        assertEquals(5, sheet.getPhysicalNumberOfRows());
+        ctrow = sheet.getRow(10).getCTRow();
+        assertNotNull(ctrow);
+        assertEquals(11, ctrow.getR());
+        assertEquals(2, ctrow.getOutlineLevel());
+        assertEquals(2, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
+
+
+        sheet.ungroupRow(8, 10);
+        assertEquals(4, sheet.getPhysicalNumberOfRows());
+        assertEquals(1, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
+
+        sheet.ungroupRow(10, 10);
+        assertEquals(3, sheet.getPhysicalNumberOfRows());
+
+        assertEquals(1, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
+    }
+
     public void testSetZoom() {
         XSSFWorkbook workBook = new XSSFWorkbook();
         XSSFSheet sheet1 = workBook.createSheet("new sheet");
-        sheet1.setZoom(3,4);   // 75 percent magnification
+        sheet1.setZoom(3, 4);   // 75 percent magnification
         long zoom = sheet1.getCTWorksheet().getSheetViews().getSheetViewArray(0).getZoomScale();
         assertEquals(zoom, 75);
 
@@ -402,7 +361,7 @@
         try {
             sheet1.setZoom(500);
             fail("Expecting exception");
-        } catch (IllegalArgumentException e){
+        } catch (IllegalArgumentException e) {
             assertEquals("Valid scale values range from 10 to 400", e.getMessage());
         }
     }
@@ -413,8 +372,8 @@
     public void testColumnWidth_lowlevel() {
         XSSFWorkbook workbook = new XSSFWorkbook();
         XSSFSheet sheet = workbook.createSheet("Sheet 1");
-        sheet.setColumnWidth(1,  22*256);
-        assertEquals(22*256, sheet.getColumnWidth(1));
+        sheet.setColumnWidth(1, 22 * 256);
+        assertEquals(22 * 256, sheet.getColumnWidth(1));
 
         // Now check the low level stuff, and check that's all
         //  been set correctly
@@ -432,9 +391,8 @@
         assertEquals(2, col.getMax());
         assertEquals(22.0, col.getWidth());
 
-
         // Now set another
-        sheet.setColumnWidth(3, 33*256);
+        sheet.setColumnWidth(3, 33 * 256);
 
         cols_s = cts.getColsArray();
         assertEquals(1, cols_s.length);

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java Sun Mar 29 16:10:40 2009
@@ -44,46 +44,6 @@
     }
 
 
-	public void testRepeatingRowsAndColums() {
-		// First test that setting RR&C for same sheet more than once only creates a 
-		// single  Print_Titles built-in record
-		XSSFWorkbook wb = new XSSFWorkbook();
-		XSSFSheet sheet = wb.createSheet("FirstSheet");
-		
-		// set repeating rows and columns twice for the first sheet
-		for (int i = 0; i < 2; i++) {
-			wb.setRepeatingRowsAndColumns(0, 0, 0, 0, 3);
-			//sheet.createFreezePane(0, 3);
-		}
-		assertEquals(1, wb.getNumberOfNames());
-		XSSFName nr1 = wb.getNameAt(0);
-		
-		assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr1.getNameName());
-		assertEquals("'FirstSheet'!$A:$A,'FirstSheet'!$1:$4", nr1.getRefersToFormula());
-		
-		// Save and re-open
-		XSSFWorkbook nwb = XSSFTestDataSamples.writeOutAndReadBack(wb);
-
-		assertEquals(1, nwb.getNumberOfNames());
-		nr1 = nwb.getNameAt(0);
-		
-		assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr1.getNameName());
-		assertEquals("'FirstSheet'!$A:$A,'FirstSheet'!$1:$4", nr1.getRefersToFormula());
-		
-		// check that setting RR&C on a second sheet causes a new Print_Titles built-in
-		// name to be created
-		sheet = nwb.createSheet("SecondSheet");
-		nwb.setRepeatingRowsAndColumns(1, 1, 2, 0, 0);
-
-		assertEquals(2, nwb.getNumberOfNames());
-		XSSFName nr2 = nwb.getNameAt(1);
-		
-		assertEquals(XSSFName.BUILTIN_PRINT_TITLE, nr2.getNameName());
-		assertEquals("'SecondSheet'!$B:$C,'SecondSheet'!$1:$1", nr2.getRefersToFormula());
-		
-		nwb.setRepeatingRowsAndColumns(1, -1, -1, -1, -1);
-	}
-	
 	/**
 	 * Tests that we can save, and then re-load a new document
 	 */
@@ -164,20 +124,6 @@
 
 	}
 	
-	public void testFindFont(){
-		//get default font and check against default value
-		XSSFWorkbook workbook = new XSSFWorkbook();
-		Font fontFind=workbook.findFont(Font.BOLDWEIGHT_NORMAL, IndexedColors.BLACK.getIndex(), (short)11, "Calibri", false, false, Font.SS_NONE, Font.U_NONE);
-		assertNotNull(fontFind);
-		
-		//get default font, then change 2 values and check against different values (height changes)
-		Font font=workbook.createFont();
-		((XSSFFont)font).setBold(true);
-		font.setUnderline(Font.U_DOUBLE);
-		fontFind=workbook.findFont(Font.BOLDWEIGHT_BOLD, IndexedColors.BLACK.getIndex(), (short)15, "Calibri", false, false, Font.SS_NONE, Font.U_DOUBLE);
-		assertNull(fontFind);
-	}
-
 	public void testGetCellStyleAt(){
 	 	XSSFWorkbook workbook = new XSSFWorkbook();
 		short i = 0;
@@ -212,25 +158,6 @@
 		assertNotNull(fontAt);
 	}
 	
-	public void testGetNumberOfFonts(){
-	 	XSSFWorkbook wb = new XSSFWorkbook();
-
-		XSSFFont f1=wb.createFont();
-	 	f1.setBold(true);
-	 	wb.createCellStyle().setFont(f1);
-
-		XSSFFont f2=wb.createFont();
-	 	f2.setUnderline(Font.U_DOUBLE);
-		wb.createCellStyle().setFont(f2);
-
-		XSSFFont f3=wb.createFont();
-	 	f3.setFontHeightInPoints((short)23);
-		wb.createCellStyle().setFont(f3);
-
-		assertEquals(4,wb.getNumberOfFonts());
-	 	assertEquals(Font.U_DOUBLE,wb.getFontAt((short)2).getUnderline());
-	}
-	
 	public void testGetNumCellStyles(){
 	 	XSSFWorkbook workbook = new XSSFWorkbook();
 		short i = workbook.getNumCellStyles();
@@ -240,17 +167,6 @@
 		assertNotSame(2, i);		
 	}
 	
-	public void testSetDisplayedTab(){
-		XSSFWorkbook workbook = new XSSFWorkbook();
-		workbook.setFirstVisibleTab(1);
-		short i = (short) workbook.getFirstVisibleTab();
-		//0 (defualt value) is not longer set
-		assertNotSame(0, i);
-		//1 is the default tab
-		assertEquals(1, i);
-	}
-
-
 	public void testLoadSave() {
 		XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("Formatting.xlsx");
 		assertEquals(3, workbook.getNumberOfSheets());

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/HSSFITestDataProvider.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/HSSFITestDataProvider.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/HSSFITestDataProvider.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/HSSFITestDataProvider.java Sun Mar 29 16:10:40 2009
@@ -42,6 +42,10 @@
         return new HSSFWorkbook();
     }
 
+    public byte[] getTestDataFileContent(String fileName) {
+        return HSSFTestDataSamples.getTestDataFileContent(fileName);
+    }
+    
     private HSSFITestDataProvider(){}
     private static HSSFITestDataProvider inst = new HSSFITestDataProvider();
     public static HSSFITestDataProvider getInstance(){

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/AllUserModelTests.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/AllUserModelTests.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/AllUserModelTests.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/AllUserModelTests.java Sun Mar 29 16:10:40 2009
@@ -60,7 +60,7 @@
 		result.addTestSuite(TestHSSFTextbox.class);
 		result.addTestSuite(TestHSSFWorkbook.class);
 		result.addTestSuite(TestLinkTable.class);
-		result.addTestSuite(TestNamedRange.class);
+		result.addTestSuite(TestHSSFName.class);
 		result.addTestSuite(TestOLE2Embeding.class);
 		result.addTestSuite(TestPOIFSProperties.class);
 		result.addTestSuite(TestReadWriteChart.class);

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java Sun Mar 29 16:10:40 2009
@@ -26,6 +26,7 @@
 
 import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.OldExcelFormatException;
+import org.apache.poi.hssf.HSSFITestDataProvider;
 import org.apache.poi.hssf.model.Workbook;
 import org.apache.poi.hssf.record.CellValueRecordInterface;
 import org.apache.poi.hssf.record.EmbeddedObjectRefSubRecord;
@@ -36,23 +37,33 @@
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.RichTextString;
 import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.BaseTestBugzillaIssues;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.util.TempFile;
 
 /**
  * Testcases for bugs entered in bugzilla
  * the Test name contains the bugzilla bug id
+ *
+ * <b>YK: If a bug can be tested in terms of common ss interfaces,
+ *  define the test in the base class {@link BaseTestBugzillaIssues}</b>
+ *
  * @author Avik Sengupta
  * @author Yegor Kozlov
  */
-public final class TestBugs extends TestCase {
+public final class TestBugs extends BaseTestBugzillaIssues {
 
-    private static HSSFWorkbook openSample(String sampleFileName) {
-        return HSSFTestDataSamples.openSampleWorkbook(sampleFileName);
+    @Override
+    protected HSSFITestDataProvider getTestDataProvider(){
+        return HSSFITestDataProvider.getInstance();
     }
 
-    private static HSSFWorkbook writeOutAndReadBack(HSSFWorkbook original) {
-        return HSSFTestDataSamples.writeOutAndReadBack(original);
+    private HSSFWorkbook openSample(String sampleFileName) {
+        return getTestDataProvider().openSampleWorkbook(sampleFileName);
+    }
+
+    private HSSFWorkbook writeOutAndReadBack(HSSFWorkbook original) {
+        return getTestDataProvider().writeOutAndReadBack(original);
     }
 
     private static void writeTestOutputFileForViewing(HSSFWorkbook wb, String simpleFileName) {
@@ -94,16 +105,6 @@
         c.setCellValue(10);
         writeOutAndReadBack(wb);
     }
-    /**Test writing a hyperlink
-     * Open resulting sheet in Excel and check that A1 contains a hyperlink*/
-    public void test23094() {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet s = wb.createSheet();
-        HSSFRow r = s.createRow(0);
-        r.createCell(0).setCellFormula("HYPERLINK( \"http://jakarta.apache.org\", \"Jakarta\" )");
-
-        writeTestOutputFileForViewing(wb, "test23094");
-    }
 
      /** test hyperlinks
       * open resulting file in excel, and check that there is a link to Google
@@ -163,68 +164,14 @@
 
         writeTestOutputFileForViewing(wb, "test15375");
     }
-
-    /** test writing a file with large number of unique strings
-     *open resulting file in Excel to check results!*/
-
-    public void test15375_2() throws Exception{
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet();
-
-        String tmp1 = null;
-        String tmp2 = null;
-        String tmp3 = null;
-
-        for (int i = 0; i < 6000; i++) {
-            tmp1 = "Test1" + i;
-            tmp2 = "Test2" + i;
-            tmp3 = "Test3" + i;
-
-            HSSFRow row = sheet.createRow(i);
-
-            HSSFCell cell = row.createCell(0);
-            setCellText(cell, tmp1);
-            cell = row.createCell(1);
-            setCellText(cell, tmp2);
-            cell = row.createCell(2);
-            setCellText(cell, tmp3);
-        }
-        writeTestOutputFileForViewing(wb, "test15375-2");
-    }
-    /** another test for the number of unique strings issue
-     *test opening the resulting file in Excel*/
-    public void test22568() {
-        int r=2000;int c=3;
-
-        HSSFWorkbook wb = new HSSFWorkbook() ;
-        HSSFSheet sheet = wb.createSheet("ExcelTest") ;
-
-        int col_cnt=0, rw_cnt=0 ;
-
-        col_cnt = c;
-        rw_cnt = r;
-
-        HSSFRow rw ;
-        rw = sheet.createRow(0) ;
-        //Header row
-        for(int j=0; j<col_cnt; j++){
-            HSSFCell cell = rw.createCell(j) ;
-            setCellText(cell, "Col " + (j+1)) ;
-        }
-
-        for(int i=1; i<rw_cnt; i++){
-            rw = sheet.createRow(i) ;
-            for(int j=0; j<col_cnt; j++){
-                HSSFCell cell = rw.createCell(j) ;
-                setCellText(cell, "Row:" + (i+1) + ",Column:" + (j+1)) ;
-            }
-        }
-
-        sheet.setDefaultColumnWidth(18) ;
-
-        writeTestOutputFileForViewing(wb, "test22568");
+    /**
+     * test writing a file with large number of unique strings,
+     * open resulting file in Excel to check results!
+     */
+    public void test15375_2() {
+        baseTest15375(6000);
     }
-
+    
     /**Double byte strings*/
     public void test15556() {
 
@@ -286,50 +233,6 @@
         }
     }
 
-     public void test18800() {
-        HSSFWorkbook book = new HSSFWorkbook();
-        book.createSheet("TEST");
-        HSSFSheet sheet = book.cloneSheet(0);
-        book.setSheetName(1,"CLONE");
-        sheet.createRow(0).createCell(0).setCellValue(new HSSFRichTextString("Test"));
-
-        book = writeOutAndReadBack(book);
-        sheet = book.getSheet("CLONE");
-        HSSFRow row = sheet.getRow(0);
-        HSSFCell cell = row.getCell(0);
-        assertEquals("Test", cell.getRichStringCellValue().getString());
-    }
-
-    /**
-     * Merged regions were being removed from the parent in cloned sheets
-     */
-    public void test22720() {
-       HSSFWorkbook workBook = new HSSFWorkbook();
-       workBook.createSheet("TEST");
-       HSSFSheet template = workBook.getSheetAt(0);
-
-       template.addMergedRegion(new CellRangeAddress(0, 1, 0, 2));
-       template.addMergedRegion(new CellRangeAddress(1, 2, 0, 2));
-
-       HSSFSheet clone = workBook.cloneSheet(0);
-       int originalMerged = template.getNumMergedRegions();
-       assertEquals("2 merged regions", 2, originalMerged);
-
-//        remove merged regions from clone
-       for (int i=template.getNumMergedRegions()-1; i>=0; i--) {
-           clone.removeMergedRegion(i);
-       }
-
-      assertEquals("Original Sheet's Merged Regions were removed", originalMerged, template.getNumMergedRegions());
-//        check if template's merged regions are OK
-       if (template.getNumMergedRegions()>0) {
-            // fetch the first merged region...EXCEPTION OCCURS HERE
-            template.getMergedRegion(0);
-       }
-       //make sure we dont exception
-
-    }
-
     /**Tests read and write of Unicode strings in formula results
      * bug and testcase submitted by Sompop Kumnoonsate
      * The file contains THAI unicode characters.
@@ -424,21 +327,6 @@
         }
     }
 
-    public void test28031() {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet();
-        wb.setSheetName(0, "Sheet1");
-
-        HSSFRow row = sheet.createRow(0);
-        HSSFCell cell = row.createCell(0);
-        String formulaText =
-            "IF(ROUND(A2*B2*C2,2)>ROUND(B2*D2,2),ROUND(A2*B2*C2,2),ROUND(B2*D2,2))";
-        cell.setCellFormula(formulaText);
-
-        assertEquals(formulaText, cell.getCellFormula());
-        writeTestOutputFileForViewing(wb, "output28031.xls");
-    }
-
     public void test33082() {
         openSample("33082.xls");
     }
@@ -486,19 +374,8 @@
      */
     public void test29206() {
         //the first check with blank workbook
-        HSSFWorkbook wb = new HSSFWorkbook();
+        HSSFWorkbook wb = openSample("Simple.xls");
         HSSFSheet sheet = wb.createSheet();
-
-        for(int i = 1; i < 400; i++) {
-            HSSFRow row = sheet.getRow(i);
-            if(row != null) {
-                row.getCell(0);
-            }
-        }
-
-        //now check on an existing xls file
-        wb = openSample("Simple.xls");
-
         for(int i = 1; i < 400; i++) {
             HSSFRow row = sheet.getRow(i);
             if(row != null) {
@@ -901,23 +778,6 @@
         assertTrue("no errors writing sample xls", true);
     }
 
-    /**
-     * Bug 21334: "File error: data may have been lost" with a file
-     * that contains macros and this formula:
-     * {=SUM(IF(FREQUENCY(IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),""),IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),""))>0,1))}
-     */
-    public void test21334() {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sh = wb.createSheet();
-        HSSFCell cell = sh.createRow(0).createCell(0);
-        String formula = "SUM(IF(FREQUENCY(IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),\"\"),IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),\"\"))>0,1))";
-        cell.setCellFormula(formula);
-
-        HSSFWorkbook wb_sv = writeOutAndReadBack(wb);
-        HSSFCell cell_sv = wb_sv.getSheetAt(0).getRow(0).getCell(0);
-        assertEquals(formula, cell_sv.getCellFormula());
-    }
-
     public void test36947() {
         HSSFWorkbook wb = openSample("36947.xls");
         assertTrue("no errors reading sample xls", true);
@@ -925,16 +785,6 @@
         assertTrue("no errors writing sample xls", true);
     }
 
-    /**
-     * Bug 42448: Can't parse SUMPRODUCT(A!C7:A!C67, B8:B68) / B69
-     */
-    public void test42448(){
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFCell cell = wb.createSheet().createRow(0).createCell(0);
-        cell.setCellFormula("SUMPRODUCT(A!C7:A!C67, B8:B68) / B69");
-        assertTrue("no errors parsing formula", true);
-    }
-
     public void test39634() {
         HSSFWorkbook wb = openSample("39634.xls");
         assertTrue("no errors reading sample xls", true);
@@ -1522,38 +1372,6 @@
     }
     
     /**
-     * HSSFRichTextString.length() returns negative for really
-     *  long strings
-     */
-    public void test46368() {
-        HSSFWorkbook wb = new HSSFWorkbook();
-    	HSSFSheet s = wb.createSheet();
-    	HSSFRow r = s.createRow(0);
-    	for(int i=0; i<15; i++) {
-    		int len = 32760 + i;
-    		HSSFCell c = r.createCell(i);
-    		
-    		StringBuffer sb = new StringBuffer();
-    		for(int j=0; j<len; j++) {
-    			sb.append("x");
-    		}
-    		HSSFRichTextString rtr = new HSSFRichTextString(sb.toString());
-    		assertEquals(len, rtr.length());
-    		c.setCellValue(rtr);
-    	}
-    	
-    	// Save and reload
-    	wb = writeOutAndReadBack(wb);
-    	s = wb.getSheetAt(0);
-    	r = s.getRow(0);
-    	for(int i=0; i<15; i++) {
-    		int len = 32760 + i;
-    		HSSFCell c = r.getCell(i);
-    		assertEquals(len, c.getRichStringCellValue().length());
-    	}
-    }
-
-    /**
      * In POI-2.5 user reported exception when parsing a name with a custom VBA function:
      *  =MY_VBA_FUNCTION("lskdjflsk")
      */

Added: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java?rev=759714&view=auto
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java (added)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java Sun Mar 29 16:10:40 2009
@@ -0,0 +1,56 @@
+/* ====================================================================
+   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.usermodel;
+
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import junit.framework.AssertionFailedError;
+import org.apache.poi.hssf.HSSFITestDataProvider;
+import org.apache.poi.hssf.HSSFTestDataSamples;
+import org.apache.poi.hssf.model.Sheet;
+import org.apache.poi.hssf.model.HSSFFormulaParser;
+import org.apache.poi.hssf.record.DBCellRecord;
+import org.apache.poi.hssf.record.FormulaRecord;
+import org.apache.poi.hssf.record.Record;
+import org.apache.poi.hssf.record.StringRecord;
+import org.apache.poi.hssf.record.formula.Ptg;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.util.AreaReference;
+import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.ss.formula.FormulaType;
+
+/**
+ * Tests various functionality having to do with {@link org.apache.poi.ss.usermodel.Name}.
+ *
+ * @author Yegor Kozlov
+ */
+public final class TestHSSFFont extends BaseTestFont {
+
+    @Override
+    protected HSSFITestDataProvider getTestDataProvider(){
+        return HSSFITestDataProvider.getInstance();
+    }
+
+    public void testDefaultFont() {
+        baseTestDefaultFont(HSSFFont.FONT_ARIAL, (short)200, Font.COLOR_NORMAL);
+    }
+}
\ No newline at end of file

Propchange: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java
------------------------------------------------------------------------------
    svn:executable = *

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java Sun Mar 29 16:10:40 2009
@@ -19,24 +19,34 @@
 
 import java.util.Date;
 import java.util.GregorianCalendar;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
 
 import junit.framework.AssertionFailedError;
 import org.apache.poi.hssf.HSSFITestDataProvider;
+import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.model.Sheet;
+import org.apache.poi.hssf.model.HSSFFormulaParser;
 import org.apache.poi.hssf.record.DBCellRecord;
 import org.apache.poi.hssf.record.FormulaRecord;
 import org.apache.poi.hssf.record.Record;
 import org.apache.poi.hssf.record.StringRecord;
+import org.apache.poi.hssf.record.formula.Ptg;
 import org.apache.poi.ss.usermodel.ErrorConstants;
 import org.apache.poi.ss.usermodel.BaseTestCell;
 import org.apache.poi.ss.usermodel.BaseTestNamedRange;
+import org.apache.poi.ss.util.AreaReference;
+import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.ss.formula.FormulaType;
 
 /**
- * Tests various functionality having to do with {@link org.apache.poi.hssf.usermodel.HSSFCell}.  For instance support for
- * particular datatypes, etc.
- * @author Andrew C. Oliver (andy at superlinksoftware dot com)
- * @author  Dan Sherman (dsherman at isisph.com)
- * @author Alex Jacoby (ajacoby at gmail.com)
+ * Tests various functionality having to do with {@link org.apache.poi.ss.usermodel.Name}.
+ *
+ * @author Andrew C. Oliver (acoliver at apache dot org)
+ * @author ROMANL
+ * @author Danny Mui (danny at muibros.com)
+ * @author Amol S. Deshmukh &lt; amol at ap ache dot org &gt;
  */
 public final class TestHSSFName extends BaseTestNamedRange {
 
@@ -45,4 +55,187 @@
         return HSSFITestDataProvider.getInstance();
     }
 
+    public void testRepeatingRowsAndColumsNames() {
+         // First test that setting RR&C for same sheet more than once only creates a
+         // single  Print_Titles built-in record
+         HSSFWorkbook wb = new HSSFWorkbook();
+         HSSFSheet sheet = wb.createSheet("FirstSheet");
+
+         // set repeating rows and columns twice for the first sheet
+         for (int i = 0; i < 2; i++) {
+             wb.setRepeatingRowsAndColumns(0, 0, 0, 0, 3-1);
+             sheet.createFreezePane(0, 3);
+         }
+         assertEquals(1, wb.getNumberOfNames());
+         HSSFName nr1 = wb.getNameAt(0);
+
+         assertEquals("Print_Titles", nr1.getNameName());
+         if (false) {
+             // 	TODO - full column references not rendering properly, absolute markers not present either
+             assertEquals("FirstSheet!$A:$A,FirstSheet!$1:$3", nr1.getRefersToFormula());
+         } else {
+             assertEquals("FirstSheet!A:A,FirstSheet!$A$1:$IV$3", nr1.getRefersToFormula());
+         }
+
+         // Save and re-open
+         HSSFWorkbook nwb = HSSFTestDataSamples.writeOutAndReadBack(wb);
+
+         assertEquals(1, nwb.getNumberOfNames());
+         nr1 = nwb.getNameAt(0);
+
+         assertEquals("Print_Titles", nr1.getNameName());
+         assertEquals("FirstSheet!A:A,FirstSheet!$A$1:$IV$3", nr1.getRefersToFormula());
+
+         // check that setting RR&C on a second sheet causes a new Print_Titles built-in
+         // name to be created
+         sheet = nwb.createSheet("SecondSheet");
+         nwb.setRepeatingRowsAndColumns(1, 1, 2, 0, 0);
+
+         assertEquals(2, nwb.getNumberOfNames());
+         HSSFName nr2 = nwb.getNameAt(1);
+
+         assertEquals("Print_Titles", nr2.getNameName());
+         assertEquals("SecondSheet!B:C,SecondSheet!$A$1:$IV$1", nr2.getRefersToFormula());
+
+         if (false) {
+             // In case you fancy checking in excel, to ensure it
+             //  won't complain about the file now
+             try {
+                 File tempFile = File.createTempFile("POI-45126-", ".xls");
+                 FileOutputStream fout = new FileOutputStream(tempFile);
+                 nwb.write(fout);
+                 fout.close();
+                 System.out.println("check out " + tempFile.getAbsolutePath());
+             } catch (IOException e) {
+                 throw new RuntimeException(e);
+             }
+         }
+     }
+
+    /** Test of TestCase method, of class test.RangeTest. */
+    public void testNamedRange() {
+        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("Simple.xls");
+
+        //Creating new Named Range
+        HSSFName newNamedRange = wb.createName();
+
+        //Getting Sheet Name for the reference
+        String sheetName = wb.getSheetName(0);
+
+        //Setting its name
+        newNamedRange.setNameName("RangeTest");
+        //Setting its reference
+        newNamedRange.setRefersToFormula(sheetName + "!$D$4:$E$8");
+
+        //Getting NAmed Range
+        HSSFName namedRange1 = wb.getNameAt(0);
+        //Getting it sheet name
+        sheetName = namedRange1.getSheetName();
+
+        // sanity check
+        SanityChecker c = new SanityChecker();
+        c.checkHSSFWorkbook(wb);
+
+        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
+        HSSFName nm =wb.getNameAt(wb.getNameIndex("RangeTest"));
+        assertTrue("Name is "+nm.getNameName(),"RangeTest".equals(nm.getNameName()));
+        assertEquals(wb.getSheetName(0)+"!$D$4:$E$8", nm.getRefersToFormula());
+    }
+
+    /**
+     * Reads an excel file already containing a named range.
+     * <p>
+     * Addresses Bug <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9632" target="_bug">#9632</a>
+     */
+    public void testNamedRead() {
+        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("namedinput.xls");
+
+        //Get index of the namedrange with the name = "NamedRangeName" , which was defined in input.xls as A1:D10
+        int NamedRangeIndex	 = wb.getNameIndex("NamedRangeName");
+
+        //Getting NAmed Range
+        HSSFName namedRange1 = wb.getNameAt(NamedRangeIndex);
+        String sheetName = wb.getSheetName(0);
+
+        //Getting its reference
+        String reference = namedRange1.getRefersToFormula();
+
+        assertEquals(sheetName+"!$A$1:$D$10", reference);
+
+        HSSFName namedRange2 = wb.getNameAt(1);
+
+        assertEquals(sheetName+"!$D$17:$G$27", namedRange2.getRefersToFormula());
+        assertEquals("SecondNamedRange", namedRange2.getNameName());
+    }
+
+    /**
+     * Reads an excel file already containing a named range and updates it
+     * <p>
+     * Addresses Bug <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=16411" target="_bug">#16411</a>
+     */
+    public void testNamedReadModify() {
+        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("namedinput.xls");
+
+        HSSFName name = wb.getNameAt(0);
+        String sheetName = wb.getSheetName(0);
+
+        assertEquals(sheetName+"!$A$1:$D$10", name.getRefersToFormula());
+
+        name = wb.getNameAt(1);
+        String newReference = sheetName +"!$A$1:$C$36";
+
+        name.setRefersToFormula(newReference);
+        assertEquals(newReference, name.getRefersToFormula());
+    }
+
+     /**
+      * Test to see if the print area can be retrieved from an excel created file
+      */
+     public void testPrintAreaFileRead() {
+         HSSFWorkbook workbook = getTestDataProvider().openSampleWorkbook("SimpleWithPrintArea.xls");
+
+        String sheetName = workbook.getSheetName(0);
+        String reference = sheetName+"!$A$1:$C$5";
+
+        assertEquals(reference, workbook.getPrintArea(0));
+    }
+
+
+    public void testDeletedReference() throws Exception {
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("24207.xls");
+        assertEquals(2, wb.getNumberOfNames());
+
+        HSSFName name1 = wb.getNameAt(0);
+        assertEquals("a", name1.getNameName());
+        assertEquals("Sheet1!$A$1", name1.getRefersToFormula());
+        new AreaReference(name1.getRefersToFormula());
+        assertTrue("Successfully constructed first reference", true);
+
+        HSSFName name2 = wb.getNameAt(1);
+        assertEquals("b", name2.getNameName());
+        assertEquals("Sheet1!#REF!", name2.getRefersToFormula());
+        assertTrue(name2.isDeleted());
+        try {
+            new AreaReference(name2.getRefersToFormula());
+            fail("attempt to supply an invalid reference to AreaReference constructor results in exception");
+        } catch (StringIndexOutOfBoundsException e) { // TODO - use a different exception for this condition
+            // expected during successful test
+        }
+    }
+
+    /**
+     * When setting A1 type of referencese HSSFName.setRefersToFormula
+     * must set the type of operands to Ptg.CLASS_REF,
+     * otherwise created named don't appear in the dropdown to the left opf formula bar in Excel
+     */
+    public void testTypeOfRootPtg(){
+        HSSFWorkbook wb = new HSSFWorkbook();
+        wb.createSheet("CSCO");
+
+        Ptg[] ptgs = HSSFFormulaParser.parse("CSCO!$E$71", wb, FormulaType.NAMEDRANGE, 0);
+        for (int i = 0; i < ptgs.length; i++) {
+            assertEquals('R', ptgs[i].getRVAType());
+        }
+
+    }
 }
\ No newline at end of file

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java?rev=759714&r1=759713&r2=759714&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java Sun Mar 29 16:10:40 2009
@@ -19,33 +19,23 @@
 import junit.framework.TestCase;
 
 import org.apache.poi.hssf.HSSFTestDataSamples;
+import org.apache.poi.hssf.HSSFITestDataProvider;
+import org.apache.poi.ss.usermodel.BaseTestPicture;
 
 /**
  * Test <code>HSSFPicture</code>.
  *
  * @author Yegor Kozlov (yegor at apache.org)
  */
-public final class TestHSSFPicture extends TestCase{
+public final class TestHSSFPicture extends BaseTestPicture {
 
-    public void testResize() {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sh1 = wb.createSheet();
-        HSSFPatriarch p1 = sh1.createDrawingPatriarch();
-
-        byte[] pictureData = HSSFTestDataSamples.getTestDataFileContent("logoKarmokar4.png");
-        int idx1 = wb.addPicture( pictureData, HSSFWorkbook.PICTURE_TYPE_PNG );
-        HSSFPicture picture1 = p1.createPicture(new HSSFClientAnchor(), idx1);
-        HSSFClientAnchor anchor1 = picture1.getPreferredSize();
+    @Override
+    protected HSSFITestDataProvider getTestDataProvider(){
+        return HSSFITestDataProvider.getInstance();
+    }
 
-        //assert against what would BiffViewer print if we insert the image in xls and dump the file
-        assertEquals(0, anchor1.getCol1());
-        assertEquals(0, anchor1.getRow1());
-        assertEquals(1, anchor1.getCol2());
-        assertEquals(9, anchor1.getRow2());
-        assertEquals(0, anchor1.getDx1());
-        assertEquals(0, anchor1.getDy1());
-        assertEquals(848, anchor1.getDx2());
-        assertEquals(240, anchor1.getDy2());
+    public void testResize() {
+        baseTestResize(new HSSFClientAnchor(0, 0, 848, 240, (short)0, 0, (short)1, 9));
     }
 
     /**



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