bug 26862: add test case for HSSFWorkbook.cloneSheet copies charts

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1710730 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Javen O'Neal 2015-10-27 07:43:23 +00:00
parent bcb09a3798
commit c65de59909

View File

@ -17,6 +17,8 @@
package org.apache.poi.hssf.usermodel; package org.apache.poi.hssf.usermodel;
import java.io.IOException;
import org.junit.Test; import org.junit.Test;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotEquals;
@ -236,4 +238,37 @@ public final class TestHSSFChart {
HSSFChart chart = charts[ 2 ] ; HSSFChart chart = charts[ 2 ] ;
chart.removeSeries( chart.getSeries()[ 0 ] ) ; chart.removeSeries( chart.getSeries()[ 0 ] ) ;
} }
/**
* Bug 26862: HSSFWorkbook.cloneSheet copies charts
*/
@Test
public void test26862() throws IOException, Exception {
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SimpleChart.xls");
HSSFSheet srcSheet = wb.getSheetAt(0);
HSSFChart[] srcCharts = HSSFChart.getSheetCharts(srcSheet);
assertEquals(1, srcCharts.length);
HSSFChart srcChart = srcCharts[0];
// Clone the sheet
HSSFSheet clonedSheet = wb.cloneSheet(0);
// Verify the chart was copied
HSSFChart[] clonedCharts = HSSFChart.getSheetCharts(clonedSheet);
assertEquals(1, clonedCharts.length);
HSSFChart clonedChart = clonedCharts[0];
assertNotSame(srcChart, clonedChart); //refer to different objects
assertEquals(srcChart.getType(), clonedChart.getType());
assertEquals(srcChart.getChartTitle(), clonedChart.getChartTitle());
assertEquals(srcChart.getChartWidth(), clonedChart.getChartWidth());
assertEquals(srcChart.getChartHeight(), clonedChart.getChartHeight());
assertEquals(srcChart.getChartX(), clonedChart.getChartX());
assertEquals(srcChart.getChartY(), clonedChart.getChartY());
// Check if chart was shallow copied or deep copied
clonedChart.setChartWidth(clonedChart.getChartWidth()+10);
assertEquals(srcChart.getChartWidth()+10, clonedChart.getChartWidth());
wb.close();
}
} }