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