public void The_xml_message_serializer_should_rock_the_house() { byte[] serializedMessageData; var serializer = new XmlMessageSerializer(); OutboundMessage.Set(x => { x.SetSourceAddress("msmq://localhost/queue_name"); x.SetDestinationAddress("msmq://remotehost/queue_name"); x.SetResponseAddress("msmq://localhost/response_queue"); x.SetFaultAddress("msmq://localhost/fault_queue"); x.SetRetryCount(7); }); using (MemoryStream output = new MemoryStream()) { serializer.Serialize(output, _message); serializedMessageData = output.ToArray(); Trace.WriteLine(Encoding.UTF8.GetString(serializedMessageData)); } using (MemoryStream input = new MemoryStream(serializedMessageData)) { SerializationTestMessage receivedMessage = serializer.Deserialize(input) as SerializationTestMessage; Assert.AreEqual(_message, receivedMessage); } }
public void Just_how_fast_are_you() { var message = new SerializationTestMessage { DecimalValue = 123.45m, LongValue = 098123213, BoolValue = true, ByteValue = 127, IntValue = 123, DateTimeValue = new DateTime(2008, 9, 8, 7, 6, 5, 4), TimeSpanValue = TimeSpan.FromSeconds(30), GuidValue = Guid.NewGuid(), StringValue = "Chris's Sample Code", DoubleValue = 1823.172 }; var sendContext = new MessageSendContext <SerializationTestMessage>(message); ReceiveContext receiveContext = null; //warm it up for (var i = 0; i < 10; i++) { byte[] data = Serialize(sendContext); var transportMessage = new InMemoryTransportMessage(Guid.NewGuid(), data, Serializer.ContentType.MediaType, TypeMetadataCache <SerializationTestMessage> .ShortName); receiveContext = new InMemoryReceiveContext(transportMessage, TestConsumeContext.GetContext()); Deserialize <SerializationTestMessage>(receiveContext); } var timer = Stopwatch.StartNew(); const int iterations = 50000; for (var i = 0; i < iterations; i++) { Serialize(sendContext); } timer.Stop(); var perSecond = iterations * 1000 / timer.ElapsedMilliseconds; Console.WriteLine("Serialize: {0}ms, Rate: {1} m/s", timer.ElapsedMilliseconds, perSecond); timer = Stopwatch.StartNew(); for (var i = 0; i < 50000; i++) { Deserialize <SerializationTestMessage>(receiveContext); } timer.Stop(); perSecond = iterations * 1000 / timer.ElapsedMilliseconds; Console.WriteLine("Deserialize: {0}ms, Rate: {1} m/s", timer.ElapsedMilliseconds, perSecond); }
public void SetupContext() { _message = new SerializationTestMessage { DecimalValue = 123.45m, LongValue = 098123213, BoolValue = true, ByteValue = 127, IntValue = 123, DateTimeValue = new DateTime(2008, 9, 8, 7, 6, 5, 4), TimeSpanValue = 30.Seconds(), GuidValue = new Guid("B00C3BD0-3CE9-4B14-9EC6-E7348084EF1F"), StringValue = "Chris's Sample Code", DoubleValue = 1823.172, }; }
public GivenAComplexMessage() { Message = new SerializationTestMessage { DecimalValue = 123.45m, LongValue = 098123213, BoolValue = true, ByteValue = 127, IntValue = 123, DateTimeValue = new DateTime(2008, 9, 8, 7, 6, 5, 4), TimeSpanValue = 30.Seconds(), GuidValue = Guid.NewGuid(), StringValue = "Chris's Sample Code", DoubleValue = 1823.172, MaybeMoney = 567.89m, }; }
public void SetupContext() { _message = new SerializationTestMessage { DecimalValue = 123.45m, LongValue = 098123213, BoolValue = true, ByteValue = 127, IntValue = 123, DateTimeValue = new DateTime(2008, 9, 8, 7, 6, 5, 4), TimeSpanValue = 30.Seconds(), GuidValue = Guid.NewGuid(), StringValue = "Chris's Sample Code", DoubleValue = 1823.172, MaybeMoney = 567.89m, }; }
public void A_fully_loaded_object_should_be_serialized() { var message = new SerializationTestMessage { DecimalValue = 123.45m, LongValue = 098123213, BoolValue = true, ByteValue = 127, IntValue = 123, DateTimeValue = new DateTime(2008, 9, 8, 7, 6, 5, 4), TimeSpanValue = 30.Seconds(), GuidValue = Guid.NewGuid(), StringValue = "Chris's Sample Code", DoubleValue = 1823.172, }; TestSerialization(message); }
public void Serialize_complex() { Message = new SerializationTestMessage { DecimalValue = 123.45m, LongValue = 098123213, BoolValue = true, ByteValue = 127, IntValue = 123, DateTimeValue = new DateTime(2008, 9, 8, 7, 6, 5, 4), TimeSpanValue = TimeSpan.FromSeconds(30), GuidValue = Guid.NewGuid(), StringValue = "Chris's Sample Code", DoubleValue = 1823.172, MaybeMoney = 567.89m }; TestSerialization(Message); }
public void Fault_Messages_should_be_properly_serialized() { var message = new SerializationTestMessage { DecimalValue = 123.45m, LongValue = 098123213, BoolValue = true, ByteValue = 127, IntValue = 123, DateTimeValue = new DateTime(2008, 9, 8, 7, 6, 5, 4), TimeSpanValue = 30.Seconds(), GuidValue = Guid.NewGuid(), StringValue = "Chris's Sample Code", DoubleValue = 1823.172, }; var faltMessage = new Fault <SerializationTestMessage>(message, new System.Net.Mail.SmtpException("Crap!")); TestSerialization(faltMessage); }
public void The_binary_formatter_should_make_mouths_happy() { byte[] serializedMessageData; IMessageSerializer serializer = new BinaryMessageSerializer(); using (MemoryStream output = new MemoryStream()) { serializer.Serialize(output, _message); serializedMessageData = output.ToArray(); } using (MemoryStream input = new MemoryStream(serializedMessageData)) { SerializationTestMessage receivedMessage = serializer.Deserialize(input) as SerializationTestMessage; Assert.AreEqual(_message, receivedMessage); } }
public void The_xml_serializer_should_be_awesome() { byte[] serializedMessageData; var serializer = new DotNotXmlMessageSerializer(); using (MemoryStream output = new MemoryStream()) { serializer.Serialize(output, _message); serializedMessageData = output.ToArray(); Trace.WriteLine(Encoding.UTF8.GetString(serializedMessageData)); } using (MemoryStream input = new MemoryStream(serializedMessageData)) { SerializationTestMessage receivedMessage = serializer.Deserialize(input) as SerializationTestMessage; Assert.AreEqual(_message, receivedMessage); } }
public void Just_how_fast_are_you() { Trace.WriteLine("Serializer: " + typeof(TSerializer).Name); var message = new SerializationTestMessage { DecimalValue = 123.45m, LongValue = 098123213, BoolValue = true, ByteValue = 127, IntValue = 123, DateTimeValue = new DateTime(2008, 9, 8, 7, 6, 5, 4), TimeSpanValue = 30.Seconds(), GuidValue = Guid.NewGuid(), StringValue = "Chris's Sample Code", DoubleValue = 1823.172, }; var serializer = new TSerializer(); //warm it up for (int i = 0; i < 10; i++) { byte[] data; using (var output = new MemoryStream()) { serializer.Serialize(output, message.ToSendContext()); data = output.ToArray(); } using (var input = new MemoryStream(data)) { serializer.Deserialize(ReceiveContext.FromBodyStream(input)); } } Stopwatch timer = Stopwatch.StartNew(); const int iterations = 50000; for (int i = 0; i < iterations; i++) { using (var output = new MemoryStream()) { serializer.Serialize(output, message.ToSendContext()); } } timer.Stop(); long perSecond = iterations * 1000 / timer.ElapsedMilliseconds; var msg = string.Format("Serialize: {0}ms, Rate: {1} m/s", timer.ElapsedMilliseconds, perSecond); Trace.WriteLine(msg); byte[] sample; using (var output = new MemoryStream()) { serializer.Serialize(output, message.ToSendContext()); sample = output.ToArray(); } timer = Stopwatch.StartNew(); for (int i = 0; i < 50000; i++) { using (var input = new MemoryStream(sample)) { serializer.Deserialize(ReceiveContext.FromBodyStream(input)); } } timer.Stop(); perSecond = iterations * 1000 / timer.ElapsedMilliseconds; msg = string.Format("Deserialize: {0}ms, Rate: {1} m/s", timer.ElapsedMilliseconds, perSecond); Trace.WriteLine(msg); }
public void Just_how_fast_is_the_custom_xml_serializer() { var message = new SerializationTestMessage { DecimalValue = 123.45m, LongValue = 098123213, BoolValue = true, ByteValue = 127, IntValue = 123, DateTimeValue = new DateTime(2008, 9, 8, 7, 6, 5, 4), TimeSpanValue = 30.Seconds(), GuidValue = Guid.NewGuid(), StringValue = "Chris's Sample Code", DoubleValue = 1823.172, }; // var message = new PingMessage // { // CorrelationId = CombGuid.Generate() // }; var serializer = new XmlMessageSerializer(); for (int i = 0; i < 10; i++) { byte[] data; using (MemoryStream output = new MemoryStream()) { serializer.Serialize(output, message); data = output.ToArray(); } using (MemoryStream input = new MemoryStream(data)) { // serializer.Deserialize(input); } } Stopwatch timer = Stopwatch.StartNew(); const int iterations = 50000; for (int i = 0; i < iterations; i++) { using (MemoryStream output = new MemoryStream()) { serializer.Serialize(output, message); } } timer.Stop(); long perSecond = iterations*1000/timer.ElapsedMilliseconds; var msg = string.Format("Serialize: {0}ms, Rate: {1} m/s", timer.ElapsedMilliseconds, perSecond); Trace.WriteLine(msg); byte[] sample; using (MemoryStream output = new MemoryStream()) { serializer.Serialize(output, message); sample = output.ToArray(); } timer = Stopwatch.StartNew(); for (int i = 0; i < 50000; i++) { using (MemoryStream input = new MemoryStream(sample)) { serializer.Deserialize(input); } } timer.Stop(); perSecond = iterations*1000/timer.ElapsedMilliseconds; msg = string.Format("Deserialize: {0}ms, Rate: {1} m/s", timer.ElapsedMilliseconds, perSecond); Trace.WriteLine(msg); }
public void Just_how_fast_is_the_custom_xml_serializer() { var message = new SerializationTestMessage { DecimalValue = 123.45m, LongValue = 098123213, BoolValue = true, ByteValue = 127, IntValue = 123, DateTimeValue = new DateTime(2008, 9, 8, 7, 6, 5, 4), TimeSpanValue = 30.Seconds(), GuidValue = Guid.NewGuid(), StringValue = "Chris's Sample Code", DoubleValue = 1823.172, }; // var message = new PingMessage // { // CorrelationId = CombGuid.Generate() // }; var serializer = new XmlMessageSerializer(); for (int i = 0; i < 10; i++) { byte[] data; using (MemoryStream output = new MemoryStream()) { serializer.Serialize(output, message); data = output.ToArray(); } using (MemoryStream input = new MemoryStream(data)) { // serializer.Deserialize(input); } } Stopwatch timer = Stopwatch.StartNew(); const int iterations = 50000; for (int i = 0; i < iterations; i++) { using (MemoryStream output = new MemoryStream()) { serializer.Serialize(output, message); } } timer.Stop(); long perSecond = iterations * 1000 / timer.ElapsedMilliseconds; var msg = string.Format("Serialize: {0}ms, Rate: {1} m/s", timer.ElapsedMilliseconds, perSecond); Trace.WriteLine(msg); byte[] sample; using (MemoryStream output = new MemoryStream()) { serializer.Serialize(output, message); sample = output.ToArray(); } timer = Stopwatch.StartNew(); for (int i = 0; i < 50000; i++) { using (MemoryStream input = new MemoryStream(sample)) { serializer.Deserialize(input); } } timer.Stop(); perSecond = iterations * 1000 / timer.ElapsedMilliseconds; msg = string.Format("Deserialize: {0}ms, Rate: {1} m/s", timer.ElapsedMilliseconds, perSecond); Trace.WriteLine(msg); }