Exemplo n.º 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");
        }
Exemplo n.º 2
0
        private void AddMergeCellsRecord(MergeCellsRecord mcr)
        {
            int nRegions = mcr.NumAreas;

            for (int i = 0; i < nRegions; i++)
            {
                _mergedRegions.Add(mcr.GetAreaAt(i));
            }
        }
Exemplo n.º 3
0
 /**
  * Reads zero or more consecutive {@link MergeCellsRecord}s
  * @param rs
  */
 public void Read(RecordStream rs)
 {
     while (rs.PeekNextClass() == typeof(MergeCellsRecord))
     {
         MergeCellsRecord mcr = (MergeCellsRecord)rs.GetNext();
         int nRegions         = mcr.NumAreas;
         for (int i = 0; i < nRegions; i++)
         {
             _mergedRegions.Add(mcr.GetAreaAt(i));
         }
     }
 }
Exemplo n.º 4
0
        public void TestCloneReferences()
        {
            CellRangeAddress[] cras  = { new CellRangeAddress(0, 1, 0, 2), };
            MergeCellsRecord   merge = new MergeCellsRecord(cras, 0, cras.Length);
            MergeCellsRecord   clone = (MergeCellsRecord)merge.Clone();

            Assert.AreNotSame(merge, clone, "Merged and cloned objects are the same");

            CellRangeAddress mergeRegion = merge.GetAreaAt(0);
            CellRangeAddress cloneRegion = clone.GetAreaAt(0);

            Assert.AreNotSame(mergeRegion, cloneRegion,
                              "Should not point to same objects when cloning");
            Assert.AreEqual(mergeRegion.FirstRow, cloneRegion.FirstRow,
                            "New Clone Row From doesnt match");
            Assert.AreEqual(mergeRegion.LastRow, cloneRegion.LastRow,
                            "New Clone Row To doesnt match");
            Assert.AreEqual(mergeRegion.FirstColumn, cloneRegion.FirstColumn,
                            "New Clone Col From doesnt match");
            Assert.AreEqual(mergeRegion.LastColumn, cloneRegion.LastColumn,
                            "New Clone Col To doesnt match");

            Assert.IsFalse(merge.GetAreaAt(0) == clone.GetAreaAt(0));
        }