forked from ServiceStack/ServiceStack.Text
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMessagingTests.cs
More file actions
73 lines (61 loc) · 1.95 KB
/
MessagingTests.cs
File metadata and controls
73 lines (61 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using NUnit.Framework;
using ServiceStack.Messaging;
namespace ServiceStack.Text.Tests
{
public class Incr
{
public int Value { get; set; }
}
public class Ping {}
[TestFixture]
public class MessagingTests : TestBase
{
[Test]
public void Can_serialize_IMessage_into_typed_Message()
{
var dto = new Incr { Value = 1 };
IMessage iMsg = MessageFactory.Create(dto);
var json = iMsg.ToJson();
var typedMessage = json.FromJson<Message<Incr>>();
Assert.That(typedMessage.GetBody().Value, Is.EqualTo(dto.Value));
}
[Test]
public void Can_serialize_IMessage_into_typed_Message_Ping()
{
var dto = new Ping();
IMessage iMsg = MessageFactory.Create(dto);
var json = iMsg.ToJson();
var typedMessage = json.FromJson<Message<Ping>>();
Assert.That(typedMessage.GetBody(), Is.Not.Null);
}
[Test]
public void Can_serialize_object_IMessage_into_typed_Message()
{
var dto = new Incr { Value = 1 };
var iMsg = MessageFactory.Create(dto);
var json = ((object)iMsg).ToJson();
var typedMessage = json.FromJson<Message<Incr>>();
Assert.That(typedMessage.GetBody().Value, Is.EqualTo(dto.Value));
}
[Test]
public void Can_serialize_IMessage_ToBytes_into_typed_Message()
{
var dto = new Incr { Value = 1 };
var iMsg = MessageFactory.Create(dto);
var bytes = iMsg.ToBytes();
var typedMessage = bytes.ToMessage<Incr>();
Assert.That(typedMessage.GetBody().Value, Is.EqualTo(dto.Value));
}
public class DtoWithInterface
{
public IMessage<string> Results { get; set; }
}
[Test]
public void Can_deserialize_interface_into_concrete_type()
{
var dto = Serialize(new DtoWithInterface { Results = new Message<string>("Body") }, includeXml: false);
Assert.That(dto.Results, Is.Not.Null);
Assert.That(dto.Results.GetBody(), Is.Not.Null);
}
}
}