| using System; |
| using System.Text; |
| using System.Collections.Generic; |
| using System.Linq; |
| using Microsoft.VisualStudio.TestTools.UnitTesting; |
| using OfficeOpenXml; |
| using Rhino.Mocks; |
| using EPPlusTest.FormulaParsing.TestHelpers; |
| using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup; |
| using OfficeOpenXml.FormulaParsing; |
| using OfficeOpenXml.FormulaParsing.Exceptions; |
| using OfficeOpenXml.FormulaParsing.ExcelUtilities; |
| using OfficeOpenXml.FormulaParsing.Excel.Functions; |
| using AddressFunction = OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup.Address; |
| |
| namespace EPPlusTest.Excel.Functions |
| { |
| [TestClass] |
| public class RefAndLookupTests |
| { |
| const string WorksheetName = null; |
| [TestMethod] |
| public void LookupArgumentsShouldSetSearchedValue() |
| { |
| var args = FunctionsHelper.CreateArgs(1, "A:B", 2); |
| var lookupArgs = new LookupArguments(args); |
| Assert.AreEqual(1, lookupArgs.SearchedValue); |
| } |
| |
| [TestMethod] |
| public void LookupArgumentsShouldSetRangeAddress() |
| { |
| var args = FunctionsHelper.CreateArgs(1, "A:B", 2); |
| var lookupArgs = new LookupArguments(args); |
| Assert.AreEqual("A:B", lookupArgs.RangeAddress); |
| } |
| |
| [TestMethod] |
| public void LookupArgumentsShouldSetColIndex() |
| { |
| var args = FunctionsHelper.CreateArgs(1, "A:B", 2); |
| var lookupArgs = new LookupArguments(args); |
| Assert.AreEqual(2, lookupArgs.LookupIndex); |
| } |
| |
| [TestMethod] |
| public void LookupArgumentsShouldSetRangeLookupToTrueAsDefaultValue() |
| { |
| var args = FunctionsHelper.CreateArgs(1, "A:B", 2); |
| var lookupArgs = new LookupArguments(args); |
| Assert.IsTrue(lookupArgs.RangeLookup); |
| } |
| |
| [TestMethod] |
| public void LookupArgumentsShouldSetRangeLookupToTrueWhenTrueIsSupplied() |
| { |
| var args = FunctionsHelper.CreateArgs(1, "A:B", 2, true); |
| var lookupArgs = new LookupArguments(args); |
| Assert.IsTrue(lookupArgs.RangeLookup); |
| } |
| |
| [TestMethod] |
| public void VLookupShouldReturnResultFromMatchingRow() |
| { |
| var func = new VLookup(); |
| var args = FunctionsHelper.CreateArgs(2, "A1:B2", 2); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 2)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName,2, 1)).Return(2); |
| provider.Stub(x => x.GetCellValue(WorksheetName,2, 2)).Return(5); |
| |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual(5, result.Result); |
| } |
| |
| [TestMethod] |
| public void VLookupShouldReturnClosestValueBelowWhenRangeLookupIsTrue() |
| { |
| var func = new VLookup(); |
| var args = FunctionsHelper.CreateArgs(4, "A1:B2", 2, true); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 2)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName,2, 1)).Return(5); |
| provider.Stub(x => x.GetCellValue(WorksheetName,2, 2)).Return(4); |
| |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual(1, result.Result); |
| } |
| |
| [TestMethod] |
| public void VLookupShouldReturnClosestStringValueBelowWhenRangeLookupIsTrue() |
| { |
| var func = new VLookup(); |
| var args = FunctionsHelper.CreateArgs("B", "A1:B2", 2, true); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| //provider.Stub(x => x.GetCellValue(WorksheetName,0, 0)).Return(new ExcelCell("A", null, 0, 0)); |
| //provider.Stub(x => x.GetCellValue(WorksheetName,0, 1)).Return(new ExcelCell(1, null, 0, 0)); |
| //provider.Stub(x => x.GetCellValue(WorksheetName,1, 0)).Return(new ExcelCell("C", null, 0, 0)); |
| //provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(new ExcelCell(4, null, 0, 0)); |
| |
| provider.Stub(x => x.GetCellValue(WorksheetName, 1, 1)).Return("A"); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 1, 2)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 2, 1)).Return("C"); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 2, 2)).Return(4); |
| |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual(1, result.Result); |
| } |
| |
| [TestMethod] |
| public void HLookupShouldReturnResultFromMatchingRow() |
| { |
| var func = new HLookup(); |
| var args = FunctionsHelper.CreateArgs(2, "A1:B2", 2); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| //provider.Stub(x => x.GetCellValue(WorksheetName,0, 0)).Return(new ExcelCell(3, null, 0, 0)); |
| //provider.Stub(x => x.GetCellValue(WorksheetName,0, 1)).Return(new ExcelCell(1, null, 0, 0)); |
| //provider.Stub(x => x.GetCellValue(WorksheetName,1, 0)).Return(new ExcelCell(2, null, 0, 0)); |
| //provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(new ExcelCell(5, null, 0, 0)); |
| |
| provider.Stub(x => x.GetCellValue(WorksheetName, 1, 1)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 1, 2)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 2, 1)).Return(2); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 2, 2)).Return(5); |
| |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual(5, result.Result); |
| } |
| |
| [TestMethod] |
| public void HLookupShouldReturnNaErrorIfNoMatchingRecordIsFoundWhenRangeLookupIsFalse() |
| { |
| var func = new HLookup(); |
| var args = FunctionsHelper.CreateArgs(2, "A1:B2", 2, false); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| |
| provider.Stub(x => x.GetCellValue(WorksheetName, 1, 1)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 1, 2)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 2, 1)).Return(2); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 2, 2)).Return(5); |
| |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| var expectedResult = ExcelErrorValue.Create(eErrorType.NA); |
| Assert.AreEqual(expectedResult, result.Result); |
| } |
| |
| [TestMethod, ExpectedException(typeof(ExcelErrorValueException))] |
| public void HLookupShouldThrowIfNoMatchingRecordIsFoundWhenRangeLookupIsTrue() |
| { |
| var func = new HLookup(); |
| var args = FunctionsHelper.CreateArgs(1, "A1:B2", 2, true); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| |
| provider.Stub(x => x.GetCellValue(WorksheetName, 1, 1)).Return(2); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 1, 2)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 2, 1)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName, 2, 2)).Return(5); |
| |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| } |
| |
| [TestMethod] |
| public void LookupShouldReturnResultFromMatchingRowArrayVertical() |
| { |
| var func = new Lookup(); |
| var args = FunctionsHelper.CreateArgs(4, "A1:B3", 2); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 2)).Return("A"); |
| provider.Stub(x => x.GetCellValue(WorksheetName,2, 1)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName,2, 2)).Return("B"); |
| provider.Stub(x => x.GetCellValue(WorksheetName,3, 1)).Return(5); |
| provider.Stub(x => x.GetCellValue(WorksheetName,3, 2)).Return("C"); |
| |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual("B", result.Result); |
| } |
| |
| [TestMethod] |
| public void LookupShouldReturnResultFromMatchingRowArrayHorizontal() |
| { |
| var func = new Lookup(); |
| var args = FunctionsHelper.CreateArgs(4, "A1:C2", 2); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 2)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 3)).Return(5); |
| provider.Stub(x => x.GetCellValue(WorksheetName,2, 1)).Return("A"); |
| provider.Stub(x => x.GetCellValue(WorksheetName,2, 2)).Return("B"); |
| provider.Stub(x => x.GetCellValue(WorksheetName,2, 3)).Return("C"); |
| |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual("B", result.Result); |
| } |
| |
| [TestMethod] |
| public void LookupShouldReturnResultFromMatchingSecondArrayHorizontal() |
| { |
| var func = new Lookup(); |
| var args = FunctionsHelper.CreateArgs(4, "A1:C1", "A3:C3"); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 2)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 3)).Return(5); |
| provider.Stub(x => x.GetCellValue(WorksheetName,3, 1)).Return("A"); |
| provider.Stub(x => x.GetCellValue(WorksheetName,3, 2)).Return("B"); |
| provider.Stub(x => x.GetCellValue(WorksheetName,3, 3)).Return("C"); |
| |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual("B", result.Result); |
| } |
| |
| [TestMethod] |
| public void LookupShouldReturnResultFromMatchingSecondArrayHorizontalWithOffset() |
| { |
| var func = new Lookup(); |
| var args = FunctionsHelper.CreateArgs(4, "A1:C1", "B3:D3"); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 2)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 3)).Return(5); |
| provider.Stub(x => x.GetCellValue(WorksheetName,3, 2)).Return("A"); |
| provider.Stub(x => x.GetCellValue(WorksheetName,3, 3)).Return("B"); |
| provider.Stub(x => x.GetCellValue(WorksheetName,3, 4)).Return("C"); |
| |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual("B", result.Result); |
| } |
| |
| [TestMethod] |
| public void MatchShouldReturnIndexOfMatchingValHorizontal_MatchTypeExact() |
| { |
| var func = new Match(); |
| var args = FunctionsHelper.CreateArgs(3, "A1:C1", 0); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 2)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 3)).Return(5); |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual(2, result.Result); |
| } |
| |
| [TestMethod] |
| public void MatchShouldReturnIndexOfMatchingValVertical_MatchTypeExact() |
| { |
| var func = new Match(); |
| var args = FunctionsHelper.CreateArgs(3, "A1:A3", 0); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName,2, 1)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName,3, 1)).Return(5); |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual(2, result.Result); |
| } |
| |
| [TestMethod] |
| public void MatchShouldReturnIndexOfMatchingValHorizontal_MatchTypeClosestBelow() |
| { |
| var func = new Match(); |
| var args = FunctionsHelper.CreateArgs(4, "A1:C1", 1); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(1); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 2)).Return(3); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 3)).Return(5); |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual(2, result.Result); |
| } |
| |
| [TestMethod] |
| public void MatchShouldReturnIndexOfMatchingValHorizontal_MatchTypeClosestAbove() |
| { |
| var func = new Match(); |
| var args = FunctionsHelper.CreateArgs(6, "A1:C1", -1); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(10); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 2)).Return(8); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 3)).Return(5); |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual(2, result.Result); |
| } |
| |
| [TestMethod] |
| public void MatchShouldReturnFirstItemWhenExactMatch_MatchTypeClosestAbove() |
| { |
| var func = new Match(); |
| var args = FunctionsHelper.CreateArgs(10, "A1:C1", -1); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.Scopes.NewScope(RangeAddress.Empty); |
| |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 1)).Return(10); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 2)).Return(8); |
| provider.Stub(x => x.GetCellValue(WorksheetName,1, 3)).Return(5); |
| parsingContext.ExcelDataProvider = provider; |
| var result = func.Execute(args, parsingContext); |
| Assert.AreEqual(1, result.Result); |
| } |
| |
| [TestMethod] |
| public void RowShouldReturnRowFromCurrentScopeIfNoAddressIsSupplied() |
| { |
| var func = new Row(); |
| var parsingContext = ParsingContext.Create(); |
| var rangeAddressFactory = new RangeAddressFactory(MockRepository.GenerateStub<ExcelDataProvider>()); |
| parsingContext.Scopes.NewScope(rangeAddressFactory.Create("A2")); |
| var result = func.Execute(Enumerable.Empty<FunctionArgument>(), parsingContext); |
| Assert.AreEqual(2, result.Result); |
| } |
| |
| [TestMethod] |
| public void RowShouldReturnRowSuppliedAddress() |
| { |
| var func = new Row(); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.ExcelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| var result = func.Execute(FunctionsHelper.CreateArgs("A3"), parsingContext); |
| Assert.AreEqual(3, result.Result); |
| } |
| |
| [TestMethod] |
| public void ColumnShouldReturnRowFromCurrentScopeIfNoAddressIsSupplied() |
| { |
| var func = new Column(); |
| var parsingContext = ParsingContext.Create(); |
| var rangeAddressFactory = new RangeAddressFactory(MockRepository.GenerateStub<ExcelDataProvider>()); |
| parsingContext.Scopes.NewScope(rangeAddressFactory.Create("B2")); |
| var result = func.Execute(Enumerable.Empty<FunctionArgument>(), parsingContext); |
| Assert.AreEqual(2, result.Result); |
| } |
| |
| [TestMethod] |
| public void ColumnShouldReturnRowSuppliedAddress() |
| { |
| var func = new Column(); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.ExcelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| var result = func.Execute(FunctionsHelper.CreateArgs("E3"), parsingContext); |
| Assert.AreEqual(5, result.Result); |
| } |
| |
| [TestMethod] |
| public void RowsShouldReturnNbrOfRowsSuppliedRange() |
| { |
| var func = new Rows(); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.ExcelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| var result = func.Execute(FunctionsHelper.CreateArgs("A1:B3"), parsingContext); |
| Assert.AreEqual(3, result.Result); |
| } |
| |
| [TestMethod] |
| public void RowsShouldReturnNbrOfRowsForEntireColumn() |
| { |
| var func = new Rows(); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.ExcelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| var result = func.Execute(FunctionsHelper.CreateArgs("A:B"), parsingContext); |
| Assert.AreEqual(1048576, result.Result); |
| } |
| |
| [TestMethod] |
| public void ColumnssShouldReturnNbrOfRowsSuppliedRange() |
| { |
| var func = new Columns(); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.ExcelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| var result = func.Execute(FunctionsHelper.CreateArgs("A1:E3"), parsingContext); |
| Assert.AreEqual(5, result.Result); |
| } |
| |
| [TestMethod] |
| public void ChooseShouldReturnItemByIndex() |
| { |
| var func = new Choose(); |
| var parsingContext = ParsingContext.Create(); |
| var result = func.Execute(FunctionsHelper.CreateArgs(1, "A", "B"), parsingContext); |
| Assert.AreEqual("A", result.Result); |
| } |
| |
| [TestMethod] |
| public void AddressShouldReturnAddressByIndexWithDefaultRefType() |
| { |
| var func = new AddressFunction(); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.ExcelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| parsingContext.ExcelDataProvider.Stub(x => x.ExcelMaxRows).Return(10); |
| var result = func.Execute(FunctionsHelper.CreateArgs(1, 2), parsingContext); |
| Assert.AreEqual("$B$1", result.Result); |
| } |
| |
| [TestMethod] |
| public void AddressShouldReturnAddressByIndexWithRelativeType() |
| { |
| var func = new AddressFunction(); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.ExcelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| parsingContext.ExcelDataProvider.Stub(x => x.ExcelMaxRows).Return(10); |
| var result = func.Execute(FunctionsHelper.CreateArgs(1, 2, (int)ExcelReferenceType.RelativeRowAndColumn), parsingContext); |
| Assert.AreEqual("B1", result.Result); |
| } |
| |
| [TestMethod] |
| public void AddressShouldReturnAddressByWithSpecifiedWorksheet() |
| { |
| var func = new AddressFunction(); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.ExcelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| parsingContext.ExcelDataProvider.Stub(x => x.ExcelMaxRows).Return(10); |
| var result = func.Execute(FunctionsHelper.CreateArgs(1, 2, (int)ExcelReferenceType.RelativeRowAndColumn, true, "Worksheet1"), parsingContext); |
| Assert.AreEqual("Worksheet1!B1", result.Result); |
| } |
| |
| [TestMethod, ExpectedException(typeof(InvalidOperationException))] |
| public void AddressShouldThrowIfR1C1FormatIsSpecified() |
| { |
| var func = new AddressFunction(); |
| var parsingContext = ParsingContext.Create(); |
| parsingContext.ExcelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); |
| parsingContext.ExcelDataProvider.Stub(x => x.ExcelMaxRows).Return(10); |
| var result = func.Execute(FunctionsHelper.CreateArgs(1, 2, (int)ExcelReferenceType.RelativeRowAndColumn, false), parsingContext); |
| } |
| } |
| } |