public void TestFillFields() { string TestData = "0F 02 " + // options "11 F1 " + // record id "00 00 00 00"; // remaining bytes UnknownEscherRecord r = new UnknownEscherRecord(); IEscherRecordFactory factory = new DefaultEscherRecordFactory(); r.FillFields(HexRead.ReadFromString(TestData), factory); Assert.AreEqual(0x020F, r.Options); Assert.AreEqual(unchecked ((short)0xF111), r.RecordId); Assert.IsTrue(r.IsContainerRecord); Assert.AreEqual(8, r.RecordSize); Assert.AreEqual(0, r.ChildRecords.Count); Assert.AreEqual(0, r.Data.Length); TestData = "00 02 " + // options "11 F1 " + // record id "04 00 00 00 " + // remaining bytes "01 02 03 04"; r = new UnknownEscherRecord(); r.FillFields(HexRead.ReadFromString(TestData), factory); Assert.AreEqual(0x0200, r.Options); Assert.AreEqual(unchecked ((short)0xF111), r.RecordId); Assert.AreEqual(12, r.RecordSize); Assert.IsFalse(r.IsContainerRecord); Assert.AreEqual(0, r.ChildRecords.Count); Assert.AreEqual(4, r.Data.Length); Assert.AreEqual(1, r.Data[0]); Assert.AreEqual(2, r.Data[1]); Assert.AreEqual(3, r.Data[2]); Assert.AreEqual(4, r.Data[3]); TestData = "0F 02 " + // options "11 F1 " + // record id "08 00 00 00 " + // remaining bytes "00 02 " + // options "FF FF " + // record id "00 00 00 00"; // remaining bytes r = new UnknownEscherRecord(); r.FillFields(HexRead.ReadFromString(TestData), factory); Assert.AreEqual(0x020F, r.Options); Assert.AreEqual(unchecked ((short)0xF111), r.RecordId); Assert.AreEqual(8, r.RecordSize); Assert.IsTrue(r.IsContainerRecord); Assert.AreEqual(1, r.ChildRecords.Count); Assert.AreEqual(unchecked ((short)0xFFFF), r.GetChild(0).RecordId); }
public void TestToString() { UnknownEscherRecord r = new UnknownEscherRecord(); r.Options = (short)0x1234; r.RecordId = unchecked ((short)0xF112); byte[] data = new byte[8]; r.Serialize(0, data); String nl = Environment.NewLine; Assert.AreEqual("UnknownEscherRecord:" + nl + " isContainer: False" + nl + " options: 0x1234" + nl + " recordId: 0xF112" + nl + " numchildren: 0" + nl , r.ToString()); }
public void TestSerialize() { UnknownEscherRecord r = new UnknownEscherRecord(); r.Options = (short)0x123F; r.RecordId = unchecked ((short)0xF112); byte[] data = new byte[8]; r.Serialize(0, data); Assert.AreEqual("[3F, 12, 12, F1, 00, 00, 00, 00]", HexDump.ToHex(data)); EscherRecord childRecord = new UnknownEscherRecord(); childRecord.Options = unchecked ((short)0x9999); childRecord.RecordId = unchecked ((short)0xFF01); r.AddChildRecord(childRecord); data = new byte[16]; r.Serialize(0, data); Assert.AreEqual("[3F, 12, 12, F1, 08, 00, 00, 00, 99, 99, 01, FF, 00, 00, 00, 00]", HexDump.ToHex(data)); }