Example #1
0
        public void TestMovingMergedRegion()
        {
            List <Record> records = new List <Record>();

            CellRangeAddress[] cras =
            {
                new CellRangeAddress(0, 1, 0, 2),
            };
            MergeCellsRecord merged = new MergeCellsRecord(cras, 0, cras.Length);

            records.Add(BOFRecord.CreateSheetBOF());
            records.Add(new DimensionsRecord());
            records.Add(new RowRecord(0));
            records.Add(new RowRecord(1));
            records.Add(new RowRecord(2));
            records.Add(CreateWindow2Record());
            records.Add(EOFRecord.instance);
            records.Add(merged);

            InternalSheet sheet = CreateSheet(records);

            sheet.Records.RemoveAt(0);

            //stub object to throw off list INDEX operations
            sheet.RemoveMergedRegion(0);
            Assert.AreEqual(0, sheet.NumMergedRegions, "Should be no more merged regions");
        }
Example #2
0
        public void TestRemoveMergedRegion()
        {
            InternalSheet sheet        = InternalSheet.CreateSheet();
            int           regionsToAdd = 4096;

            for (int n = 0; n < regionsToAdd; n++)
            {
                sheet.AddMergedRegion(0, 0, 1, 1);
            }

            int nSheetRecords = sheet.Records.Count;

            //remove a third from the beginning
            for (int n = 0; n < regionsToAdd / 3; n++)
            {
                sheet.RemoveMergedRegion(0);
                //assert they have been deleted
                Assert.AreEqual(sheet.NumMergedRegions, regionsToAdd - n - 1, "Num of regions should be " + (regionsToAdd - n - 1) + " not " + sheet.NumMergedRegions);
            }

            // merge records are removed from within the MergedCellsTable,
            // so the sheet record count should not change
            Assert.AreEqual(nSheetRecords, sheet.Records.Count, "Sheet Records");
        }