public void TestWrite() { NoteRecord record = new NoteRecord(); Assert.AreEqual(NoteRecord.sid, record.Sid); record.Row = ((short)6); record.Column = ((short)1); record.Flags = (NoteRecord.NOTE_VISIBLE); record.ShapeId = ((short)1026); record.Author = ("Apache Software Foundation"); byte[] ser = record.Serialize(); TestcaseRecordInputStream.ConfirmRecordEncoding(NoteRecord.sid, testData, ser); }
public void TestUnicodeAuthor() { // This sample data was created by setting the 'user name' field in the 'Personalize' // section of Excel's options to \u30A2\u30D1\u30C3\u30C1\u65CF, and then // creating a cell comment. byte[] data = HexRead.ReadFromString("01 00 01 00 00 00 03 00 " + "05 00 01 " + // len=5, 16bit "A2 30 D1 30 C3 30 C1 30 CF 65 " + // character data "00 " // padding byte ); RecordInputStream in1 = TestcaseRecordInputStream.Create(NoteRecord.sid, data); NoteRecord nr = new NoteRecord(in1); if ("\u00A2\u0030\u00D1\u0030\u00C3".Equals(nr.Author)) { throw new AssertionException("Identified bug in reading note with unicode author"); } Assert.AreEqual("\u30A2\u30D1\u30C3\u30C1\u65CF", nr.Author); Assert.IsTrue(nr.AuthorIsMultibyte); byte[] ser = nr.Serialize(); TestcaseRecordInputStream.ConfirmRecordEncoding(NoteRecord.sid, data, ser); // Re-check in1 = TestcaseRecordInputStream.Create(ser); nr = new NoteRecord(in1); Assert.AreEqual("\u30A2\u30D1\u30C3\u30C1\u65CF", nr.Author); Assert.IsTrue(nr.AuthorIsMultibyte); // Change to a non unicode author, will stop being unicode nr.Author = ("Simple"); ser = nr.Serialize(); in1 = TestcaseRecordInputStream.Create(ser); nr = new NoteRecord(in1); Assert.AreEqual("Simple", nr.Author); Assert.IsFalse(nr.AuthorIsMultibyte); // Now set it back again nr.Author = ("Unicode\u1234"); ser = nr.Serialize(); in1 = TestcaseRecordInputStream.Create(ser); nr = new NoteRecord(in1); Assert.AreEqual("Unicode\u1234", nr.Author); Assert.IsTrue(nr.AuthorIsMultibyte); }
public void TestWrite() { NoteRecord record = new NoteRecord(); Assert.AreEqual(NoteRecord.sid, record.Sid); record.Row = ((short)6); record.Column = ((short)1); record.Flags = (NoteRecord.NOTE_VISIBLE); record.ShapeId = ((short)1026); record.Author = ("Apache Software Foundation"); byte[] ser = record.Serialize(); Assert.AreEqual(ser.Length - 4, data.Length); byte[] recdata = new byte[ser.Length - 4]; System.Array.Copy(ser, 4, recdata, 0, recdata.Length); Assert.IsTrue(NPOI.Util.Arrays.Equals(data, recdata)); }
public void TestClone() { NoteRecord record = new NoteRecord(); record.Row = ((short)1); record.Column = ((short)2); record.Flags = (NoteRecord.NOTE_VISIBLE); record.ShapeId = ((short)1026); record.Author = ("Apache Software Foundation"); NoteRecord cloned = (NoteRecord)record.Clone(); Assert.AreEqual(record.Row, cloned.Row); Assert.AreEqual(record.Column, cloned.Column); Assert.AreEqual(record.Flags, cloned.Flags); Assert.AreEqual(record.ShapeId, cloned.ShapeId); Assert.AreEqual(record.Author, cloned.Author); //finally check that the Serialized data is1 the same byte[] src = record.Serialize(); byte[] cln = cloned.Serialize(); Assert.IsTrue(NPOI.Util.Arrays.Equals(src, cln)); }
public void TestResultEqualsToAbstractShape() { HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sh = wb.CreateSheet() as HSSFSheet; HSSFPatriarch patriarch = sh.CreateDrawingPatriarch() as HSSFPatriarch; HSSFComment comment = patriarch.CreateCellComment(new HSSFClientAnchor()) as HSSFComment; HSSFRow row = sh.CreateRow(0) as HSSFRow; HSSFCell cell = row.CreateCell(0) as HSSFCell; cell.CellComment = (comment); CommentShape commentShape = HSSFTestModelHelper.CreateCommentShape(1025, comment); Assert.AreEqual(comment.GetEscherContainer().ChildRecords.Count, 5); Assert.AreEqual(commentShape.SpContainer.ChildRecords.Count, 5); //sp record byte[] expected = commentShape.SpContainer.GetChild(0).Serialize(); byte[] actual = comment.GetEscherContainer().GetChild(0).Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); expected = commentShape.SpContainer.GetChild(2).Serialize(); actual = comment.GetEscherContainer().GetChild(2).Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); expected = commentShape.SpContainer.GetChild(3).Serialize(); actual = comment.GetEscherContainer().GetChild(3).Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); expected = commentShape.SpContainer.GetChild(4).Serialize(); actual = comment.GetEscherContainer().GetChild(4).Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); ObjRecord obj = comment.GetObjRecord(); ObjRecord objShape = commentShape.ObjRecord; expected = obj.Serialize(); actual = objShape.Serialize(); Assert.AreEqual(expected.Length, actual.Length); //assertArrayEquals(expected, actual); TextObjectRecord tor = comment.GetTextObjectRecord(); TextObjectRecord torShape = commentShape.TextObjectRecord; expected = tor.Serialize(); actual = torShape.Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); NoteRecord note = comment.NoteRecord; NoteRecord noteShape = commentShape.NoteRecord; expected = note.Serialize(); actual = noteShape.Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); wb.Close(); }
public void ResultEqualsToNonExistingAbstractShape() { HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sh = wb.CreateSheet() as HSSFSheet; HSSFPatriarch patriarch = sh.CreateDrawingPatriarch() as HSSFPatriarch; HSSFComment comment = patriarch.CreateCellComment(new HSSFClientAnchor()) as HSSFComment; HSSFRow row = sh.CreateRow(0) as HSSFRow; HSSFCell cell = row.CreateCell(0) as HSSFCell; cell.CellComment = (comment); Assert.AreEqual(comment.GetEscherContainer().ChildRecords.Count, 5); //sp record byte[] expected = TestDrawingAggregate.decompress("H4sIAAAAAAAAAFvEw/WBg4GBgZEFSHAxMAAA9gX7nhAAAAA="); byte[] actual = comment.GetEscherContainer().GetChild(0).Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); expected = TestDrawingAggregate.decompress("H4sIAAAAAAAAAGNgEPggxIANAABK4+laGgAAAA=="); actual = comment.GetEscherContainer().GetChild(2).Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); expected = TestDrawingAggregate.decompress("H4sIAAAAAAAAAGNgEPzAAAQACl6c5QgAAAA="); actual = comment.GetEscherContainer().GetChild(3).Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); expected = TestDrawingAggregate.decompress("H4sIAAAAAAAAAGNg4P3AAAQA6pyIkQgAAAA="); actual = comment.GetEscherContainer().GetChild(4).Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); ObjRecord obj = comment.GetObjRecord(); expected = TestDrawingAggregate.decompress("H4sIAAAAAAAAAItlMGEQZRBikGRgZBF0YEACvAxiDLgBAJZsuoU4AAAA"); actual = obj.Serialize(); Assert.AreEqual(expected.Length, actual.Length); //assertArrayEquals(expected, actual); TextObjectRecord tor = comment.GetTextObjectRecord(); expected = TestDrawingAggregate.decompress("H4sIAAAAAAAAANvGKMQgxMSABgBGi8T+FgAAAA=="); actual = tor.Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); NoteRecord note = comment.NoteRecord; expected = TestDrawingAggregate.decompress("H4sIAAAAAAAAAJNh4GGAAEYWEAkAS0KXuRAAAAA="); actual = note.Serialize(); Assert.AreEqual(expected.Length, actual.Length); Assert.IsTrue(Arrays.Equals(expected, actual)); wb.Close(); }