상속: IMessageSerializer
		public void ShouldSerializeSpecialSymbols()
		{
			var memoryStrem = new MemoryStream();
			//Special character with hexadecimal value 0x15 is inserted in Name. It is not empty.
			var sampleMessage = new SampleMessage {Name = ""};
			new AdvancedXmlSerializer().Serialize(new IMessage[] {sampleMessage}, memoryStrem);
			memoryStrem.Seek(0, SeekOrigin.Begin);
			var res = new AdvancedXmlSerializer().Deserialize(memoryStrem)[0] as SampleMessage;
			res.Name.Should(Be.Not.Empty, "res.Name.Should(Be.Not.Empty)");
		}
		private static IPluginLocalMessage[] Deserialize(string oldMessage)
		{
			var byteArray = Encoding.ASCII.GetBytes(oldMessage);
			var stream = new MemoryStream(byteArray);

			var newRevisionRangeDetectedLocalMessage = new AdvancedXmlSerializer().Deserialize(stream) as IPluginLocalMessage[];
			return newRevisionRangeDetectedLocalMessage;
		}
		public void ShouldSerializeDateTime()
		{
			var dateTime = DateTime.Now;
			var message = new DateTimeMessage {CreateDate = dateTime};
			var memoryStream = new MemoryStream();
			new AdvancedXmlSerializer().Serialize(new IMessage[] {message}, memoryStream);
			memoryStream.Seek(0, SeekOrigin.Begin);

			var deserialized = new AdvancedXmlSerializer().Deserialize(memoryStream);
			((DateTimeMessage) deserialized[0]).CreateDate.ToString().Should(Be.EqualTo(dateTime.ToString()), "((DateTimeMessage) deserialized[0]).CreateDate.ToString().Should(Be.EqualTo(dateTime.ToString()))");
		}