public void RegisterAckTask() { "将消息注册,此时设置收到回复,注册的消息可以完成".Test(() => { // 注册的消息可以完成 var clientName = "lindexi"; Ack ack = 2; var taskCompletionSource = new TaskCompletionSource <bool>(); var ackTask = new AckTask(clientName, ack, taskCompletionSource); AckManager.RegisterAckTask(ackTask); AckManager.OnAckReceived(this, new AckArgs(clientName, ack)); //Debug.Assert(taskCompletionSource.Task.IsCompleted); Assert.AreEqual(true, taskCompletionSource.Task.IsCompleted); }); }
public void RegisterAckTask() { "重复注册相同编号的消息,提示错误".Test(() => { var clientName = "lindexi"; Ack ack = 20; var taskCompletionSource = new TaskCompletionSource <bool>(); var ackTask = new AckTask(clientName, ack, taskCompletionSource, "调试"); AckManager.RegisterAckTask(ackTask); Assert.ThrowsException <ArgumentException>(() => { AckManager.RegisterAckTask(ackTask); }); }); "将消息注册,如果没有收到回复,那么注册的任务依然没有完成".Test(() => { // 注册的消息可以完成 var clientName = "lindexi"; Ack ack = 2; var taskCompletionSource = new TaskCompletionSource <bool>(); var ackTask = new AckTask(clientName, ack, taskCompletionSource, "调试"); AckManager.RegisterAckTask(ackTask); Assert.AreEqual(false, taskCompletionSource.Task.IsCompleted); }); "将消息注册,此时设置收到回复,注册的消息可以完成".Test(() => { // 注册的消息可以完成 var clientName = "lindexi"; Ack ack = 2; var taskCompletionSource = new TaskCompletionSource <bool>(); var ackTask = new AckTask(clientName, ack, taskCompletionSource, "调试"); AckManager.RegisterAckTask(ackTask); AckManager.OnAckReceived(this, new AckArgs(clientName, ack)); //Debug.Assert(taskCompletionSource.Task.IsCompleted); Assert.AreEqual(true, taskCompletionSource.Task.IsCompleted); }); }