poi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From u..@apache.org
Subject svn commit: r616303 - in /poi/branches/ooxml/src/ooxml: java/org/apache/poi/xssf/usermodel/XSSFSheet.java testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
Date Tue, 29 Jan 2008 13:32:49 GMT
Author: ugo
Date: Tue Jan 29 05:32:48 2008
New Revision: 616303

URL: http://svn.apache.org/viewvc?rev=616303&view=rev
Log:
Commit patch from Paolo <p.mottadelli@sourcesense.com> attached to bug #44319.

Modified:
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
    poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java

Modified: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java?rev=616303&r1=616302&r2=616303&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java Tue Jan
29 05:32:48 2008
@@ -32,13 +32,18 @@
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBreak;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageBreak;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageMargins;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageSetUpPr;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRow;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSelection;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetFormatPr;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetPr;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetView;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetViews;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
@@ -50,6 +55,13 @@
     private CTWorksheet worksheet;
     private List<Row> rows;
     private ColumnHelper columnHelper;
+
+    public static final short LeftMargin = 0;
+    public static final short RightMargin = 1;
+    public static final short TopMargin = 2;
+    public static final short BottomMargin = 3;
+    public static final short HeaderMargin = 4;
+    public static final short FooterMargin = 5;
     
     public XSSFSheet(CTSheet sheet) {
         this.sheet = sheet;
@@ -86,6 +98,11 @@
         CTHeaderFooter hf = this.worksheet.addNewHeaderFooter();
         hf.setOddHeader("&amp;C&amp;A");
         hf.setOddFooter("&amp;C&amp;\"Arial\"&amp;10Page &amp;P");
+        CTPageBreak rowBreaks = worksheet.addNewRowBreaks();
+        CTPageBreak columnBreak = worksheet.addNewColBreaks();
+        CTSheetPr sheetPr = worksheet.addNewSheetPr();
+        CTPageSetUpPr sheetPageSetUpPr = sheetPr.addNewPageSetUpPr();
+        CTPageMargins pageMargins = worksheet.addNewPageMargins();
         columnHelper = new ColumnHelper(worksheet);
     }
 
@@ -172,8 +189,7 @@
     }
 
     public boolean getAutobreaks() {
-        // TODO Auto-generated method stub
-        return false;
+        return worksheet.getSheetPr().getPageSetUpPr().getAutoPageBreaks();
     }
 
     public Comment getCellComment(int row, int column) {
@@ -182,24 +198,32 @@
     }
 
     public short[] getColumnBreaks() {
-        // TODO Auto-generated method stub
-        return null;
+        CTBreak[] brkArray = worksheet.getColBreaks().getBrkArray();
+        if (brkArray.length == 0) {
+            return null;
+        }
+        short[] breaks = new short[brkArray.length];
+        for (int i = 0 ; i < brkArray.length ; i++) {
+            CTBreak brk = brkArray[i];
+            breaks[i] = (short) brk.getId();
+        }
+        return breaks;
     }
 
     public short getColumnWidth(short column) {
-    	return (short) columnHelper.getColumn(column).getWidth();
+        return (short) columnHelper.getColumn(column).getWidth();
     }
 
     public short getDefaultColumnWidth() {
-    	return (short) this.worksheet.getSheetFormatPr().getDefaultColWidth();
+        return (short) this.worksheet.getSheetFormatPr().getDefaultColWidth();
     }
 
     public short getDefaultRowHeight() {
-    	return (short) (this.worksheet.getSheetFormatPr().getDefaultRowHeight() * 20);
+        return (short) (this.worksheet.getSheetFormatPr().getDefaultRowHeight() * 20);
     }
 
     public float getDefaultRowHeightInPoints() {
-    	return (short) this.worksheet.getSheetFormatPr().getDefaultRowHeight();
+        return (short) this.worksheet.getSheetFormatPr().getDefaultRowHeight();
     }
 
     public boolean getDialog() {
@@ -213,13 +237,17 @@
     }
 
     public int getFirstRowNum() {
-        // TODO Auto-generated method stub
-        return 0;
+        for (Iterator<Row> it = rowIterator() ; it.hasNext() ; ) {
+            Row row = it.next();
+            if (row != null) {
+                return row.getRowNum();
+            }
+        }
+        return -1;
     }
 
     public boolean getFitToPage() {
-        // TODO Auto-generated method stub
-        return false;
+        return worksheet.getSheetPr().getPageSetUpPr().getFitToPage();
     }
 
     public Footer getFooter() {
@@ -238,8 +266,14 @@
     }
 
     public int getLastRowNum() {
-        // TODO Auto-generated method stub
-        return 0;
+        int lastRowNum = -1;
+        for (Iterator<Row> it = rowIterator() ; it.hasNext() ; ) {
+            Row row = it.next();
+            if (row != null) {
+                lastRowNum = row.getRowNum();
+            }
+        }
+        return lastRowNum;
     }
 
     public short getLeftCol() {
@@ -248,8 +282,23 @@
     }
 
     public double getMargin(short margin) {
-        // TODO Auto-generated method stub
-        return 0;
+    	CTPageMargins pageMargins = worksheet.getPageMargins();
+    	switch (margin) {
+    	case LeftMargin:
+    		return pageMargins.getLeft();
+    	case RightMargin:
+    		return pageMargins.getRight();
+    	case TopMargin:
+    		return pageMargins.getTop();
+    	case BottomMargin:
+    		return pageMargins.getBottom();
+    	case HeaderMargin:
+    		return pageMargins.getHeader();
+    	case FooterMargin:
+    		return pageMargins.getFooter();
+    	default :
+    		throw new RuntimeException( "Unknown margin constant:  " + margin );
+    	}
     }
 
     public Region getMergedRegionAt(int index) {
@@ -278,8 +327,13 @@
     }
 
     public int getPhysicalNumberOfRows() {
-        // TODO Auto-generated method stub
-        return 0;
+        int counter = 0;
+        for (Iterator<Row> it = rowIterator() ; it.hasNext() ; ) {
+            if (it.next() != null) {
+                counter++;
+            }
+        }
+        return counter;
     }
 
     public PrintSetup getPrintSetup() {
@@ -303,8 +357,17 @@
     }
 
     public int[] getRowBreaks() {
-        // TODO Auto-generated method stub
-        return null;
+        CTPageBreak rowBreaks = worksheet.getRowBreaks();
+        int breaksCount = rowBreaks.getBrkArray().length;
+        if (breaksCount == 0) {
+            return null;
+        }
+        int[] breaks = new int[breaksCount];
+        for (int i = 0 ; i < breaksCount ; i++) {
+            CTBreak brk = rowBreaks.getBrkArray(i);
+            breaks[i] = (int) brk.getId();
+        }
+        return breaks;
     }
 
     public boolean getRowSumsBelow() {
@@ -343,13 +406,17 @@
     }
 
     public boolean isColumnBroken(short column) {
-        // TODO Auto-generated method stub
+        CTBreak[] brkArray = worksheet.getColBreaks().getBrkArray();
+        for (int i = 0 ; i < brkArray.length ; i++) {
+            if (brkArray[i].getId() == column) {
+                return true;
+            }
+        }
         return false;
     }
 
     public boolean isColumnHidden(short column) {
-        // TODO Auto-generated method stub
-        return false;
+        return columnHelper.getColumn(column).getHidden();
     }
 
     public boolean isDisplayFormulas() {
@@ -378,7 +445,15 @@
     }
 
     public boolean isRowBroken(int row) {
-        // TODO Auto-generated method stub
+        int[] rowBreaks = getRowBreaks();
+        if (rowBreaks == null) {
+            return false;
+        }
+        for (int i = 0 ; i < rowBreaks.length ; i++) {
+            if (rowBreaks[i] == row) {
+                return true;
+            }
+        }
         return false;
     }
 
@@ -388,8 +463,13 @@
     }
 
     public void removeColumnBreak(short column) {
-        // TODO Auto-generated method stub
-
+        CTBreak[] brkArray = worksheet.getColBreaks().getBrkArray();
+        for (int i = 0 ; i < brkArray.length ; i++) {
+            if (brkArray[i].getId() == column) {
+                worksheet.getColBreaks().removeBrk(i);
+                continue;
+            }
+        }
     }
 
     public void removeMergedRegion(int index) {
@@ -398,13 +478,25 @@
     }
 
     public void removeRow(Row row) {
-        // TODO Auto-generated method stub
-
+        int counter = 0;
+        for (Iterator<Row> it = rowIterator() ; it.hasNext() ; ) {
+            Row r = it.next();
+            if (r.getRowNum() == row.getRowNum()) {
+                it.remove();
+                worksheet.getSheetData().removeRow(counter);
+            }
+            counter++;
+        }
     }
 
     public void removeRowBreak(int row) {
-        // TODO Auto-generated method stub
-
+        CTBreak[] brkArray = worksheet.getRowBreaks().getBrkArray();
+        for (int i = 0 ; i < brkArray.length ; i++) {
+            if (brkArray[i].getId() == row) {
+                worksheet.getRowBreaks().removeBrk(i);
+                continue;
+            }
+        }
     }
 
     public Iterator<Row> rowIterator() {
@@ -422,13 +514,14 @@
     }
 
     public void setAutobreaks(boolean b) {
-        // TODO Auto-generated method stub
-
+        worksheet.getSheetPr().getPageSetUpPr().setAutoPageBreaks(b);
     }
 
     public void setColumnBreak(short column) {
-        // TODO Auto-generated method stub
-
+        if (! isColumnBroken(column)) {
+            CTBreak brk = worksheet.getColBreaks().addNewBrk();
+            brk.setId(column);
+        }
     }
 
     public void setColumnGroupCollapsed(short columnNumber, boolean collapsed) {
@@ -437,16 +530,19 @@
     }
 
     public void setColumnHidden(short column, boolean hidden) {
-        // TODO Auto-generated method stub
-
+        CTCol col = columnHelper.getColumn(column);
+        if (col == null) {
+            col = columnHelper.createColumn(column);
+        }
+        col.setHidden(hidden);
     }
 
     public void setColumnWidth(short column, short width) {
-    	CTCol col = columnHelper.getColumn(column);
-    	if (col == null) {
-    		col = columnHelper.createColumn(column);
-    	}
-    	col.setWidth(width);
+        CTCol col = columnHelper.getColumn(column);
+        if (col == null) {
+            col = columnHelper.createColumn(column);
+        }
+        col.setWidth(width);
     }
 
     public void setDefaultColumnStyle(short column, CellStyle style) {
@@ -455,16 +551,16 @@
     }
 
     public void setDefaultColumnWidth(short width) {
-    	this.worksheet.getSheetFormatPr().setDefaultColWidth((double) width);
+        this.worksheet.getSheetFormatPr().setDefaultColWidth((double) width);
     }
 
     public void setDefaultRowHeight(short height) {
-    	this.worksheet.getSheetFormatPr().setDefaultRowHeight(height / 20);
+        this.worksheet.getSheetFormatPr().setDefaultRowHeight(height / 20);
 
     }
 
     public void setDefaultRowHeightInPoints(float height) {
-    	this.worksheet.getSheetFormatPr().setDefaultRowHeight(height);
+        this.worksheet.getSheetFormatPr().setDefaultRowHeight(height);
 
     }
 
@@ -494,8 +590,7 @@
     }
 
     public void setFitToPage(boolean b) {
-        // TODO Auto-generated method stub
-
+        worksheet.getSheetPr().getPageSetUpPr().setFitToPage(b);
     }
 
     public void setGridsPrinted(boolean value) {
@@ -509,8 +604,21 @@
     }
 
     public void setMargin(short margin, double size) {
-        // TODO Auto-generated method stub
-
+	    CTPageMargins pageMargins = worksheet.getPageMargins();
+	    switch (margin) {
+	    case LeftMargin:
+	    	pageMargins.setLeft(size);
+	    case RightMargin:
+	    	pageMargins.setRight(size);
+	    case TopMargin:
+	    	pageMargins.setTop(size);
+	    case BottomMargin:
+	    	pageMargins.setBottom(size);
+	    case HeaderMargin:
+	    	pageMargins.setHeader(size);
+	    case FooterMargin:
+	    	pageMargins.setFooter(size);
+	    }
     }
 
     public void setPrintGridlines(boolean newPrintGridlines) {
@@ -524,8 +632,11 @@
     }
 
     public void setRowBreak(int row) {
-        // TODO Auto-generated method stub
-
+        CTPageBreak pageBreak = worksheet.getRowBreaks();
+        if (! isRowBroken(row)) {
+            CTBreak brk = pageBreak.addNewBrk();
+            brk.setId(row);
+        }
     }
 
     public void setRowGroupCollapsed(int row, boolean collapse) {

Modified: poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java?rev=616303&r1=616302&r2=616303&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
(original)
+++ poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
Tue Jan 29 05:32:48 2008
@@ -27,96 +27,244 @@
 
 
 public class TestXSSFSheet extends TestCase {
-	
-	public void testRowIterator() throws Exception {
-		XSSFWorkbook workbook = new XSSFWorkbook();
-		Sheet sheet = workbook.createSheet("Sheet 1");
-		Row row1 = sheet.createRow(0);
-		Row row2 = sheet.createRow(1);
-		Iterator<Row> it = sheet.rowIterator();
-		assertNotNull(it);
-		assertTrue(it.hasNext());
-		assertEquals(row1, it.next());
-		assertTrue(it.hasNext());
-		assertEquals(row2, it.next());
-		assertFalse(it.hasNext());
-	}
-	
-	public void testGetRow() throws Exception {
-		XSSFWorkbook workbook = new XSSFWorkbook();
-		Sheet sheet = workbook.createSheet("Sheet 1");
-		Row row1 = sheet.createRow(0);
-		Cell cell = row1.createCell((short) 0);
-		cell.setCellType(Cell.CELL_TYPE_NUMERIC);
-		cell.setCellValue((double) 1000);
-		
-		// Test getting a row and check its cell's value
-		Row row_got = sheet.getRow(0);
-		Cell cell_got = row_got.getCell((short) 0);
-		assertEquals((double) 1000, cell_got.getNumericCellValue());
-	}
-	
-	public void testCreateRow() throws Exception {
-		XSSFWorkbook workbook = new XSSFWorkbook();
-		Sheet sheet = workbook.createSheet("Sheet 1");
-		
-		// Test row creation with consecutive indexes
-		Row row1 = sheet.createRow(0);
-		Row row2 = sheet.createRow(1);
-		assertEquals(0, row1.getRowNum());
-		Iterator<Row> it = sheet.rowIterator();
-		assertTrue(it.hasNext());
-		assertEquals(row1, it.next());
-		assertTrue(it.hasNext());
-		assertEquals(row2, it.next());
-		
-		// Test row creation with non consecutive index
-		Row row101 = sheet.createRow(100);
-		assertNotNull(row101);
-		
-		// Test overwriting an existing row
-		Row row2_ovrewritten = sheet.createRow(1);
-		Cell cell = row2_ovrewritten.createCell((short) 0);
-		cell.setCellType(Cell.CELL_TYPE_NUMERIC);
-		cell.setCellValue((double) 100);
-		Iterator<Row> it2 = sheet.rowIterator();
-		assertTrue(it2.hasNext());
-		assertEquals(row1, it2.next());
-		assertTrue(it2.hasNext());
-		Row row2_overwritten_copy = it2.next();
-		assertEquals(row2_ovrewritten, row2_overwritten_copy);
-		assertEquals(row2_overwritten_copy.getCell((short) 0).getNumericCellValue(), (double) 100);
-	}
-	
-	public void testGetSetDefaultRowHeight() throws Exception {
-		XSSFWorkbook workbook = new XSSFWorkbook();
-		Sheet sheet = workbook.createSheet("Sheet 1");
-		// Test that default height set by the constructor
-		assertEquals((short) 300, sheet.getDefaultRowHeight());
-		assertEquals((float) 15, sheet.getDefaultRowHeightInPoints());
-		// Set a new default row height in twips and test getting the value in points
-		sheet.setDefaultRowHeight((short) 360);
-		assertEquals((float) 18, sheet.getDefaultRowHeightInPoints());
-		// Set a new default row height in points and test getting the value in twips
-		sheet.setDefaultRowHeightInPoints((short) 17);
-		assertEquals((short) 340, sheet.getDefaultRowHeight());
-	}
-	
-	public void testGetSetDefaultColumnWidth() throws Exception {
-		XSSFWorkbook workbook = new XSSFWorkbook();
-		Sheet sheet = workbook.createSheet("Sheet 1");
-		// Test that default column width set by the constructor
-		assertEquals((short) 13, sheet.getDefaultColumnWidth());
-		// Set a new default column width and get its value
-		sheet.setDefaultColumnWidth((short) 14);
-		assertEquals((short) 14, sheet.getDefaultColumnWidth());
-	}
-	
-	public void testGetSetColumnWidth() throws Exception {
-		XSSFWorkbook workbook = new XSSFWorkbook();
-		Sheet sheet = workbook.createSheet("Sheet 1");
-		// Test setting a column width and getting that value
-		sheet.setColumnWidth((short) 0, (short) 16);
-		assertEquals(16, sheet.getColumnWidth((short) 0));
-	}
+    
+    public void testRowIterator() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        Row row1 = sheet.createRow(0);
+        Row row2 = sheet.createRow(1);
+        Iterator<Row> it = sheet.rowIterator();
+        assertNotNull(it);
+        assertTrue(it.hasNext());
+        assertEquals(row1, it.next());
+        assertTrue(it.hasNext());
+        assertEquals(row2, it.next());
+        assertFalse(it.hasNext());
+    }
+    
+    public void testGetRow() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        Row row1 = sheet.createRow(0);
+        Cell cell = row1.createCell((short) 0);
+        cell.setCellType(Cell.CELL_TYPE_NUMERIC);
+        cell.setCellValue((double) 1000);
+        
+        // Test getting a row and check its cell's value
+        Row row_got = sheet.getRow(0);
+        Cell cell_got = row_got.getCell((short) 0);
+        assertEquals((double) 1000, cell_got.getNumericCellValue());
+    }
+    
+    public void testCreateRow() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        
+        // Test row creation with consecutive indexes
+        Row row1 = sheet.createRow(0);
+        Row row2 = sheet.createRow(1);
+        assertEquals(0, row1.getRowNum());
+        assertEquals(1, row2.getRowNum());
+        Iterator<Row> it = sheet.rowIterator();
+        assertTrue(it.hasNext());
+        assertEquals(row1, it.next());
+        assertTrue(it.hasNext());
+        assertEquals(row2, it.next());
+        
+        // Test row creation with non consecutive index
+        Row row101 = sheet.createRow(100);
+        assertNotNull(row101);
+        
+        // Test overwriting an existing row
+        Row row2_ovrewritten = sheet.createRow(1);
+        Cell cell = row2_ovrewritten.createCell((short) 0);
+        cell.setCellType(Cell.CELL_TYPE_NUMERIC);
+        cell.setCellValue((double) 100);
+        Iterator<Row> it2 = sheet.rowIterator();
+        assertTrue(it2.hasNext());
+        assertEquals(row1, it2.next());
+        assertTrue(it2.hasNext());
+        Row row2_overwritten_copy = it2.next();
+        assertEquals(row2_ovrewritten, row2_overwritten_copy);
+        assertEquals(row2_overwritten_copy.getCell((short) 0).getNumericCellValue(), (double)
100);
+    }
+    
+    public void testRemoveRow() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        Row row1 = sheet.createRow(1);
+        Row row2 = sheet.createRow(2);
+        assertNotNull(sheet.getRow(1));
+        sheet.removeRow(row2);
+        assertNull(sheet.getRow(0));
+        assertNull(sheet.getRow(2));
+        assertNotNull(sheet.getRow(1));
+    }
+    
+    public void testGetSetDefaultRowHeight() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        // Test that default height set by the constructor
+        assertEquals((short) 300, sheet.getDefaultRowHeight());
+        assertEquals((float) 15, sheet.getDefaultRowHeightInPoints());
+        // Set a new default row height in twips and test getting the value in points
+        sheet.setDefaultRowHeight((short) 360);
+        assertEquals((float) 18, sheet.getDefaultRowHeightInPoints());
+        // Set a new default row height in points and test getting the value in twips
+        sheet.setDefaultRowHeightInPoints((short) 17);
+        assertEquals((short) 340, sheet.getDefaultRowHeight());
+    }
+    
+    public void testGetSetDefaultColumnWidth() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        // Test that default column width set by the constructor
+        assertEquals((short) 13, sheet.getDefaultColumnWidth());
+        // Set a new default column width and get its value
+        sheet.setDefaultColumnWidth((short) 14);
+        assertEquals((short) 14, sheet.getDefaultColumnWidth());
+    }
+    
+    public void testGetSetColumnWidth() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        // Test setting a column width and getting that value
+        sheet.setColumnWidth((short) 0, (short) 16);
+        assertEquals(16, sheet.getColumnWidth((short) 0));
+    }
+    
+    public void testGetFirstLastRowNum() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        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 testGetPhysicalNumberOfRows() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        Row row10 = sheet.createRow(9);
+        Row row1 = sheet.createRow(0);
+        Row row2 = sheet.createRow(1);
+        assertEquals(3, sheet.getPhysicalNumberOfRows());
+    }
+    
+    public void testGetSetRowBreaks() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        assertNull(sheet.getRowBreaks());
+        sheet.setRowBreak(1);
+        sheet.setRowBreak(15);
+        assertNotNull(sheet.getRowBreaks());
+        assertEquals(1, sheet.getRowBreaks()[0]);
+        assertEquals(15, sheet.getRowBreaks()[1]);
+        sheet.setRowBreak(1);
+        assertEquals(2, sheet.getRowBreaks().length);
+    }
+    
+    public void testRemoveRowBreak() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        sheet.setRowBreak(1);
+        assertEquals(1, sheet.getRowBreaks().length);
+        sheet.setRowBreak(2);
+        assertEquals(2, sheet.getRowBreaks().length);
+        sheet.removeRowBreak(1);
+        assertEquals(1, sheet.getRowBreaks().length);
+    }
+    
+    public void testGetSetColumnBreaks() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        assertNull(sheet.getColumnBreaks());
+        sheet.setColumnBreak((short) 11);
+        assertNotNull(sheet.getColumnBreaks());
+        assertEquals(11, sheet.getColumnBreaks()[0]);
+        sheet.setColumnBreak((short) 11223);
+        assertEquals(2, sheet.getColumnBreaks().length);
+    }
+    
+    public void testRemoveColumnBreak() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        assertNull(sheet.getColumnBreaks());
+        sheet.setColumnBreak((short) 11);
+        assertNotNull(sheet.getColumnBreaks());
+        sheet.setColumnBreak((short) 12);
+        assertEquals(2, sheet.getColumnBreaks().length);
+        sheet.removeColumnBreak((short) 11);
+        assertEquals(1, sheet.getColumnBreaks().length);
+        sheet.removeColumnBreak((short) 15);
+        assertEquals(1, sheet.getColumnBreaks().length);
+    }
+    
+    public void testIsRowColumnBroken() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        assertFalse(sheet.isRowBroken(0));
+        sheet.setRowBreak(3);
+        assertTrue(sheet.isRowBroken(3));
+        assertFalse(sheet.isColumnBroken((short) 0));
+        sheet.setColumnBreak((short) 3);
+        assertTrue(sheet.isColumnBroken((short) 3));
+    }
+    
+    public void testGetSetAutoBreaks() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        assertTrue(sheet.getAutobreaks());
+        sheet.setAutobreaks(false);
+        assertFalse(sheet.getAutobreaks());
+    }
+    
+    public void testIsSetColumnHidden() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        sheet.setColumnWidth((short) 0, (short) 13);
+        sheet.setColumnHidden((short) 1, false);
+        sheet.setColumnHidden((short) 2, true);
+        assertFalse(sheet.isColumnHidden((short) 0));
+        assertFalse(sheet.isColumnHidden((short) 1));
+        assertTrue(sheet.isColumnHidden((short) 2));
+    }
+    
+    public void testIsSetFitToPage() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        assertFalse(sheet.getFitToPage());
+        sheet.setFitToPage(true);
+        assertTrue(sheet.getFitToPage());
+        sheet.setFitToPage(false);
+        assertFalse(sheet.getFitToPage());
+    }
+    
+    public void testGetSetMargin() {
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet 1");
+        assertEquals((double) 0, sheet.getMargin((short) 0));
+        sheet.setMargin((short) 0, 10);
+        sheet.setMargin((short) 1, 11);
+        sheet.setMargin((short) 2, 12);
+        sheet.setMargin((short) 3, 13);
+        sheet.setMargin((short) 4, 14);
+        sheet.setMargin((short) 5, 15);
+        assertEquals((double) 10, sheet.getMargin((short) 0));
+        assertEquals((double) 11, sheet.getMargin((short) 1));
+        assertEquals((double) 12, sheet.getMargin((short) 2));
+        assertEquals((double) 13, sheet.getMargin((short) 3));
+        assertEquals((double) 14, sheet.getMargin((short) 4));
+        assertEquals((double) 15, sheet.getMargin((short) 5));
+        
+        // Test that nothing happens if another margin constant is given (E.G. 65)
+        sheet.setMargin((short) 65, 15);
+        assertEquals((double) 10, sheet.getMargin((short) 0));
+        assertEquals((double) 11, sheet.getMargin((short) 1));
+        assertEquals((double) 12, sheet.getMargin((short) 2));
+        assertEquals((double) 13, sheet.getMargin((short) 3));
+        assertEquals((double) 14, sheet.getMargin((short) 4));
+        assertEquals((double) 15, sheet.getMargin((short) 5));
+    }
 }



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


Mime
View raw message