public void TestTableLengthWrite() { var t = new Hashtable { ["abc"] = "def" }; int bytesNeeded = WireFormatting.GetTableByteCount(t); byte[] memory = new byte[bytesNeeded]; var writer = new MethodArgumentWriter(memory); writer.WriteTable(t); Assert.AreEqual(bytesNeeded, writer.Offset); Check(memory, new byte[] { 0x00, 0x00, 0x00, 0x0C, 0x03, 0x61, 0x62, 0x63, 0x53, 0x00, 0x00, 0x00, 0x03, 0x64, 0x65, 0x66 }); }
public void TestNestedTableWrite() { Hashtable t = new Hashtable(); Hashtable x = new Hashtable { ["y"] = 0x12345678 }; t["x"] = x; int bytesNeeded = WireFormatting.GetTableByteCount(t); var writer = new MethodArgumentWriter(new byte[bytesNeeded]); writer.WriteTable(t); Assert.AreEqual(bytesNeeded, writer.Offset); Check(writer, new byte[] { 0x00, 0x00, 0x00, 0x0E, 0x01, 0x78, 0x46, 0x00, 0x00, 0x00, 0x07, 0x01, 0x79, 0x49, 0x12, 0x34, 0x56, 0x78 }); }
public byte[] Contents(MethodArgumentWriter w) { return(w.Memory.Slice(0, w.Offset).ToArray()); }
public void SetUp() { m_w = Writer(); }
public byte[] Contents(MethodArgumentWriter w) { return(((MemoryStream)w.BaseWriter.BaseStream).ToArray()); }