Esempio n. 1
0
        public void TestCloneSheetWithEmptyDrawingAggregate()
        {
            HSSFWorkbook b = new HSSFWorkbook();
            HSSFSheet s = b.CreateSheet("Test") as HSSFSheet;
            HSSFPatriarch patriarch = s.CreateDrawingPatriarch() as HSSFPatriarch;

            EscherAggregate agg1 = patriarch.GetBoundAggregate();

            HSSFSheet s2 = s.CloneSheet(b) as HSSFSheet;

            patriarch = s2.DrawingPatriarch as HSSFPatriarch;

            EscherAggregate agg2 = patriarch.GetBoundAggregate();

            EscherSpRecord sp1 = (EscherSpRecord)agg1.GetEscherContainer().GetChild(1).GetChild(0).GetChild(1);
            EscherSpRecord sp2 = (EscherSpRecord)agg2.GetEscherContainer().GetChild(1).GetChild(0).GetChild(1);

            Assert.AreEqual(sp1.ShapeId, 1024);
            Assert.AreEqual(sp2.ShapeId, 2048);

            EscherDgRecord dg = (EscherDgRecord)agg2.GetEscherContainer().GetChild(0);

            Assert.AreEqual(dg.LastMSOSPID, 2048);
            Assert.AreEqual(dg.Instance, 0x2);

            //everything except id and DgRecord.lastMSOSPID and DgRecord.Instance must be the same

            sp2.ShapeId = (1024);
            dg.LastMSOSPID = (1024);
            dg.Instance =((short)0x1);

            Assert.AreEqual(agg1.Serialize().Length, agg2.Serialize().Length);
            Assert.AreEqual(agg1.ToXml(""), agg2.ToXml(""));
            Assert.IsTrue(Arrays.Equals(agg1.Serialize(), agg2.Serialize()));
        }
Esempio n. 2
0
        public void TestGetPatriarch()
        {
            HSSFWorkbook wb = new HSSFWorkbook();
            HSSFSheet    sh = wb.CreateSheet() as HSSFSheet;

            Assert.IsNull(sh.DrawingPatriarch);

            HSSFPatriarch patriarch = sh.CreateDrawingPatriarch() as HSSFPatriarch;

            Assert.IsNotNull(patriarch);
            patriarch.CreateSimpleShape(new HSSFClientAnchor());
            patriarch.CreateSimpleShape(new HSSFClientAnchor());

            Assert.AreSame(patriarch, sh.DrawingPatriarch);

            EscherAggregate agg = patriarch.GetBoundAggregate();

            EscherDgRecord dg     = agg.GetEscherContainer().GetChildById(EscherDgRecord.RECORD_ID) as EscherDgRecord;
            int            lastId = dg.LastMSOSPID;

            Assert.AreSame(patriarch, sh.CreateDrawingPatriarch());

            wb        = HSSFTestDataSamples.WriteOutAndReadBack(wb);
            sh        = wb.GetSheetAt(0) as HSSFSheet;
            patriarch = sh.CreateDrawingPatriarch() as HSSFPatriarch;
            dg        = patriarch.GetBoundAggregate().GetEscherContainer().GetChildById(EscherDgRecord.RECORD_ID) as EscherDgRecord;

            Assert.AreEqual(lastId, dg.LastMSOSPID);
        }
Esempio n. 3
0
 public static EscherAggregate GetEscherAggregate(HSSFPatriarch patriarch)
 {
     return(patriarch.GetBoundAggregate());
 }