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