| using System; |
| using System.Text; |
| using System.Collections.Generic; |
| using System.Linq; |
| using Microsoft.VisualStudio.TestTools.UnitTesting; |
| using Rhino.Mocks; |
| using OfficeOpenXml.FormulaParsing; |
| using OfficeOpenXml.FormulaParsing.Exceptions; |
| |
| namespace EPPlusTest.FormulaParsing.IntegrationTests.ExcelDataProviderTests |
| { |
| [TestClass] |
| public class ExcelDataProviderIntegrationTests |
| { |
| private ExcelCell CreateItem(object val, int row) |
| { |
| return new ExcelCell(val, null, 0, row); |
| } |
| |
| //[TestMethod] |
| //public void ShouldCallProviderInSumFunctionAndCalculateResult() |
| //{ |
| // var expectedAddres = "A1:A2"; |
| // var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| // provider |
| // .Stub(x => x.GetRangeValues(string.Empty, expectedAddres)) |
| // .Return(new object[] { 1, 2 }); |
| // var parser = new FormulaParser(provider); |
| // var result = parser.Parse(string.Format("sum({0})", expectedAddres)); |
| // Assert.AreEqual(3d, result); |
| //} |
| |
| //[TestMethod] |
| //public void ShouldExecuteFormulaInRange() |
| //{ |
| // var expectedAddres = "A1:A2"; |
| // var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| // provider |
| // .Stub(x => x.GetRangeValues(expectedAddres)) |
| // .Return(new object[] { 1, new ExcelCell(null, "SUM(1,2)", 0, 1) }); |
| // var parser = new FormulaParser(provider); |
| // var result = parser.Parse(string.Format("sum({0})", expectedAddres)); |
| // Assert.AreEqual(4d, result); |
| //} |
| |
| //[TestMethod, ExpectedException(typeof(CircularReferenceException))] |
| //public void ShouldHandleCircularReference2() |
| //{ |
| // var expectedAddres = "A1:A2"; |
| // var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| // provider |
| // .Stub(x => x.GetRangeValues(expectedAddres)) |
| // .Return(new ExcelCell[] { CreateItem(1, 0), new ExcelCell(null, "SUM(A1:A2)",0, 1) }); |
| // var parser = new FormulaParser(provider); |
| // var result = parser.Parse(string.Format("sum({0})", expectedAddres)); |
| //} |
| } |
| } |