public void AsRangeTests()
        {
            XLRangeAddress rangeAddress;

            rangeAddress = new XLRangeAddress
                           (
                new XLAddress(1, 1, false, false),
                new XLAddress(5, 5, false, false)
                           );

            Assert.IsTrue(rangeAddress.IsValid);
            Assert.IsTrue(rangeAddress.IsNormalized);
            Assert.Throws <InvalidOperationException>(() => rangeAddress.AsRange());

            var ws = new XLWorkbook().AddWorksheet() as XLWorksheet;

            rangeAddress = new XLRangeAddress
                           (
                new XLAddress(ws, 1, 1, false, false),
                new XLAddress(ws, 5, 5, false, false)
                           );

            Assert.IsTrue(rangeAddress.IsValid);
            Assert.IsTrue(rangeAddress.IsNormalized);
            Assert.DoesNotThrow(() => rangeAddress.AsRange());
        }
Example #2
0
        public void RangeAddressNormalizeTest(string inputAddress, string expectedAddress)
        {
            XLWorksheet ws           = new XLWorkbook().Worksheets.Add("Sheet 1") as XLWorksheet;
            var         rangeAddress = new XLRangeAddress(ws, inputAddress);

            var normalizedAddress = rangeAddress.Normalize();

            Assert.AreSame(ws, rangeAddress.Worksheet);
            Assert.AreEqual(expectedAddress, normalizedAddress.ToString());
        }
        public void FindIntersectionsAfterRowShifting()
        {
            using (var wb = new XLWorkbook())
            {
                var ws    = wb.Worksheets.Add("Sheet1") as XLWorksheet;
                var index = FillIndexWithTestData(ws);

                ws.Row(10).InsertRowsBelow(3);

                var rangeAddress = new XLRangeAddress(ws, "C103:E103");

                Assert.True(index.Intersects(in rangeAddress));
            }
        }
        public void FindIntersectionsAfterColumnShifting()
        {
            using (var wb = new XLWorkbook())
            {
                var ws    = wb.Worksheets.Add("Sheet1") as XLWorksheet;
                var index = FillIndexWithTestData(ws);

                ws.Column(3).InsertColumnsBefore(2);

                var rangeAddress = new XLRangeAddress(ws, "F102:E103");

                Assert.True(index.Intersects(in rangeAddress));
            }
        }
        public void CanGetAllDataValidationsForRange(string searchAddress, int expectedCount)
        {
            using (var wb = new XLWorkbook())
            {
                var ws  = wb.AddWorksheet();
                var dv1 = ws.Range("A1:A3").SetDataValidation();
                dv1.MinValue = "100";
                dv1.AddRange(ws.Range("C1:C3"));

                var dv2 = ws.Range("E4:G6").SetDataValidation();
                dv2.MinValue = "200";

                var address = new XLRangeAddress(ws as XLWorksheet, searchAddress);

                var actualResult = ws.DataValidations.GetAllInRange(address);

                Assert.AreEqual(expectedCount, actualResult.Count());
            }
        }
        public void FindNonExistingIntersections()
        {
            using (var wb = new XLWorkbook())
            {
                var ws    = wb.Worksheets.Add("Sheet1") as XLWorksheet;
                var index = FillIndexWithTestData(ws);

                for (int i = 1; i <= TEST_COUNT; i++)
                {
                    var rangeAddress = new XLRangeAddress(
                        new XLAddress(ws, i * 2 + 1, 1 + i % 4, false, false),
                        new XLAddress(ws, i * 2 + 1, 8 - i % 3, false, false));

                    Assert.False(index.Intersects(in rangeAddress));
                }

                var columnAddress = XLRangeAddress.EntireColumn(ws, 1);
                Assert.False(index.Intersects(in columnAddress));
                columnAddress = XLRangeAddress.EntireColumn(ws, 5);
                Assert.False(index.Intersects(in columnAddress));
            }
        }
        public void CanFindDataValidationForRange(string searchAddress, bool expectedResult)
        {
            using (var wb = new XLWorkbook())
            {
                var ws = wb.AddWorksheet();
                var dv = ws.Range("A1:A3").SetDataValidation();
                dv.MinValue = "100";
                dv.AddRange(ws.Range("C1:C3"));

                var address = new XLRangeAddress(ws as XLWorksheet, searchAddress);

                var actualResult = ws.DataValidations.TryGet(address, out var foundDv);
                Assert.AreEqual(expectedResult, actualResult);
                if (expectedResult)
                {
                    Assert.AreSame(dv, foundDv);
                }
                else
                {
                    Assert.IsNull(foundDv);
                }
            }
        }
Example #8
0
 public new IEnumerable <T> GetIntersectedRanges(XLRangeAddress rangeAddress)
 {
     return(base.GetIntersectedRanges(rangeAddress).Cast <T>());
 }
 public XLRangeParameters(XLRangeAddress rangeAddress, IXLStyle defaultStyle)
 {
     RangeAddress = rangeAddress;
     DefaultStyle = defaultStyle;
 }
 public XLRangeParameters(XLRangeAddress rangeAddress, IXLStyle defaultStyle)
 {
     RangeAddress = rangeAddress;
     _ignoreEvents = !rangeAddress.Worksheet.EventTrackingEnabled;
     DefaultStyle = defaultStyle;
 }
Example #11
0
 public XLRangeParameters(XLRangeAddress rangeAddress, IXLStyle defaultStyle)
 {
     RangeAddress  = rangeAddress;
     _ignoreEvents = !rangeAddress.Worksheet.EventTrackingEnabled;
     DefaultStyle  = defaultStyle;
 }