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>())); }