public void WhenTransparentProxyIsInterceptedUsingInterfaceInterceptor()
        {
            bool intercepted = false;
            InterfaceInterceptor interceptor = new InterfaceInterceptor();

            TestProxy <ITest, TestClass> myProxy = new TestProxy <ITest, TestClass>();

            ITest instance = myProxy.CreateProxy();

            var interceptedMethodList = from i in interceptor.GetInterceptableMethods(typeof(ITest), instance.GetType())
                                        where i.InterfaceMethodInfo.Name == "TestMethod"
                                        select i;

            bool containsMethod = interceptedMethodList.Count() == 1;

            Assert.IsTrue(containsMethod);

            var interceptedProxy = interceptor.CreateProxy(typeof(ITest), instance);

            interceptedProxy.AddInterceptionBehavior(
                new ActionInterceptionBehavior(() => intercepted = true));

            int result = ((ITest)interceptedProxy).TestMethod("sample");

            Assert.IsTrue(intercepted);
        }