private void testCFRuleRecord(CFRuleRecord record) { FontFormatting fontFormatting = new FontFormatting(); testFontFormattingAccessors(fontFormatting); assertFalse(record.containsFontFormattingBlock()); record.setFontFormatting(fontFormatting); assertTrue(record.containsFontFormattingBlock()); BorderFormatting borderFormatting = new BorderFormatting(); testBorderFormattingAccessors(borderFormatting); assertFalse(record.containsBorderFormattingBlock()); record.setBorderFormatting(borderFormatting); assertTrue(record.containsBorderFormattingBlock()); assertFalse(record.isLeftBorderModified()); record.setLeftBorderModified(true); assertTrue(record.isLeftBorderModified()); assertFalse(record.isRightBorderModified()); record.setRightBorderModified(true); assertTrue(record.isRightBorderModified()); assertFalse(record.isTopBorderModified()); record.setTopBorderModified(true); assertTrue(record.isTopBorderModified()); assertFalse(record.isBottomBorderModified()); record.setBottomBorderModified(true); assertTrue(record.isBottomBorderModified()); assertFalse(record.isTopLeftBottomRightBorderModified()); record.setTopLeftBottomRightBorderModified(true); assertTrue(record.isTopLeftBottomRightBorderModified()); assertFalse(record.isBottomLeftTopRightBorderModified()); record.setBottomLeftTopRightBorderModified(true); assertTrue(record.isBottomLeftTopRightBorderModified()); PatternFormatting patternFormatting = new PatternFormatting(); testPatternFormattingAccessors(patternFormatting); assertFalse(record.containsPatternFormattingBlock()); record.setPatternFormatting(patternFormatting); assertTrue(record.containsPatternFormattingBlock()); assertFalse(record.isPatternBackgroundColorModified()); record.setPatternBackgroundColorModified(true); assertTrue(record.isPatternBackgroundColorModified()); assertFalse(record.isPatternColorModified()); record.setPatternColorModified(true); assertTrue(record.isPatternColorModified()); assertFalse(record.isPatternStyleModified()); record.setPatternStyleModified(true); assertTrue(record.isPatternStyleModified()); }
public void testWrite() { HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(); CFRuleRecord rr = CFRuleRecord.create(sheet, ComparisonOperator.BETWEEN, "5", "10"); PatternFormatting patternFormatting = new PatternFormatting(); patternFormatting.setFillPattern(PatternFormatting.BRICKS); rr.setPatternFormatting(patternFormatting); byte[] data = rr.serialize(); assertEquals(26, data.length); assertEquals(3, LittleEndian.getShort(data, 6)); assertEquals(3, LittleEndian.getShort(data, 8)); int flags = LittleEndian.getInt(data, 10); assertEquals("unused flags should be 111", 0x00380000, flags & 0x00380000); assertEquals( "undocumented flags should be 0000", 0, flags & 0x03C00000); // Otherwise Excel gets unhappy // check all remaining flag bits (some are not well understood yet) assertEquals(0x203FFFFF, flags); }