public void Ref() { var handler = factory.CreateMethodHandler(globalServiceImplementationInfo, new ServicePath("MyService", "ModifyByRef")); var data = new byte[8]; fixed(byte *pData = data) { *(double *)pData = 12.34; } var expectedData = new byte[8]; fixed(byte *pData = expectedData) { *(double *)pData = 24.68; } double dummy = 0; service.WhenForAnyArgs(x => x.ModifyByRef(ref dummy)).Do(x => { x[0] = (double)x[0] * 2; }); var result = handler(service, data); Assert.That(result, Is.EquivalentTo(expectedData)); }
public void Ref() { var handler = CreateClass("MyService", "ModifyByRef")(null); var data = new byte[8]; fixed(byte *pData = data) { *(double *)pData = 12.34; } var expectedData = new byte[8]; fixed(byte *pData = expectedData) { *(double *)pData = 24.68; } double dummy = 0; service.WhenForAnyArgs(x => x.ModifyByRef(ref dummy)).Do(x => { x[0] = (double)x[0] * 2; }); var result = handler.Handle(service, data, 0).Result; Assert.That(result, Is.EquivalentTo(expectedData)); }