| 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.ExcelUtilities; |
| using OfficeOpenXml.FormulaParsing.ExpressionGraph; |
| |
| namespace EPPlusTest.FormulaParsing.ExpressionGraph |
| { |
| [TestClass] |
| public class ExcelAddressExpressionTests |
| { |
| private ParsingContext _parsingContext; |
| private ParsingScope _scope; |
| |
| private ExcelCell CreateItem(object val) |
| { |
| return new ExcelCell(val, null, 0, 0); |
| } |
| |
| [TestInitialize] |
| public void Setup() |
| { |
| _parsingContext = ParsingContext.Create(); |
| _scope = _parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| } |
| |
| [TestCleanup] |
| public void Cleanup() |
| { |
| _scope.Dispose(); |
| } |
| |
| [TestMethod, ExpectedException(typeof(ArgumentNullException))] |
| public void ConstructorShouldThrowIfExcelDataProviderIsNull() |
| { |
| new ExcelAddressExpression("A1", null, _parsingContext); |
| } |
| |
| [TestMethod, ExpectedException(typeof(ArgumentNullException))] |
| public void ConstructorShouldThrowIfParsingContextIsNull() |
| { |
| new ExcelAddressExpression("A1", MockRepository.GenerateStub<ExcelDataProvider>(), null); |
| } |
| |
| //TODO:Fix Test /Janne |
| //[TestMethod] |
| //public void ShouldCallReturnResultFromProvider() |
| //{ |
| // var expectedAddress = "A1"; |
| // var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| // provider |
| // .Stub(x => x.GetRangeValues(string.Empty, expectedAddress)) |
| // .Return(new object[]{ 1 }); |
| |
| // var expression = new ExcelAddressExpression(expectedAddress, provider, _parsingContext); |
| // var result = expression.Compile(); |
| // Assert.AreEqual(1, result.Result); |
| //} |
| |
| //TODO:Fix Test /Janne |
| //[TestMethod] |
| //public void CompileShouldReturnAddress() |
| //{ |
| // var expectedAddress = "A1"; |
| // var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| // provider |
| // .Stub(x => x.GetRangeValues(expectedAddress)) |
| // .Return(new ExcelCell[] { CreateItem(1) }); |
| |
| // var expression = new ExcelAddressExpression(expectedAddress, provider, _parsingContext); |
| // expression.ParentIsLookupFunction = true; |
| // var result = expression.Compile(); |
| // Assert.AreEqual(expectedAddress, result.Result); |
| |
| //} |
| } |
| } |