public void InvokeAsync_DelegatesToInstanceFactoryAndMethodInvoker() { // Arrange object expectedInstance = new object(); object[] expectedArguments = new object[0]; IFunctionInstanceEx functionInstance = new Mock <IFunctionInstanceEx>().Object; Mock <IJobInstanceFactory <object> > instanceFactoryMock = new Mock <IJobInstanceFactory <object> >(MockBehavior.Strict); instanceFactoryMock.Setup(f => f.Create(It.IsAny <IFunctionInstanceEx>())) .Returns(expectedInstance) .Verifiable(); IJobInstanceFactory <object> instanceFactory = instanceFactoryMock.Object; Mock <IMethodInvoker <object, object> > methodInvokerMock = new Mock <IMethodInvoker <object, object> >(MockBehavior.Strict); methodInvokerMock.Setup(i => i.InvokeAsync(expectedInstance, expectedArguments)) .Returns(Task.FromResult <object>(null)) .Verifiable(); IMethodInvoker <object, object> methodInvoker = methodInvokerMock.Object; IFunctionInvokerEx product = CreateProductUnderTest(instanceFactory, methodInvoker); // Act var instance = product.CreateInstance(functionInstance); product.InvokeAsync(instance, expectedArguments).GetAwaiter().GetResult(); // Assert instanceFactoryMock.VerifyAll(); methodInvokerMock.VerifyAll(); }
public object CreateInstance(IFunctionInstanceEx functionInstance) { return(_inner.CreateInstance(functionInstance)); }