blob: 4b73451a8a925b5dc85274cf936a1fb3f9a973bc [file] [log] [blame]
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));
}
}
}