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