public void testConstructors() { HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(); CFRuleRecord rule1 = CFRuleRecord.create(sheet, "7"); assertEquals(CFRuleRecord.CONDITION_TYPE_FORMULA, rule1.getConditionType()); assertEquals(ComparisonOperator.NO_COMPARISON, rule1.getComparisonOperation()); assertNotNull(rule1.getParsedExpression1()); assertSame(Ptg.EMPTY_PTG_ARRAY, rule1.getParsedExpression2()); CFRuleRecord rule2 = CFRuleRecord.create(sheet, ComparisonOperator.BETWEEN, "2", "5"); assertEquals(CFRuleRecord.CONDITION_TYPE_CELL_VALUE_IS, rule2.getConditionType()); assertEquals(ComparisonOperator.BETWEEN, rule2.getComparisonOperation()); assertNotNull(rule2.getParsedExpression1()); assertNotNull(rule2.getParsedExpression2()); CFRuleRecord rule3 = CFRuleRecord.create(sheet, ComparisonOperator.EQUAL, null, null); assertEquals(CFRuleRecord.CONDITION_TYPE_CELL_VALUE_IS, rule3.getConditionType()); assertEquals(ComparisonOperator.EQUAL, rule3.getComparisonOperation()); assertSame(Ptg.EMPTY_PTG_ARRAY, rule3.getParsedExpression2()); assertSame(Ptg.EMPTY_PTG_ARRAY, rule3.getParsedExpression2()); }
/** tRefN and tAreaN tokens must be preserved when re-serializing conditional format formulas */ public void testReserializeRefNTokens() { RecordInputStream is = TestcaseRecordInputStream.create(CFRuleRecord.sid, DATA_REFN); CFRuleRecord rr = new CFRuleRecord(is); Ptg[] ptgs = rr.getParsedExpression1(); assertEquals(3, ptgs.length); if (ptgs[0] instanceof RefPtg) { throw new AssertionFailedError("Identified bug 45234"); } assertEquals(RefNPtg.class, ptgs[0].getClass()); RefNPtg refNPtg = (RefNPtg) ptgs[0]; assertTrue(refNPtg.isColRelative()); assertTrue(refNPtg.isRowRelative()); byte[] data = rr.serialize(); TestcaseRecordInputStream.confirmRecordEncoding(CFRuleRecord.sid, DATA_REFN, data); }