解决MySql布尔型新旧版本兼容问题,采用枚举来表示布尔型的数据表。由正向工程赋值
大石头 authored at 2018-05-15 21:21:05
1.11 KiB
X
using NewLife;
using NewLife.Net;
using Xunit;

namespace XUnitTest.Net;

[Collection("Net")]
public class EchoNetServerTests
{
    [Fact]
    public void Echo32Bytes()
    {
        using var server = new EchoNetServer { Port = 0 };
        server.Start();

        using var client = new NetUri($"tcp://127.0.0.1:{server.Port}").CreateRemote();
        var payload = new Byte[32];
        Random.Shared.NextBytes(payload);

        var wait = new ManualResetEventSlim();
        Byte[]? received = null;
        client.Received += (s, e) =>
        {
            received = e.GetBytes();
            wait.Set();
        };

        client.Open();
        _ = client.Send(payload);

        Assert.True(wait.Wait(3_000));
        Assert.NotNull(received);
        Assert.Equal(payload, received);
    }

    class EchoNetServer : NetServer<EchoSession>
    {
    }

    class EchoSession : NetSession<EchoNetServer>
    {
        protected override void OnReceive(ReceivedEventArgs e)
        {
            var packet = e.Packet;
            if (packet == null || packet.Length == 0) return;

            Send(packet);
        }
    }
}