|  | 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.LexicalAnalysis; | 
|  | using OfficeOpenXml.FormulaParsing.ExcelUtilities; | 
|  |  | 
|  | namespace EPPlusTest.ExcelUtilities | 
|  | { | 
|  | [TestClass] | 
|  | public class CellReferenceProviderTests | 
|  | { | 
|  | private ExcelDataProvider _provider; | 
|  |  | 
|  | [TestInitialize] | 
|  | public void Setup() | 
|  | { | 
|  | _provider = MockRepository.GenerateStub<ExcelDataProvider>(); | 
|  | _provider.Stub(x => x.ExcelMaxRows).Return(5000); | 
|  | } | 
|  |  | 
|  | [TestMethod] | 
|  | public void ShouldReturnReferencedSingleAddress() | 
|  | { | 
|  | var parsingContext = ParsingContext.Create(); | 
|  | parsingContext.Scopes.NewScope(RangeAddress.Empty); | 
|  | parsingContext.Configuration.SetLexer(new Lexer(parsingContext.Configuration.FunctionRepository, parsingContext.NameValueProvider)); | 
|  | parsingContext.RangeAddressFactory = new RangeAddressFactory(_provider); | 
|  | var provider = new CellReferenceProvider(); | 
|  | var result = provider.GetReferencedAddresses("A1", parsingContext); | 
|  | Assert.AreEqual("A1", result.First()); | 
|  | } | 
|  |  | 
|  | [TestMethod] | 
|  | public void ShouldReturnReferencedMultipleAddresses() | 
|  | { | 
|  | var parsingContext = ParsingContext.Create(); | 
|  | parsingContext.Scopes.NewScope(RangeAddress.Empty); | 
|  | parsingContext.Configuration.SetLexer(new Lexer(parsingContext.Configuration.FunctionRepository, parsingContext.NameValueProvider)); | 
|  | parsingContext.RangeAddressFactory = new RangeAddressFactory(_provider); | 
|  | var provider = new CellReferenceProvider(); | 
|  | var result = provider.GetReferencedAddresses("A1:A2", parsingContext); | 
|  | Assert.AreEqual("A1", result.First()); | 
|  | Assert.AreEqual("A2", result.Last()); | 
|  | } | 
|  | } | 
|  | } |