|  | using System; | 
|  | using Microsoft.VisualStudio.TestTools.UnitTesting; | 
|  | using OfficeOpenXml; | 
|  |  | 
|  | namespace EPPlusTest.FormulaParsing.IntegrationTests.BuiltInFunctions.ExcelRanges | 
|  | { | 
|  | [TestClass] | 
|  | public class WorksheetRefsTest | 
|  | { | 
|  | private ExcelPackage _package; | 
|  | private ExcelWorksheet _firstSheet; | 
|  | private ExcelWorksheet _secondSheet; | 
|  |  | 
|  | [TestInitialize] | 
|  | public void Init() | 
|  | { | 
|  | _package = new ExcelPackage(); | 
|  | _firstSheet = _package.Workbook.Worksheets.Add("sheet1"); | 
|  | _secondSheet = _package.Workbook.Worksheets.Add("sheet2"); | 
|  | _firstSheet.Cells["A1"].Value = 1; | 
|  | _firstSheet.Cells["A2"].Value = 2; | 
|  | } | 
|  |  | 
|  | [TestCleanup] | 
|  | public void Cleanup() | 
|  | { | 
|  |  | 
|  | _package.Dispose(); | 
|  | } | 
|  |  | 
|  | [TestMethod] | 
|  | public void ShouldHandleReferenceToOtherSheet() | 
|  | { | 
|  | _secondSheet.Cells["A1"].Formula = "SUM('sheet1'!A1:A2)"; | 
|  | _secondSheet.Calculate(); | 
|  | Assert.AreEqual(3d, _secondSheet.Cells["A1"].Value); | 
|  | } | 
|  |  | 
|  | [TestMethod] | 
|  | public void ShouldHandleReferenceToOtherSheetWithComplexName() | 
|  | { | 
|  | var sheet = _package.Workbook.Worksheets.Add("ab#k..2"); | 
|  | sheet.Cells["A1"].Value = 1; | 
|  | sheet.Cells["A2"].Value = 2; | 
|  | _secondSheet.Cells["A1"].Formula = "SUM('ab#k..2'A1:A2)"; | 
|  | _secondSheet.Calculate(); | 
|  | Assert.AreEqual(3d, _secondSheet.Cells["A1"].Value); | 
|  | } | 
|  |  | 
|  | [TestMethod] | 
|  | public void ShouldHandleInvalidRef() | 
|  | { | 
|  | var sheet = _package.Workbook.Worksheets.Add("ab#k..2"); | 
|  | sheet.Cells["A1"].Value = 1; | 
|  | sheet.Cells["A2"].Value = 2; | 
|  | _secondSheet.Cells["A1"].Formula = "SUM('ab#k..2A1:A2')"; | 
|  | _secondSheet.Calculate(); | 
|  | Assert.IsInstanceOfType(_secondSheet.Cells["A1"].Value, typeof(ExcelErrorValue)); | 
|  | } | 
|  | } | 
|  | } |