SubstitutionContext()
 {
     var callRouterFactory = new CallRouterFactory();
     var dynamicProxyFactory = new CastleDynamicProxyFactory();
     var delegateFactory = new DelegateProxyFactory();
     var proxyFactory = new ProxyFactory(delegateFactory, dynamicProxyFactory);
     var callRouteResolver = new CallRouterResolver();
     _substituteFactory = new SubstituteFactory(this, callRouterFactory, proxyFactory, callRouteResolver);
 }
 SubstitutionContext()
 {
     var callRouterFactory = new CallRouterFactory();
     var interceptorFactory = new CastleInterceptorFactory();
     var dynamicProxyFactory = new CastleDynamicProxyFactory(interceptorFactory);
     var delegateFactory = new DelegateProxyFactory();
     var proxyFactory = new ProxyFactory(delegateFactory, dynamicProxyFactory);
     var callRouteResolver = new CallRouterResolver();
     _substituteFactory = new SubstituteFactory(this, callRouterFactory, proxyFactory, callRouteResolver);
     _argumentSpecifications = new List<IArgumentSpecification>();
 }
        public FluentQuerySubstitutionContext(ISubstitutionContext innerContext)
        {
            this.innerContext = innerContext;

            var callRouterFactory = new FluentCallRouterFactory();
            var dynamicProxyFactory = new CastleDynamicProxyFactory();
            var delegateFactory = new DelegateProxyFactory();
            var proxyFactory = new ProxyFactory(delegateFactory, dynamicProxyFactory);
            var callRouteResolver = new CallRouterResolver();

            this.substituteFactory = new SubstituteFactory(this, callRouterFactory, proxyFactory, callRouteResolver);
        }