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