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