public void InvokeVoidReturnWithExceptionTest() { // Arrange var objectId = "objId1"; double args0 = 1.1; string args1 = "test"; NotImplementedException exception = null; _regObjectMock.Setup(o => o.VoidReturnMethod(new object[] { args0, args1 })).Callback <object[]>(objs => { exception = new NotImplementedException("THIS IS AN EMERGENCY BROADCAST!"); throw exception; }); var server = new Recipient(); var request = new InvokeRequest() { objectId = objectId, methodId = ObjectDescriptor.GetMethodId <IRegisteredObject>(nameof(IRegisteredObject.VoidReturnMethod)), methodArgs = new object[] { args0, args1 } }; // Act server.Register(objectId, _regObjectMock.Object); var response = server.Request(request) as ExceptionResponse; // Assert _serviceMock.Verify(); _regObjectMock.Verify(); Assert.IsTrue(response.exception.Message.Contains(objectId) && response.exception.Message.Contains(request.methodId)); }
public void InvokeVoidReturnStrTest() { // Arrange var objectId = "objId1"; string args0 = "test"; _regObjectMock.Setup(o => o.VoidReturnMethodStr(args0)); var server = new Recipient(); var request = new InvokeRequest() { objectId = objectId, methodId = ObjectDescriptor.GetMethodId <IRegisteredObject>(nameof(IRegisteredObject.VoidReturnMethodStr)), methodArgs = new object[] { args0 } }; // Act server.Register(objectId, _regObjectMock.Object); var response = server.Request(request) as InvokeResponse; // Assert _serviceMock.Verify(); _regObjectMock.Verify(); Assert.AreEqual(ResponseType.invoke, response.responseType); Assert.AreEqual(request.objectId, response.objectId); Assert.AreEqual(request.methodId, response.methodId); Assert.IsNull(response.result); }
public void InvokeVoidReturnParamsTest() { // Arrange string objectId = "obj1Id"; var proxyObj = RuntimeProxy.Create <IRegisteredObject>(objectId, _clientMock.Object); object[] args = null; _clientMock.Setup(o => o.Request(It.IsAny <InvokeRequest>())).Returns <InvokeRequest>(req => { args = new object[] { (req.methodArgs[0] as object[])[0], (req.methodArgs[0] as object[])[1] }; return(new InvokeResponse() { objectId = objectId, methodId = ObjectDescriptor.GetMethodId <IRegisteredObject>(nameof(IRegisteredObject.VoidReturnMethod)), result = null }); }); // Act proxyObj.VoidReturnMethod("string", 2.0); // Assert _clientMock.VerifyAll(); Assert.AreEqual("string", args[0]); Assert.AreEqual(2.0, args[1]); }