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