public void DoesNotCreateProxyIfNoPointcutMatch()
        {
            PointcutFilteringAutoProxyCreator apc = new PointcutFilteringAutoProxyCreator();

            apc.Pointcut = new SdkRegularExpressionMethodPointcut(".*\\.DOEsNOTExist");
            object result = apc.PostProcessAfterInitialization(new TestObject(), "testObject");

            Assert.IsFalse(AopUtils.IsAopProxy(result));
        }
        public void CreatesProxyOnPointcutMatch()
        {
            PointcutFilteringAutoProxyCreator apc = new PointcutFilteringAutoProxyCreator();

            apc.Pointcut = new SdkRegularExpressionMethodPointcut(".*\\.GetHashCode");
            object result = apc.PostProcessAfterInitialization(new TestObject(), "testObject");

            Assert.IsTrue(AopUtils.IsAopProxy(result));
        }
        public void ThrowsArgumentExceptionIfNoCriteriaSpecified()
        {
            PointcutFilteringAutoProxyCreator apc = new PointcutFilteringAutoProxyCreator();

            Assert.Throws <ArgumentNullException>(() => apc.PostProcessAfterInitialization(new TestObject(), "testObject"));
        }