public void Construct() { var implementationMock = new Mock<IAlternateMethod>(); var loggerMock = new Mock<ILogger>(); var adapter = new AlternateTypeToCastleInterceptorAdapter(implementationMock.Object, loggerMock.Object, new Mock<IMessageBroker>().Object, new Mock<IProxyFactory>().Object, () => new ExecutionTimer(Stopwatch.StartNew()), () => RuntimePolicy.On); Assert.Equal(implementationMock.Object, adapter.Implementation); Assert.Equal(loggerMock.Object, adapter.Logger); }
public void PassThroughMethodToImplement() { var expected = GetType().GetMethods().First(); var implementationMock = new Mock<IAlternateMethod>(); implementationMock.Setup(i => i.MethodToImplement).Returns(expected); var loggerMock = new Mock<ILogger>(); var adapter = new AlternateTypeToCastleInterceptorAdapter(implementationMock.Object, loggerMock.Object, new Mock<IMessageBroker>().Object, new Mock<IProxyFactory>().Object, () => new ExecutionTimer(Stopwatch.StartNew()), () => RuntimePolicy.On); Assert.Equal(expected, adapter.MethodToImplement); }
public void Intercept() { var implementationMock = new Mock<IAlternateMethod>(); var loggerMock = new Mock<ILogger>(); var adapter = new AlternateTypeToCastleInterceptorAdapter(implementationMock.Object, loggerMock.Object, new Mock<IMessageBroker>().Object, new Mock<IProxyFactory>().Object, () => new ExecutionTimer(Stopwatch.StartNew()), () => RuntimePolicy.On); var invocationMock = new Mock<IInvocation>(); adapter.Intercept(invocationMock.Object); implementationMock.Verify(i => i.NewImplementation(It.IsAny<IAlternateMethodContext>())); }