| 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); | |
| //} | |
| } | |
| } |