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