| using System; | 
 | using Microsoft.VisualStudio.TestTools.UnitTesting; | 
 | using OfficeOpenXml; | 
 |  | 
 | namespace EPPlusTest | 
 | { | 
 |     [TestClass] | 
 |     public class ExcelCellBaseTest | 
 |     { | 
 |         #region UpdateFormulaReferences Tests | 
 |         [TestMethod] | 
 |         public void UpdateFormulaReferencesOnTheSameSheet() | 
 |         { | 
 |             var result = ExcelCellBase.UpdateFormulaReferences("C3", 3, 3, 2, 2, "sheet", "sheet"); | 
 |             Assert.AreEqual("F6", result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void UpdateFormulaReferencesIgnoresIncorrectSheet() | 
 |         { | 
 |             var result = ExcelCellBase.UpdateFormulaReferences("C3", 3, 3, 2, 2, "sheet", "other sheet"); | 
 |             Assert.AreEqual("C3", result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void UpdateFormulaReferencesFullyQualifiedReferenceOnTheSameSheet() | 
 |         { | 
 |             var result = ExcelCellBase.UpdateFormulaReferences("'sheet name here'!C3", 3, 3, 2, 2, "sheet name here", "sheet name here"); | 
 |             Assert.AreEqual("'sheet name here'!F6", result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void UpdateFormulaReferencesFullyQualifiedCrossSheetReferenceArray() | 
 |         { | 
 |             var result = ExcelCellBase.UpdateFormulaReferences("SUM('sheet name here'!B2:D4)", 3, 3, 3, 3, "cross sheet", "sheet name here"); | 
 |             Assert.AreEqual("SUM('sheet name here'!B2:G7)", result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void UpdateFormulaReferencesFullyQualifiedReferenceOnADifferentSheet() | 
 |         { | 
 |             var result = ExcelCellBase.UpdateFormulaReferences("'updated sheet'!C3", 3, 3, 2, 2, "boring sheet", "updated sheet"); | 
 |             Assert.AreEqual("'updated sheet'!F6", result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void UpdateFormulaReferencesReferencingADifferentSheetIsNotUpdated() | 
 |         { | 
 |             var result = ExcelCellBase.UpdateFormulaReferences("'boring sheet'!C3", 3, 3, 2, 2, "boring sheet", "updated sheet"); | 
 |             Assert.AreEqual("'boring sheet'!C3", result); | 
 |         } | 
 |         #endregion | 
 |  | 
 |         #region UpdateCrossSheetReferenceNames Tests | 
 |         [TestMethod] | 
 |         public void UpdateFormulaSheetReferences() | 
 |         { | 
 |           var result = ExcelCellBase.UpdateFormulaSheetReferences("5+'OldSheet'!$G3+'Some Other Sheet'!C3+SUM(1,2,3)", "OldSheet", "NewSheet"); | 
 |           Assert.AreEqual("5+'NewSheet'!$G3+'Some Other Sheet'!C3+SUM(1,2,3)", result); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         [ExpectedException(typeof(ArgumentNullException))] | 
 |         public void UpdateFormulaSheetReferencesNullOldSheetThrowsException() | 
 |         { | 
 |           ExcelCellBase.UpdateFormulaSheetReferences("formula", null, "sheet2"); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         [ExpectedException(typeof(ArgumentNullException))] | 
 |         public void UpdateFormulaSheetReferencesEmptyOldSheetThrowsException() | 
 |         { | 
 |           ExcelCellBase.UpdateFormulaSheetReferences("formula", string.Empty, "sheet2"); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         [ExpectedException(typeof(ArgumentNullException))] | 
 |         public void UpdateFormulaSheetReferencesNullNewSheetThrowsException() | 
 |         { | 
 |           ExcelCellBase.UpdateFormulaSheetReferences("formula", "sheet1", null); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         [ExpectedException(typeof(ArgumentNullException))] | 
 |         public void UpdateFormulaSheetReferencesEmptyNewSheetThrowsException() | 
 |         { | 
 |           ExcelCellBase.UpdateFormulaSheetReferences("formula", "sheet1", string.Empty); | 
 |         } | 
 |         #endregion | 
 |   } | 
 | } |