public void ReadNestedObjectTest() { SampleClass expected = new SampleClass(); expected.m_int = 0; expected.m_byte = 1; expected.m_longarray = new List <long>() { 1, -2 }; expected.m_string = "test"; expected.m_obj = null; byte[] buffer = new byte[] { 0x00, 0x01, 0x02, 0x02, 0x03, 0x04, 0x74, 0x65, 0x73, 0x74, 0x0D }; SampleClass actual = new SampleClass(); actual.Deserialize(new BinaryReader(buffer, DeserializationHelper.CannedVersion)); Assert.AreEqual <SampleClass>(expected, actual); expected.m_obj = new InnerClass() { m_bool = true, m_double = 0.1, m_float = 150 }; List <byte> lb = new List <byte> { 0x00, 0x01, 0x02, 0x02, 0x03, 0x04, 0x74, 0x65, 0x73, 0x74, 0x05 }; lb.AddRange(BitConverter.GetBytes(expected.m_obj.m_float)); lb.AddRange(BitConverter.GetBytes(expected.m_obj.m_double)); lb.Add((byte)0xD); actual.Deserialize(new BinaryReader(lb.ToArray(), DeserializationHelper.CannedVersion)); Assert.AreEqual <SampleClass>(expected, actual); }
public void NestedObjectTest() { SampleClass expected = new SampleClass(); expected.m_int = 0; expected.m_byte = 1; expected.m_longarray = new List <long>() { 1, -2 }; expected.m_string = "test"; expected.m_obj = new InnerClass() { m_bool = true, m_double = 0.1, m_float = 150 }; System.IO.MemoryStream stream = new System.IO.MemoryStream(); BinaryWriter writer = new BinaryWriter(stream, RoundtripTest.CannedVersion); expected.Serialize(writer); stream.Seek(0L, System.IO.SeekOrigin.Begin); BinaryReader reader = new BinaryReader(stream, RoundtripTest.CannedVersion); SampleClass actual = new SampleClass(); actual.Deserialize(reader); Assert.AreEqual <SampleClass>(expected, actual); }