Skip to content

Commit 9fb2e1f

Browse files
committed
test: 更新单元测试
1 parent cdc930c commit 9fb2e1f

File tree

1 file changed

+18
-37
lines changed

1 file changed

+18
-37
lines changed

test/UnitTest/Services/TcpSocketFactoryTest.cs

Lines changed: 18 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -674,44 +674,24 @@ public async Task TryConvertTo_Ok()
674674
Assert.Equal([1, 2, 3, 4, 5], entity.Header);
675675
Assert.Equal([3, 4], entity.Body);
676676

677-
// 测试异常流程
678-
var adapter2 = new DataPackageAdapter();
679-
var result = adapter2.TryConvertTo(data, new MockEntitySocketDataConverter(), out var t);
680-
Assert.True(result);
681-
Assert.NotNull(t);
682-
Assert.Equal([1, 2, 3, 4, 5], entity.Header);
683-
}
684-
685-
[Fact]
686-
public async Task TryConvertTo_Null()
687-
{
688-
var port = 8890;
689-
var server = StartTcpServer(port, MockSplitPackageAsync);
690-
var client = CreateClient();
691-
var tcs = new TaskCompletionSource();
692-
MockEntity? entity = null;
693-
694-
// 设置数据适配器
695-
var adapter = new DataPackageAdapter
696-
{
697-
DataPackageHandler = new FixLengthDataPackageHandler(7),
698-
};
699-
client.SetDataPackageAdapter(adapter, new MockEntitySocketDataConverter(), t =>
677+
// 测试 SocketDataConverter 标签功能
678+
tcs = new TaskCompletionSource();
679+
client.SetDataPackageAdapter<MockEntity>(adapter, t =>
700680
{
701681
entity = t;
702682
tcs.SetResult();
703683
return Task.CompletedTask;
704684
});
705-
706-
// 连接 TCP Server
707-
var connect = await client.ConnectAsync("localhost", port);
708-
709-
// 发送数据
710-
var data = new ReadOnlyMemory<byte>([1, 2, 3, 4, 5]);
711685
await client.SendAsync(data);
712-
await tcs.Task;
713-
714686
Assert.NotNull(entity);
687+
Assert.Equal([1, 2, 3, 4, 5], entity.Header);
688+
689+
// 测试数据适配器直接调用 TryConvertTo 方法转换数据
690+
var adapter2 = new DataPackageAdapter();
691+
var result = adapter2.TryConvertTo(data, new MockEntitySocketDataConverter(), out var t);
692+
Assert.True(result);
693+
Assert.NotNull(t);
694+
Assert.Equal([1, 2, 3, 4, 5], entity.Header);
715695
}
716696

717697
private static TcpListener StartTcpServer(int port, Func<TcpClient, Task> handler)
@@ -1085,19 +1065,20 @@ class MockEntitySocketDataConverter : SocketDataConverterBase<MockEntity>
10851065
{
10861066
public override bool TryConvertTo(ReadOnlyMemory<byte> data, [NotNullWhen(true)] out MockEntity? entity)
10871067
{
1088-
entity = new MockEntity
1089-
{
1090-
Header = data[..5].ToArray(),
1091-
Body = data[5..].ToArray()
1092-
};
1093-
return true;
1068+
var v = new MockEntity();
1069+
var ret = Parse(data, v);
1070+
entity = ret ? v : null;
1071+
return ret;
10941072
}
10951073
}
10961074

1075+
[SocketDataConverter(Type = typeof(MockEntitySocketDataConverter))]
10971076
class MockEntity
10981077
{
1078+
[SocketDataField(Type = typeof(byte[]), Start = 0, Length = 5)]
10991079
public byte[]? Header { get; set; }
11001080

1081+
[SocketDataField(Type = typeof(byte[]), Start = 5, Length = 2)]
11011082
public byte[]? Body { get; set; }
11021083
}
11031084
}

0 commit comments

Comments
 (0)