| using System; |
| using System.Text; |
| using System.Collections.Generic; |
| using System.Linq; |
| using Microsoft.VisualStudio.TestTools.UnitTesting; |
| using OfficeOpenXml; |
| |
| namespace EPPlusTest |
| { |
| /// <summary> |
| /// Summary description for Address |
| /// </summary> |
| [TestClass] |
| public class Address |
| { |
| public Address() |
| { |
| // |
| // TODO: Add constructor logic here |
| // |
| } |
| |
| private TestContext testContextInstance; |
| |
| /// <summary> |
| ///Gets or sets the test context which provides |
| ///information about and functionality for the current test run. |
| ///</summary> |
| public TestContext TestContext |
| { |
| get |
| { |
| return testContextInstance; |
| } |
| set |
| { |
| testContextInstance = value; |
| } |
| } |
| |
| #region Additional test attributes |
| // |
| // You can use the following additional attributes as you write your tests: |
| // |
| // Use ClassInitialize to run code before running the first test in the class |
| // [ClassInitialize()] |
| // public static void MyClassInitialize(TestContext testContext) { } |
| // |
| // Use ClassCleanup to run code after all tests in a class have run |
| // [ClassCleanup()] |
| // public static void MyClassCleanup() { } |
| // |
| // Use TestInitialize to run code before running each test |
| // [TestInitialize()] |
| // public void MyTestInitialize() { } |
| // |
| // Use TestCleanup to run code after each test has run |
| // [TestCleanup()] |
| // public void MyTestCleanup() { } |
| // |
| #endregion |
| |
| [TestMethod] |
| public void InsertDeleteTest() |
| { |
| var addr = new ExcelAddressBase("A1:B3"); |
| |
| Assert.AreEqual(addr.AddRow(2, 4).Address, "A1:B7"); |
| Assert.AreEqual(addr.AddColumn(2, 4).Address, "A1:F3"); |
| Assert.AreEqual(addr.DeleteColumn(2, 1).Address, "A1:A3"); |
| Assert.AreEqual(addr.DeleteRow(2, 2).Address, "A1:B1"); |
| |
| Assert.AreEqual(addr.DeleteRow(1, 3), null); |
| Assert.AreEqual(addr.DeleteColumn(1, 2), null); |
| } |
| [TestMethod] |
| public void SplitAddress() |
| { |
| var addr = new ExcelAddressBase("C3:F8"); |
| |
| addr.Insert(new ExcelAddressBase("G9"), ExcelAddressBase.eShiftType.Right); |
| addr.Insert(new ExcelAddressBase("G3"), ExcelAddressBase.eShiftType.Right); |
| addr.Insert(new ExcelAddressBase("C9"), ExcelAddressBase.eShiftType.Right); |
| addr.Insert(new ExcelAddressBase("B2"), ExcelAddressBase.eShiftType.Right); |
| addr.Insert(new ExcelAddressBase("B3"), ExcelAddressBase.eShiftType.Right); |
| addr.Insert(new ExcelAddressBase("D:D"), ExcelAddressBase.eShiftType.Right); |
| addr.Insert(new ExcelAddressBase("5:5"), ExcelAddressBase.eShiftType.Down); |
| } |
| [TestMethod] |
| public void Addresses() |
| { |
| var a1 = new ExcelAddress("SalesData!$K$445"); |
| var a2 = new ExcelAddress("SalesData!$K$445:$M$449,SalesData!$N$448:$Q$454,SalesData!$L$458:$O$464"); |
| var a3 = new ExcelAddress("SalesData!$K$445:$L$448"); |
| //var a4 = new ExcelAddress("'[1]Risk]TatTWRForm_TWRWEEKLY20130926090'!$N$527"); |
| var a5 = new ExcelAddress("Table1[[#All],[Title]]"); |
| var a6 = new ExcelAddress("Table1[#All]"); |
| var a7 = new ExcelAddress("Table1[[#Headers],[FirstName]:[LastName]]"); |
| var a8 = new ExcelAddress("Table1[#Headers]"); |
| var a9 = new ExcelAddress("Table2[[#All],[SubTotal]]"); |
| var a10 = new ExcelAddress("Table2[#All]"); |
| var a11 = new ExcelAddress("Table1[[#All],[Freight]]"); |
| var a12 = new ExcelAddress("[1]!Table1[[LastName]:[Name]]"); |
| var a13 = new ExcelAddress("Table1[[#All],[Freight]]"); |
| var a14 = new ExcelAddress("SalesData!$N$5+'test''1'!$J$33"); |
| } |
| |
| [TestMethod] |
| public void IsValidCellAdress() |
| { |
| Assert.IsTrue(ExcelCellBase.IsValidCellAddress("A1")); |
| Assert.IsTrue(ExcelCellBase.IsValidCellAddress("A1048576")); |
| Assert.IsTrue(ExcelCellBase.IsValidCellAddress("XFD1")); |
| Assert.IsTrue(ExcelCellBase.IsValidCellAddress("XFD1048576")); |
| Assert.IsTrue(ExcelCellBase.IsValidCellAddress("Table1!A1")); |
| Assert.IsTrue(ExcelCellBase.IsValidCellAddress("Table1!A1048576")); |
| Assert.IsTrue(ExcelCellBase.IsValidCellAddress("Table1!XFD1")); |
| Assert.IsTrue(ExcelCellBase.IsValidCellAddress("Table1!XFD1048576")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("A")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("A")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("XFD")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("XFD")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("1")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("1048576")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("1")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("1048576")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("A1:A1048576")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("A1:XFD1")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("A1048576:XFD1048576")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("XFD1:XFD1048576")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("Table1!A1:A1048576")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("Table1!A1:XFD1")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("Table1!A1048576:XFD1048576")); |
| Assert.IsFalse(ExcelCellBase.IsValidCellAddress("Table1!XFD1:XFD1048576")); |
| } |
| |
| } |
| } |