/sigmah/src/test/java/org/sigmah/server/report/renderer/excel/PivotTableRendererTest.java

http://sigma-h.googlecode.com/ · Java · 103 lines · 59 code · 27 blank · 17 comment · 0 complexity · dcec84affc929250807c275a30e7658a MD5 · raw file

  1. /*
  2. * All Sigmah code is released under the GNU General Public License v3
  3. * See COPYRIGHT.txt and LICENSE.txt.
  4. */
  5. package org.sigmah.server.report.renderer.excel;
  6. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  7. import org.apache.poi.ss.usermodel.Sheet;
  8. import org.junit.Assert;
  9. import org.junit.Test;
  10. import org.sigmah.server.report.DummyPivotTableData;
  11. import org.sigmah.server.report.DummyPivotTableData2;
  12. import org.sigmah.shared.report.model.PivotTableElement;
  13. import java.io.File;
  14. import java.io.FileOutputStream;
  15. import java.io.IOException;
  16. import java.io.OutputStream;
  17. /**
  18. * @author Alex Bertram (akbertram@gmail.com)
  19. */
  20. public class PivotTableRendererTest {
  21. @Test
  22. public void test() {
  23. // input test data : element + content
  24. DummyPivotTableData testData = new DummyPivotTableData();
  25. PivotTableElement element = testData.Foobar1612Element();
  26. // Destination book
  27. HSSFWorkbook book = new HSSFWorkbook();
  28. // CLASS under test
  29. ExcelPivotTableRenderer renderer = new ExcelPivotTableRenderer();
  30. renderer.render(book, element);
  31. // VERIFY output
  32. Sheet sheet = book.getSheetAt(0);
  33. Assert.assertEquals("title cell", element.getTitle(),
  34. sheet.getRow(0).getCell(0).getRichStringCellValue().getString());
  35. Assert.assertEquals("last column header", "Abri",
  36. sheet.getRow(4).getCell(5).getRichStringCellValue().getString());
  37. Assert.assertEquals("columns headers indentation", (short) 0,
  38. sheet.getRow(4).getCell(3).getCellStyle().getIndention());
  39. // Write output to disk
  40. try {
  41. File outputFile = new File("target/report-tests");
  42. outputFile.mkdirs();
  43. OutputStream out =
  44. new FileOutputStream(outputFile.getAbsoluteFile() + "/PivotTableRendererTest.xls");
  45. book.write(out);
  46. out.close();
  47. } catch (IOException e) {
  48. e.printStackTrace();
  49. }
  50. }
  51. @Test
  52. public void testNoColumnDimensions() {
  53. // input test data : element + content
  54. DummyPivotTableData2 testData = new DummyPivotTableData2();
  55. PivotTableElement element = testData.testElement();
  56. // Destination book
  57. HSSFWorkbook book = new HSSFWorkbook();
  58. // CLASS under test
  59. ExcelPivotTableRenderer renderer = new ExcelPivotTableRenderer();
  60. renderer.render(book, element);
  61. // Write output to disk
  62. try {
  63. File outputFile = new File("target/report-tests");
  64. outputFile.mkdirs();
  65. OutputStream out =
  66. new FileOutputStream(outputFile.getAbsoluteFile() + "/testNoColumnDimensions.xls");
  67. book.write(out);
  68. out.close();
  69. } catch (IOException e) {
  70. e.printStackTrace();
  71. }
  72. // VERIFY output
  73. Sheet sheet = book.getSheetAt(0);
  74. Assert.assertEquals(100, (int) sheet.getRow(5).getCell(1).getNumericCellValue());
  75. }
  76. }