123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- /* ====================================================================
- Copyright 2002-2004 Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ==================================================================== */
-
- package org.apache.poi.hssf.usermodel;
-
- import junit.framework.TestCase;
-
- import org.apache.poi.hssf.HSSFTestDataSamples;
-
- /**
- * Class to test row styling functionality
- *
- * @author Amol S. Deshmukh < amolweb at ya hoo dot com >
- */
- public final class TestRowStyle extends TestCase {
-
- /**
- * TEST NAME: Test Write Sheet Font <P>
- * OBJECTIVE: Test that HSSF can create a simple spreadsheet with numeric and string values and styled with fonts.<P>
- * SUCCESS: HSSF creates a sheet. Filesize matches a known good. HSSFSheet objects
- * Last row, first row is tested against the correct values (99,0).<P>
- * FAILURE: HSSF does not create a sheet or excepts. Filesize does not match the known good.
- * HSSFSheet last row or first row is incorrect. <P>
- *
- */
- public void testWriteSheetFont() {
- HSSFWorkbook wb = new HSSFWorkbook();
- HSSFSheet s = wb.createSheet();
- HSSFRow r = null;
- HSSFFont fnt = wb.createFont();
- HSSFCellStyle cs = wb.createCellStyle();
-
- fnt.setColor(HSSFFont.COLOR_RED);
- fnt.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
- cs.setFont(fnt);
- for (int rownum = 0; rownum < 100; rownum++)
- {
- r = s.createRow(rownum);
- r.setRowStyle(cs);
- r.createCell(0);
- }
- wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-
- SanityChecker sanityChecker = new SanityChecker();
- sanityChecker.checkHSSFWorkbook(wb);
- assertEquals("LAST ROW == 99", 99, s.getLastRowNum());
- assertEquals("FIRST ROW == 0", 0, s.getFirstRowNum());
- }
-
- /**
- * Tests that is creating a file with a date or an calendar works correctly.
- */
- public void testDataStyle() {
- HSSFWorkbook wb = new HSSFWorkbook();
- HSSFSheet s = wb.createSheet();
- HSSFCellStyle cs = wb.createCellStyle();
- HSSFRow row = s.createRow(0);
-
- // with Date:
- cs.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
- row.setRowStyle(cs);
- row.createCell(0);
-
-
- // with Calendar:
- row = s.createRow(1);
- cs.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
- row.setRowStyle(cs);
- row.createCell(0);
-
- wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-
- SanityChecker sanityChecker = new SanityChecker();
- sanityChecker.checkHSSFWorkbook(wb);
-
- assertEquals("LAST ROW ", 1, s.getLastRowNum());
- assertEquals("FIRST ROW ", 0, s.getFirstRowNum());
-
- }
-
- /**
- * TEST NAME: Test Write Sheet Style <P>
- * OBJECTIVE: Test that HSSF can create a simple spreadsheet with numeric and string values and styled with colors
- * and borders.<P>
- * SUCCESS: HSSF creates a sheet. Filesize matches a known good. HSSFSheet objects
- * Last row, first row is tested against the correct values (99,0).<P>
- * FAILURE: HSSF does not create a sheet or excepts. Filesize does not match the known good.
- * HSSFSheet last row or first row is incorrect. <P>
- *
- */
- public void testWriteSheetStyle() {
- HSSFWorkbook wb = new HSSFWorkbook();
- HSSFSheet s = wb.createSheet();
- HSSFRow r = null;
- HSSFFont fnt = wb.createFont();
- HSSFCellStyle cs = wb.createCellStyle();
- HSSFCellStyle cs2 = wb.createCellStyle();
-
- cs.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- cs.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- cs.setBorderRight(HSSFCellStyle.BORDER_THIN);
- cs.setBorderTop(HSSFCellStyle.BORDER_THIN);
- cs.setFillForegroundColor(( short ) 0xA);
- cs.setFillPattern(( short ) 1);
- fnt.setColor(( short ) 0xf);
- fnt.setItalic(true);
- cs2.setFillForegroundColor(( short ) 0x0);
- cs2.setFillPattern(( short ) 1);
- cs2.setFont(fnt);
- for (int rownum = 0; rownum < 100; rownum++)
- {
- r = s.createRow(rownum);
- r.setRowStyle(cs);
- r.createCell(0);
-
- rownum++;
- if (rownum >= 100) break; // I feel too lazy to check if this isreqd :-/
-
- r = s.createRow(rownum);
- r.setRowStyle(cs2);
- r.createCell(0);
- }
- wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-
- SanityChecker sanityChecker = new SanityChecker();
- sanityChecker.checkHSSFWorkbook(wb);
- assertEquals("LAST ROW == 99", 99, s.getLastRowNum());
- assertEquals("FIRST ROW == 0", 0, s.getFirstRowNum());
-
- s = wb.getSheetAt(0);
- assertNotNull("Sheet is not null", s);
-
- for (int rownum = 0; rownum < 100; rownum++)
- {
- r = s.getRow(rownum);
- assertNotNull("Row is not null", r);
-
- cs = r.getRowStyle();
- assertEquals("FillForegroundColor for row: ", cs.getBorderBottom(), HSSFCellStyle.BORDER_THIN);
- assertEquals("FillPattern for row: ", cs.getBorderLeft(), HSSFCellStyle.BORDER_THIN);
- assertEquals("FillForegroundColor for row: ", cs.getBorderRight(), HSSFCellStyle.BORDER_THIN);
- assertEquals("FillPattern for row: ", cs.getBorderTop(), HSSFCellStyle.BORDER_THIN);
- assertEquals("FillForegroundColor for row: ", cs.getFillForegroundColor(), 0xA);
- assertEquals("FillPattern for row: ", cs.getFillPattern(), (short) 0x1);
-
- rownum++;
- if (rownum >= 100) break; // I feel too lazy to check if this isreqd :-/
-
- r = s.getRow(rownum);
- assertNotNull("Row is not null", r);
- cs2 = r.getRowStyle();
- assertEquals("FillForegroundColor for row: ", cs2.getFillForegroundColor(), (short) 0x0);
- assertEquals("FillPattern for row: ", cs2.getFillPattern(), (short) 0x1);
- }
- }
- }
|