예제 #1
0
        public void IfGettingCachedFormulaTypeShouldNotThrowErrorIfCellTypeIsNumeric()
        {
            _objectToTest = new SXSSFCell(null, CellType.Formula);
            _objectToTest.SetCellFormula("SUM(C4:E4)");

            Assert.AreEqual(CellType.Numeric, _objectToTest.CachedFormulaResultType);
        }
예제 #2
0
        public void TestEvaluateSimple()
        {
            SXSSFWorkbook wb = new SXSSFWorkbook(5);
            SXSSFSheet    s  = wb.CreateSheet() as SXSSFSheet;

            IFormulaEvaluator eval = wb.GetCreationHelper().CreateFormulaEvaluator();

            SXSSFCell c = s.CreateRow(0).CreateCell(0) as SXSSFCell;

            c.CellFormula = (/*setter*/ "1+2");
            Assert.AreEqual(0, (int)c.NumericCellValue);
            eval.EvaluateFormulaCell(c);
            Assert.AreEqual(3, (int)c.NumericCellValue);

            c             = s.CreateRow(1).CreateCell(0) as SXSSFCell;
            c.CellFormula = (/*setter*/ "CONCATENATE(\"hello\",\" \",\"world\")");
            eval.EvaluateFormulaCell(c);
            Assert.AreEqual("hello world", c.StringCellValue);
        }
예제 #3
0
        public void TestEvaluateRefInsideWindow()
        {
            SXSSFWorkbook wb = new SXSSFWorkbook(5);
            SXSSFSheet    s  = wb.CreateSheet() as SXSSFSheet;

            IFormulaEvaluator eval = wb.GetCreationHelper().CreateFormulaEvaluator();

            SXSSFCell c = s.CreateRow(0).CreateCell(0) as SXSSFCell;

            c.SetCellValue(1.5);

            c             = s.CreateRow(1).CreateCell(0) as SXSSFCell;
            c.CellFormula = (/*setter*/ "A1*2");

            Assert.AreEqual(0, (int)c.NumericCellValue);
            eval.EvaluateFormulaCell(c);
            Assert.AreEqual(3, (int)c.NumericCellValue);

            wb.Close();
        }
예제 #4
0
 public void IfSettingCellFormulaShouldReturnSetForCellTypeFormula()
 {
     _objectToTest             = new SXSSFCell(null, CellType.Formula);
     _objectToTest.CellFormula = "SUM(C4:E4)";
     Assert.AreEqual("SUM(C4:E4)", _objectToTest.CellFormula);
 }
예제 #5
0
 public void IfGettingCellFormulaShouldReturnFormulaValueIfValidCellType()
 {
     _objectToTest = new SXSSFCell(null, CellType.Formula);
     _objectToTest.SetCellFormula("SUM(C4:E4)");
     Assert.AreEqual("SUM(C4:E4)", _objectToTest.CellFormula);
 }
예제 #6
0
        public void IfCellTypeIsFormulaBooleanCellValueShouldReturnTrueIfValidBooleanFormulaValue()
        {
            _objectToTest = new SXSSFCell(null, CellType.Formula);

            Assert.IsFalse(_objectToTest.BooleanCellValue);
        }
예제 #7
0
 public void IfCellTypeIsBlankBooleanCellValueShouldReturnFalse()
 {
     _objectToTest = new SXSSFCell(null, CellType.Blank);
     Assert.IsFalse(_objectToTest.BooleanCellValue);
 }
예제 #8
0
 public void IfSettingFormulaValueWithNullShouldChangeToBlankCell()
 {
     _objectToTest = new SXSSFCell(null, CellType.Formula);
     _objectToTest.SetCellFormula(null);
     Assert.AreEqual(CellType.Blank, _objectToTest.CellType);
 }
예제 #9
0
 public void IfSettingCellErrorValueAndIsFormulaErrorShouldSetFormulaErrorValue()
 {
     _objectToTest = new SXSSFCell(null, CellType.Numeric);
     _objectToTest.SetCellErrorValue(FormulaError.DIV0.Code);
     Assert.AreEqual((byte)7, _objectToTest.ErrorCellValue);
 }
예제 #10
0
 public void IfSettingFormulaValueShouldSetFormulaValue()
 {
     _objectToTest = new SXSSFCell(null, CellType.Formula);
     _objectToTest.SetCellFormula("SUM(C4:E4)");
     Assert.AreEqual("SUM(C4:E4)", _objectToTest.CellFormula);
 }
예제 #11
0
 public void IfSettingCellErrorValueShouldSetValue()
 {
     _objectToTest = new SXSSFCell(null, CellType.Error);
     _objectToTest.SetCellErrorValue((byte)(0x00));
     Assert.AreEqual((byte)0x00, _objectToTest.ErrorCellValue);
 }
예제 #12
0
 public void IfCellTypeIsNumericCellValueShouldReturnValue()
 {
     _objectToTest = new SXSSFCell(null, CellType.Formula);
     _objectToTest.SetCellValue(9);
     Assert.AreEqual(9, _objectToTest.NumericCellValue);
 }
예제 #13
0
 public void IfCellTypeIsFormulaNumericCellValueShouldReturnPreEvaluatedFormulaValue()
 {
     _objectToTest = new SXSSFCell(null, CellType.Formula);
     _objectToTest.SetCellFormula("SUM(C4:E4)");
     Assert.AreEqual(0.0, _objectToTest.NumericCellValue);
 }
예제 #14
0
 public void IfCellTypeIsBlankNumericCellValueShouldReturnZero()
 {
     _objectToTest = new SXSSFCell(null, CellType.Blank);
     Assert.AreEqual(0.0, _objectToTest.NumericCellValue);
 }
예제 #15
0
 public void IfSettingNullCellFormulaShouldReturnSetCellTypeToBlank()
 {
     _objectToTest             = new SXSSFCell(null, CellType.Formula);
     _objectToTest.CellFormula = null;
     Assert.AreEqual(CellType.Blank, _objectToTest.CellType);
 }