public void ServerProxy_ExecuteCommand_WithArgs_ShouldInvokeCorrectly()
 {
     //------------Setup for test--------------------------
     var serverMsg = "server result";
     var mockHubProxy = new Mock<IHubProxy>();
     var ExpectedResult = new Receipt {PartID = 0, ResultParts = 1};
     mockHubProxy.Setup(proxy => proxy.Invoke<Receipt>("ExecuteCommand", It.IsAny<Envelope>(), It.IsAny<bool>(), It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<Guid>())).Returns(new Task<Receipt>(() => ExpectedResult));
     mockHubProxy.Setup(proxy => proxy.Invoke<string>("FetchExecutePayloadFragment", It.IsAny<FutureReceipt>())).Returns(new Task<string>(() => serverMsg));
     var serverProxy = new TestServerProxy();
     serverProxy.SetEsbProxy(mockHubProxy.Object);
     //------------Execute Test---------------------------
     var resultOfExecution = serverProxy.ExecuteCommand(new StringBuilder("some payload"), Guid.NewGuid(), Guid.NewGuid());
     //------------Assert Results-------------------------
     mockHubProxy.VerifyAll();
     Assert.AreEqual(serverMsg, resultOfExecution.ToString());
 }