blob: 2d08d1a0739ad0623651acf1d9e5365603a26d5f [file] [log] [blame]
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"));
}
}
}