public void CompleteTask_WithNoTaskStarted_DoesNothing() { // Arrange var taskManager = new RemoteTaskManager <object, int>(firstId, nextId); // Act TestDelegate complete = () => taskManager.CompleteTask(10, result); // Assert Assert.That(complete, Throws.Nothing); }
public async Task StartRemoteTask_WithResult_ReturnsResult() { // Arrange var taskManager = new RemoteTaskManager <object, int>(firstId, nextId); var id = 0; Action <int> action = i => { id = i; }; // Act var task = taskManager.StartRemoteTask(action, timeout); taskManager.CompleteTask(id, result); var res = await task; // Assert Assert.That(res, Is.EqualTo(result)); }
private void PendingMessage(object sender, NetMQSocketEventArgs e) { NetMQMessage responseMessage = null; if (!socket.TryReceiveMultipartMessage(ref responseMessage, 4)) { return; } Task.Run(() => { if (!messageFactory.IsValidResponseMessage(responseMessage)) { return; } var(requestId, response) = messageFactory.ExtractResponse(responseMessage); taskManager.CompleteTask(requestId, response); }); }