public void Can_Implement_Multiple_Interfaces() { var foo = new Foo(); var proxy = new Proxy<IFoo>() .Implement(typeof(IDisposable), typeof(ICloneable)) .Intercept(f => f.Go()) .OnBefore(() => Assert.False(foo.WasExecuted)) .OnInvoke(mi => foo.Go()) .Save(); Assert.True(typeof(IDisposable).IsAssignableFrom(proxy.GetType())); Assert.True(typeof(ICloneable).IsAssignableFrom(proxy.GetType())); }