package org.jboss.seam.test.excel.unit; import org.jboss.seam.excel.csv.CsvExcelWorkbook; import org.jboss.seam.excel.ui.UICell; import org.jboss.seam.excel.ui.UIWorkbook; import org.jboss.seam.excel.ui.UIWorksheet; import org.testng.annotations.Test; @Test public class TestCsvWorkbook { @Test(expectedExceptions = { RuntimeException.class }) public void testOneSheetOnly() { CsvExcelWorkbook wb = new CsvExcelWorkbook(); UIWorkbook uiWorkbook = new UIWorkbook(); wb.createWorkbook(uiWorkbook); UIWorksheet sheet = new UIWorksheet(); sheet.setName("sheet"); wb.createOrSelectWorksheet(sheet); UIWorksheet sheet2 = new UIWorksheet(); sheet2.setName("sheet2"); wb.createOrSelectWorksheet(sheet2); } @Test public void testSimpleAdd() { CsvExcelWorkbook wb = new CsvExcelWorkbook(); UIWorkbook uiWorkbook = new UIWorkbook(); wb.createWorkbook(uiWorkbook); UIWorksheet sheet = new UIWorksheet(); sheet.setName("sheet"); wb.createOrSelectWorksheet(sheet); for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { UICell cell = new UICell(); cell.setValue(i + "_" + j); wb.addItem(cell); } wb.nextColumn(); } byte[] correct = new String("\"0_0\",\"1_0\"\n\"0_1\",\"1_1\"\n").getBytes(); byte[] created = wb.getBytes(); for (int i = 0; i < created.length; i++) { assert correct[i] == created[i]; } } public void testAddExplicit() { CsvExcelWorkbook wb = new CsvExcelWorkbook(); UIWorkbook uiWorkbook = new UIWorkbook(); wb.createWorkbook(uiWorkbook); UIWorksheet sheet = new UIWorksheet(); sheet.setName("sheet"); wb.createOrSelectWorksheet(sheet); UICell cell = new UICell(); cell.setValue("A1"); cell.setColumn(0); cell.setRow(0); wb.addItem(cell); cell.setValue("C2"); cell.setColumn(2); cell.setRow(1); wb.addItem(cell); byte[] correct = new String("\"A1\",\"\",\"\"\n\"\",\"\",\"C2\"\n").getBytes(); byte[] created = wb.getBytes(); System.out.println(new String(created)); for (int i = 0; i < created.length; i++) { assert correct[i] == created[i]; } } @Test public void testOverlapAdd() { CsvExcelWorkbook wb = new CsvExcelWorkbook(); UIWorkbook uiWorkbook = new UIWorkbook(); wb.createWorkbook(uiWorkbook); UIWorksheet sheet = new UIWorksheet(); sheet.setName("sheet"); wb.createOrSelectWorksheet(sheet); for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { UICell cell = new UICell(); cell.setValue(i + "_" + j); wb.addItem(cell); } wb.nextColumn(); } sheet.setStartColumn(1); sheet.setStartRow(1); wb.createOrSelectWorksheet(sheet); for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { UICell cell = new UICell(); cell.setValue(i + "_" + j); wb.addItem(cell); } wb.nextColumn(); } byte[] correct = new String("\"0_0\",\"1_0\",\"\"\n\"0_1\",\"0_0\",\"1_0\"\n\"\",\"0_1\",\"1_1\"\n").getBytes(); byte[] created = wb.getBytes(); for (int i = 0; i < created.length; i++) { assert correct[i] == created[i]; } } }