| using Microsoft.VisualStudio.TestTools.UnitTesting; | 
 | using OfficeOpenXml; | 
 |  | 
 | namespace EPPlusTest | 
 | { | 
 |     [TestClass] | 
 |     public class ExcelRangeBaseTest : TestBase | 
 |     { | 
 |         [TestMethod] | 
 |         public void CopyCopiesCommentsFromSingleCellRanges() | 
 |         { | 
 |             InitBase(); | 
 |             var pck = new ExcelPackage(); | 
 |             var ws1 = pck.Workbook.Worksheets.Add("CommentCopying"); | 
 |             var sourceExcelRange = ws1.Cells[3, 3]; | 
 |             Assert.IsNull(sourceExcelRange.Comment); | 
 |             sourceExcelRange.AddComment("Testing comment 1", "test1"); | 
 |             Assert.AreEqual("test1", sourceExcelRange.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 1", sourceExcelRange.Comment.Text); | 
 |             var destinationExcelRange = ws1.Cells[5, 5]; | 
 |             Assert.IsNull(destinationExcelRange.Comment); | 
 |             sourceExcelRange.Copy(destinationExcelRange); | 
 |             // Assert the original comment is intact. | 
 |             Assert.AreEqual("test1", sourceExcelRange.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 1", sourceExcelRange.Comment.Text); | 
 |             // Assert the comment was copied. | 
 |             Assert.AreEqual("test1", destinationExcelRange.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 1", destinationExcelRange.Comment.Text); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void CopyCopiesCommentsFromMultiCellRanges() | 
 |         { | 
 |             InitBase(); | 
 |             var pck = new ExcelPackage(); | 
 |             var ws1 = pck.Workbook.Worksheets.Add("CommentCopying"); | 
 |             var sourceExcelRangeC3 = ws1.Cells[3, 3]; | 
 |             var sourceExcelRangeD3 = ws1.Cells[3, 4]; | 
 |             var sourceExcelRangeE3 = ws1.Cells[3, 5]; | 
 |             Assert.IsNull(sourceExcelRangeC3.Comment); | 
 |             Assert.IsNull(sourceExcelRangeD3.Comment); | 
 |             Assert.IsNull(sourceExcelRangeE3.Comment); | 
 |             sourceExcelRangeC3.AddComment("Testing comment 1", "test1"); | 
 |             sourceExcelRangeD3.AddComment("Testing comment 2", "test1"); | 
 |             sourceExcelRangeE3.AddComment("Testing comment 3", "test1"); | 
 |             Assert.AreEqual("test1", sourceExcelRangeC3.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 1", sourceExcelRangeC3.Comment.Text); | 
 |             Assert.AreEqual("test1", sourceExcelRangeD3.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 2", sourceExcelRangeD3.Comment.Text); | 
 |             Assert.AreEqual("test1", sourceExcelRangeE3.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 3", sourceExcelRangeE3.Comment.Text); | 
 |             // Copy the full row to capture each cell at once. | 
 |             Assert.IsNull(ws1.Cells[5, 3].Comment); | 
 |             Assert.IsNull(ws1.Cells[5, 4].Comment); | 
 |             Assert.IsNull(ws1.Cells[5, 5].Comment); | 
 |             ws1.Cells["3:3"].Copy(ws1.Cells["5:5"]); | 
 |             // Assert the original comments are intact. | 
 |             Assert.AreEqual("test1", sourceExcelRangeC3.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 1", sourceExcelRangeC3.Comment.Text); | 
 |             Assert.AreEqual("test1", sourceExcelRangeD3.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 2", sourceExcelRangeD3.Comment.Text); | 
 |             Assert.AreEqual("test1", sourceExcelRangeE3.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 3", sourceExcelRangeE3.Comment.Text); | 
 |             // Assert the comments were copied. | 
 |             var destinationExcelRangeC5 = ws1.Cells[5, 3]; | 
 |             var destinationExcelRangeD5 = ws1.Cells[5, 4]; | 
 |             var destinationExcelRangeE5 = ws1.Cells[5, 5]; | 
 |             Assert.AreEqual("test1", destinationExcelRangeC5.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 1", destinationExcelRangeC5.Comment.Text); | 
 |             Assert.AreEqual("test1", destinationExcelRangeD5.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 2", destinationExcelRangeD5.Comment.Text); | 
 |             Assert.AreEqual("test1", destinationExcelRangeE5.Comment.Author); | 
 |             Assert.AreEqual("Testing comment 3", destinationExcelRangeE5.Comment.Text); | 
 |         } | 
 |  | 
 |         [TestMethod] | 
 |         public void SettingAddressHandlesMultiAddresses() | 
 |         { | 
 |             using (ExcelPackage package = new ExcelPackage()) | 
 |             { | 
 |                 var worksheet = package.Workbook.Worksheets.Add("Sheet1"); | 
 |                 var name = package.Workbook.Names.Add("Test", worksheet.Cells[3, 3]); | 
 |                 name.Address = "Sheet1!C3"; | 
 |                 name.Address = "Sheet1!D3"; | 
 |                 Assert.IsNull(name.Addresses); | 
 |                 name.Address = "C3:D3,E3:F3"; | 
 |                 Assert.IsNotNull(name.Addresses); | 
 |                 name.Address = "Sheet1!C3"; | 
 |                 Assert.IsNull(name.Addresses); | 
 |             } | 
 |         } | 
 |     } | 
 | } |