You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by jo...@apache.org on 2008/05/13 17:25:51 UTC

svn commit: r655912 - /poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java

Author: josh
Date: Tue May 13 08:25:51 2008
New Revision: 655912

URL: http://svn.apache.org/viewvc?rev=655912&view=rev
Log:
added test case for reported bug 44987

Modified:
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java?rev=655912&r1=655911&r2=655912&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java Tue May 13 08:25:51 2008
@@ -17,11 +17,10 @@
 
 package org.apache.poi.hssf.usermodel;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
 import junit.framework.TestCase;
 
+import org.apache.poi.hssf.HSSFTestDataSamples;
+
 /**
  * Test HSSFRow is okay.
  *
@@ -32,7 +31,7 @@
     public void testLastAndFirstColumns() {
         HSSFWorkbook workbook = new HSSFWorkbook();
         HSSFSheet sheet = workbook.createSheet();
-        HSSFRow row = sheet.createRow((short) 0);
+        HSSFRow row = sheet.createRow(0);
         assertEquals(-1, row.getFirstCellNum());
         assertEquals(-1, row.getLastCellNum());
 
@@ -50,7 +49,35 @@
         assertEquals(4, row.getLastCellNum());
     }
 
-    public void testRemoveCell() throws Exception {
+    /**
+     * Make sure that there is no cross-talk between rows especially with getFirstCellNum and getLastCellNum
+     * This test was added in response to bug report 44987.
+     */
+    public void testBoundsInMultipleRows() {
+        HSSFWorkbook workbook = new HSSFWorkbook();
+        HSSFSheet sheet = workbook.createSheet();
+        HSSFRow rowA = sheet.createRow(0);
+
+        rowA.createCell((short) 10);
+        rowA.createCell((short) 5);
+        assertEquals(5, rowA.getFirstCellNum());
+        assertEquals(11, rowA.getLastCellNum());
+
+        HSSFRow rowB = sheet.createRow(1);
+        rowB.createCell((short) 15);
+        rowB.createCell((short) 30);
+        assertEquals(15, rowB.getFirstCellNum());
+        assertEquals(31, rowB.getLastCellNum());
+
+        assertEquals(5, rowA.getFirstCellNum());
+        assertEquals(11, rowA.getLastCellNum());
+        rowA.createCell((short) 50);
+        assertEquals(51, rowA.getLastCellNum());
+
+        assertEquals(31, rowB.getLastCellNum());
+    }
+
+    public void testRemoveCell() {
         HSSFWorkbook workbook = new HSSFWorkbook();
         HSSFSheet sheet = workbook.createSheet();
         HSSFRow row = sheet.createRow((short) 0);
@@ -76,16 +103,11 @@
         assertEquals(0, data[6]);
         assertEquals(0, data[8]);
 
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        workbook.write(baos);
-        baos.close();
-        ByteArrayInputStream inputStream = new ByteArrayInputStream(baos.toByteArray());
-        workbook = new HSSFWorkbook(inputStream);
+        workbook = HSSFTestDataSamples.writeOutAndReadBack(workbook);
         sheet = workbook.getSheetAt(0);
-        inputStream.close();
 
-        assertEquals(-1, sheet.getRow((short) 0).getLastCellNum());
-        assertEquals(-1, sheet.getRow((short) 0).getFirstCellNum());
+        assertEquals(-1, sheet.getRow(0).getLastCellNum());
+        assertEquals(-1, sheet.getRow(0).getFirstCellNum());
     }
 
     public void testMoveCell() {



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