Dreamine.FullKit.Tests
1.0.0.0
Dreamine.FullKit.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
JsonMessageSerializerTests.cs
이 파일의 문서화 페이지로 가기
1
using
System.Text;
2
using
Dreamine.Communication.Abstractions.Models;
3
using
Dreamine.Communication.Core.Serialization;
4
5
namespace
Dreamine.FullKit.Tests.Communication
;
6
15
public
sealed
class
JsonMessageSerializerTests
16
{
25
[Fact]
26
public
void
SerializeThenDeserialize_PreservesEnvelopeValues
()
27
{
28
var serializer =
new
JsonMessageSerializer();
29
var envelope =
new
MessageEnvelope
30
{
31
MessageId =
"message-1"
,
32
Name =
"Telemetry"
,
33
Route =
"/machine/1"
,
34
Payload = Encoding.UTF8.GetBytes(
"payload"
),
35
Headers =
new
Dictionary<string, string>
36
{
37
[
"Content-Type"
] =
"text/plain"
38
},
39
CreatedAt =
new
DateTimeOffset(2026, 6, 7, 1, 2, 3, TimeSpan.Zero)
40
};
41
42
var data = serializer.Serialize(envelope);
43
var result = serializer.Deserialize(data);
44
45
Assert.Equal(envelope.MessageId, result.MessageId);
46
Assert.Equal(envelope.Name, result.Name);
47
Assert.Equal(envelope.Route, result.Route);
48
Assert.Equal(envelope.Payload, result.Payload);
49
Assert.Equal(envelope.Headers, result.Headers);
50
Assert.Equal(envelope.CreatedAt, result.CreatedAt);
51
}
52
61
[Fact]
62
public
void
Deserialize_AcceptsCaseInsensitivePropertyNames
()
63
{
64
var json =
""
"
65
{
66
"
messageid
": "
lower-
case
",
67
"
name
": "
Ping
",
68
"
route
": "
/ping
",
69
"
payload
": "
AQID
",
70
"
headers
": { "
A
": "
B
" },
71
"
createdat
": "
2026-06-07T00:00:00+00:00
"
72
}
73
"
""
;
74
75
var result =
new
JsonMessageSerializer().Deserialize(Encoding.UTF8.GetBytes(json));
76
77
Assert.Equal(
"lower-case"
, result.MessageId);
78
Assert.Equal(
new
byte
[] { 1, 2, 3 }, result.Payload);
79
Assert.Equal(
"B"
, result.Headers[
"A"
]);
80
}
81
}
Dreamine.FullKit.Tests.Communication
Definition
CommunicationAbstractionsTests.cs:5
Dreamine.FullKit.Tests.Communication.JsonMessageSerializerTests
Definition
JsonMessageSerializerTests.cs:16
Dreamine.FullKit.Tests.Communication.JsonMessageSerializerTests.SerializeThenDeserialize_PreservesEnvelopeValues
void SerializeThenDeserialize_PreservesEnvelopeValues()
Definition
JsonMessageSerializerTests.cs:26
Dreamine.FullKit.Tests.Communication.JsonMessageSerializerTests.Deserialize_AcceptsCaseInsensitivePropertyNames
void Deserialize_AcceptsCaseInsensitivePropertyNames()
Definition
JsonMessageSerializerTests.cs:62
Communication
JsonMessageSerializerTests.cs
다음에 의해 생성됨 :
1.17.0