public void TestMustThrowArgumentException() { using (var client = new WrapperClient()) { client.Invoke<object>(string.Empty, string.Empty, new object[0]); } }
public WrapperClientInterceptor(Type interfaceType, WrapperClient wrapperClient, ILibraryNameProvider libraryNameProvider) { Raise.ArgumentNullException.IfIsNull(interfaceType, nameof(interfaceType)); Raise.ArgumentNullException.IfIsNull(wrapperClient, nameof(wrapperClient)); Raise.ArgumentNullException.IfIsNull(libraryNameProvider, nameof(libraryNameProvider)); _interfaceType = interfaceType; _wrapperClient = wrapperClient; _libraryNameProvider = libraryNameProvider; }
public void TestMustThrowObjectDisposedException() { WrapperClient client; using (client = new WrapperClient()) { // Do Nothing } client.Invoke<TestStdCallDelegate>(TestDllPath, "TestStdCall", new object[0]); }
public void TestCallMethodWithoutException() { // Create new WrapperClient // Remember to ensure a call to the Dispose()-Method! using (var client = new WrapperClient()) { // Make calls providing library name, function name, and parameters int x = (int)client.Invoke<GetSystemMetrics>("User32.dll", "GetSystemMetrics", new object[] { 0 }); int y = (int)client.Invoke<GetSystemMetrics>("User32.dll", "GetSystemMetrics", new object[] { 1 }); } }
public void TestWrapperClientMakesOneSendReceiveCycle() { Mock <IPipeConnector> pipeConnectorMock = new Mock <IPipeConnector>(); pipeConnectorMock.Setup(m => m.ReceiveCallResponse()) .Returns(new CallResult() { Parameters = new object[0] }); WrapperClient wrapperClient = new WrapperClient(pipeConnectorMock.Object); wrapperClient.InvokeInternal(new CallData() { Parameters = new object[0] }); pipeConnectorMock.Verify(m => m.SendCallRequest(It.IsAny <CallData>()), Times.Once); pipeConnectorMock.Verify(m => m.ReceiveCallResponse(), Times.Once); }
public void TestCallParametersAreCopied() { object[] passedParameters = { 1, 2, 3 }; object[] returnedParameters = { 3, 2, 1 }; CallData callData = new CallData() { Parameters = passedParameters }; Mock <IPipeConnector> pipeConnectorMock = new Mock <IPipeConnector>(); pipeConnectorMock.Setup(m => m.ReceiveCallResponse()) .Returns(new CallResult() { Parameters = returnedParameters }); WrapperClient wrapperClient = new WrapperClient(pipeConnectorMock.Object); wrapperClient.InvokeInternal(callData); CollectionAssert.AreEqual(returnedParameters, passedParameters); Assert.AreNotSame(passedParameters, returnedParameters); }
public WrapperClientInterceptor(Type interfaceType, TargetArchitecture targetArchitecture) { _wrapperClient = new WrapperClient(targetArchitecture); _interfaceType = interfaceType; }
public void TestNormalFunc() { int input = 5; int result; using (var client = new WrapperClient()) { result = (int)client.Invoke<TestNormalFuncDelegate>(TestDllPath, "TestNormalFunc", new object[] { input }); } Assert.AreNotEqual(input, result); }
public void TestStdCall() { int input = 5; int result; using (var client = new WrapperClient()) { result = (int)client.Invoke<TestStdCallDelegate>(TestDllPath, "TestStdCall", new object[] { input }); } Assert.AreEqual(input, result); }
public void TestPWideCharHandling() { string input = "Hello World"; string result; using (var client = new WrapperClient()) { result = (string)client.Invoke<TestPWideCharHandlingDelegate>(TestDllPath, "TestPWideCharHandling", new object[] { input }); } Assert.AreEqual(input, result); }