コード例 #1
0
        public void Serialization()
        {
            IDataContractSurrogate dataContractSurrogate = new MockProjectDataContractSurrogate(_project1);
            XmlObjectSerializer    serializer            = new DataContractSerializer(typeof(InputFile), new[] { typeof(ProjectSurrogate) }, int.MaxValue, true, true, dataContractSurrogate);

            InputFile deserializedInputFile;

            byte[] serializedData;
            using (MemoryStream memoryStream = new MemoryStream())
            {
                serializer.WriteObject(memoryStream, _inputFile);
                memoryStream.Flush();
                serializedData = memoryStream.ToArray();
            }

            using (MemoryStream stream = new MemoryStream(serializedData))
            {
                deserializedInputFile = serializer.ReadObject(stream) as InputFile;
            }

            _serializationContext.CompleteDeserialization(deserializedInputFile);

            Assert.AreEqual(_inputFile, deserializedInputFile, "File");
            Assert.AreEqual(FileLength1, _inputFile.Length, "Length");
            Assert.AreSame(_dataPacket, deserializedInputFile.CreateDataPacket());
        }