| using System; |
| using System.IO; |
| using Microsoft.VisualStudio.TestTools.UnitTesting; |
| using OfficeOpenXml; |
| |
| namespace EPPlusTest.FormulaParsing.IntegrationTests |
| { |
| [TestClass] |
| public class CalcExtensionsTests |
| { |
| [TestMethod] |
| public void ShouldCalculateChainTest() |
| { |
| var package = new ExcelPackage(new FileInfo("c:\\temp\\chaintest.xlsx")); |
| package.Workbook.Calculate(); |
| } |
| |
| [TestMethod] |
| public void CalculateTest() |
| { |
| //var pck = new ExcelPackage(); |
| //var ws = pck.Workbook.Worksheets.Add("Calc1"); |
| |
| //ws.SetValue("A1", (short)1); |
| //var v = pck.Workbook.FormulaParserManager.Parse("2.5-Calc1!A1+abs(3.0)-SIN(3)"); |
| //Assert.AreEqual(4.358879992, Math.Round((double)v, 9)); |
| |
| var pck = new ExcelPackage(); |
| var ws = pck.Workbook.Worksheets.Add("Calc1"); |
| |
| ws.SetValue("A1", (short)1); |
| var v = pck.Workbook.FormulaParserManager.Parse("2.5-Calc1!A1+ABS(-3.0)-SIN(3)*abs(5)"); |
| Assert.AreEqual(3.79439996, Math.Round((double)v,9)); |
| } |
| |
| [TestMethod] |
| public void CalculateTest2() |
| { |
| var pck = new ExcelPackage(); |
| var ws = pck.Workbook.Worksheets.Add("Calc1"); |
| |
| ws.SetValue("A1", (short)1); |
| var v = pck.Workbook.FormulaParserManager.Parse("3*(2+5.5*2)+2*0.5+3"); |
| Assert.AreEqual(43, Math.Round((double)v, 9)); |
| } |
| } |
| } |