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