|  | using System; | 
|  | using System.Text; | 
|  | using System.Collections.Generic; | 
|  | using System.Linq; | 
|  | using Microsoft.VisualStudio.TestTools.UnitTesting; | 
|  | using Rhino.Mocks; | 
|  | using OfficeOpenXml.FormulaParsing.ExcelUtilities; | 
|  | using OfficeOpenXml.FormulaParsing; | 
|  |  | 
|  | namespace EPPlusTest.ExcelUtilities | 
|  | { | 
|  | [TestClass] | 
|  | public class AddressTranslatorTests | 
|  | { | 
|  | private AddressTranslator _addressTranslator; | 
|  | private ExcelDataProvider _excelDataProvider; | 
|  | private const int ExcelMaxRows = 1356; | 
|  |  | 
|  | [TestInitialize] | 
|  | public void Setup() | 
|  | { | 
|  | _excelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>(); | 
|  | _excelDataProvider.Stub(x => x.ExcelMaxRows).Return(ExcelMaxRows); | 
|  | _addressTranslator = new AddressTranslator(_excelDataProvider); | 
|  | } | 
|  |  | 
|  | [TestMethod, ExpectedException(typeof(ArgumentNullException))] | 
|  | public void ConstructorShouldThrowIfProviderIsNull() | 
|  | { | 
|  | new AddressTranslator(null); | 
|  | } | 
|  |  | 
|  | [TestMethod] | 
|  | public void ShouldTranslateRowNumber() | 
|  | { | 
|  | int col, row; | 
|  | _addressTranslator.ToColAndRow("A2", out col, out row); | 
|  | Assert.AreEqual(2, row); | 
|  | } | 
|  |  | 
|  | [TestMethod] | 
|  | public void ShouldTranslateLettersToColumnIndex() | 
|  | { | 
|  | int col, row; | 
|  | _addressTranslator.ToColAndRow("C1", out col, out row); | 
|  | Assert.AreEqual(3, col); | 
|  | _addressTranslator.ToColAndRow("AA2", out col, out row); | 
|  | Assert.AreEqual(27, col); | 
|  | _addressTranslator.ToColAndRow("BC1", out col, out row); | 
|  | Assert.AreEqual(55, col); | 
|  | } | 
|  |  | 
|  | [TestMethod] | 
|  | public void ShouldTranslateLetterAddressUsingMaxRowsFromProviderLower() | 
|  | { | 
|  | int col, row; | 
|  | _addressTranslator.ToColAndRow("A", out col, out row); | 
|  | Assert.AreEqual(1, row); | 
|  | } | 
|  |  | 
|  | [TestMethod] | 
|  | public void ShouldTranslateLetterAddressUsingMaxRowsFromProviderUpper() | 
|  | { | 
|  | int col, row; | 
|  | _addressTranslator.ToColAndRow("A", out col, out row, AddressTranslator.RangeCalculationBehaviour.LastPart); | 
|  | Assert.AreEqual(ExcelMaxRows, row); | 
|  | } | 
|  | } | 
|  | } |