Skip to content

Commit c2a499f

Browse files
committed
test: 增加 SetDataPackageAdapter 单元测试
1 parent 2ce7544 commit c2a499f

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

test/UnitTestTcpSocket/TcpSocketFactoryTest.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -842,6 +842,38 @@ ValueTask ReceivedCallBack2(ReadOnlyMemory<byte> buffer)
842842
return ValueTask.CompletedTask;
843843
}
844844
}
845+
846+
[Fact]
847+
public async Task SetDataPackageAdapter_Ok()
848+
{
849+
var port = 8897;
850+
var server = StartTcpServer(port, MockSplitPackageAsync);
851+
852+
var client = CreateClient();
853+
var tcs = new TaskCompletionSource();
854+
var receivedBuffer = new byte[128];
855+
856+
// 连接 TCP Server
857+
var connect = await client.ConnectAsync("localhost", port);
858+
859+
client.AddDataPackageAdapter(new DataPackageAdapter(new FixLengthDataPackageHandler(7)), ReceivedCallBack);
860+
client.SetDataPackageAdapter(new FixLengthDataPackageHandler(7), ReceivedCallBack);
861+
862+
var data = new ReadOnlyMemory<byte>([1, 2, 3, 4, 5]);
863+
await client.SendAsync(data);
864+
865+
// 等待接收数据处理完成
866+
await tcs.Task;
867+
868+
ValueTask ReceivedCallBack(ReadOnlyMemory<byte> buffer)
869+
{
870+
// buffer 即是接收到的数据
871+
buffer.CopyTo(receivedBuffer);
872+
receivedBuffer = receivedBuffer[..buffer.Length];
873+
tcs.SetResult();
874+
return ValueTask.CompletedTask;
875+
}
876+
}
845877
private static TcpListener StartTcpServer(int port, Func<TcpClient, Task> handler)
846878
{
847879
var server = new TcpListener(IPAddress.Loopback, port);

0 commit comments

Comments
 (0)