/// <summary>
        /// Initializes a new instance of the <see cref="DummyValueCreationSession"/> class.
        /// </summary>
        /// <param name="dummyFactory">The dummy factory.</param>
        /// <param name="fakeObjectCreator">The fake object creator.</param>
        public DummyValueCreationSession(DynamicDummyFactory dummyFactory, IFakeObjectCreator fakeObjectCreator)
        {
            this.typesCurrentlyBeingResolved = new HashSet <Type>();
            this.strategyCache = new Dictionary <Type, ResolveStrategy>();
            this.strategies    = new ResolveStrategy[]
            {
                new ResolveFromDummyFactoryStrategy {
                    DummyFactory = dummyFactory
                },
#if NET40
                new ResolveByCreatingTaskStrategy {
                    Session = this
                },
                new ResolveByCreatingLazyStrategy {
                    Session = this
                },
#endif
                new ResolveByCreatingFakeStrategy {
                    FakeCreator = fakeObjectCreator, Session = this
                },
                new ResolveByActivatingValueTypeStrategy(),
                new ResolveByInstantiatingClassUsingDummyValuesAsConstructorArgumentsStrategy {
                    Session = this
                }
            };
        }
Beispiel #2
0
        public void SetUp()
        {
            this.container         = A.Fake <IFakeObjectContainer>();
            this.fakeObjectCreator = A.Fake <IFakeObjectCreator>();

            this.session = new DummyValueCreationSession(this.container, this.fakeObjectCreator);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="DummyValueCreationSession"/> class.
        /// </summary>
        /// <param name="container">The container.</param>
        /// <param name="fakeObjectCreator">The fake object creator.</param>
        public DummyValueCreationSession(IFakeObjectContainer container, IFakeObjectCreator fakeObjectCreator)
        {
            this.isInProcessOfResolving = new HashSet<Type>();
            this.strategyToUseForType = new Dictionary<Type, ResolveStrategy>();

            this.availableStrategies = new ResolveStrategy[]
                                           {
                                               new ResolveFromContainerSrategy { Container = container },
                                               new ResolveByCreatingFakeStrategy { FakeCreator = fakeObjectCreator, Session = this },
                                               new ResolveByActivatingValueTypeStrategy(),
                                               new ResolveByInstantiatingClassUsingDummyValuesAsConstructorArgumentsStrategy { Session = this }
                                           };
        }
Beispiel #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DummyValueResolver"/> class.
 /// </summary>
 /// <param name="dummyFactory">The dummy factory.</param>
 /// <param name="fakeObjectCreator">The fake object creator.</param>
 public DummyValueResolver(DynamicDummyFactory dummyFactory, IFakeObjectCreator fakeObjectCreator)
 {
     this.strategyCache = new ConcurrentDictionary <Type, ResolveStrategy>();
     this.strategies    = new ResolveStrategy[]
     {
         new ResolveFromDummyFactoryStrategy(dummyFactory),
         new ResolveByCreatingTaskStrategy(),
         new ResolveByCreatingLazyStrategy(),
         new ResolveByActivatingValueTypeStrategy(),
         new ResolveByCreatingFakeStrategy(fakeObjectCreator),
         new ResolveByInstantiatingClassUsingDummyValuesAsConstructorArgumentsStrategy()
     };
 }
 public DummyValueResolverTests()
 {
     this.fakeObjectCreator = A.Fake <IFakeObjectCreator>();
     A.CallTo(() => this.fakeObjectCreator.CreateFakeWithoutLoopDetection(
                  A <Type> ._,
                  A <IProxyOptions> ._,
                  A <IDummyValueResolver> ._,
                  A <LoopDetectingResolutionContext> ._))
     .ReturnsLazily((
                        Type type,
                        IProxyOptions proxyOptions,
                        IDummyValueResolver resolver,
                        LoopDetectingResolutionContext resolutionContext) =>
                    CreationResult.FailedToCreateDummy(type, string.Empty));
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="DummyValueCreationSession"/> class.
        /// </summary>
        /// <param name="container">The container.</param>
        /// <param name="fakeObjectCreator">The fake object creator.</param>
        public DummyValueCreationSession(IFakeObjectContainer container, IFakeObjectCreator fakeObjectCreator)
        {
            this.typesCurrentlyBeingResolved = new HashSet<Type>();
            this.strategyCache = new Dictionary<Type, ResolveStrategy>();
            this.strategies = new ResolveStrategy[]
                {
                    new ResolveFromContainerStrategy { Container = container }, 
#if NET40
                    new ResolveByCreatingTaskStrategy { Session = this }, 
#endif
                    new ResolveByCreatingFakeStrategy { FakeCreator = fakeObjectCreator, Session = this }, 
                    new ResolveByActivatingValueTypeStrategy(), 
                    new ResolveByInstantiatingClassUsingDummyValuesAsConstructorArgumentsStrategy { Session = this }
                };
        }
Beispiel #7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DummyValueCreationSession"/> class.
        /// </summary>
        /// <param name="container">The container.</param>
        /// <param name="fakeObjectCreator">The fake object creator.</param>
        public DummyValueCreationSession(IFakeObjectContainer container, IFakeObjectCreator fakeObjectCreator)
        {
            this.isInProcessOfResolving = new HashSet <Type>();
            this.strategyToUseForType   = new Dictionary <Type, ResolveStrategy>();

            this.availableStrategies = new ResolveStrategy[]
            {
                new ResolveFromContainerSrategy {
                    Container = container
                },
                new ResolveByCreatingFakeStrategy {
                    FakeCreator = fakeObjectCreator, Session = this
                },
                new ResolveByActivatingValueTypeStrategy(),
                new ResolveByInstantiatingClassUsingDummyValuesAsConstructorArgumentsStrategy {
                    Session = this
                }
            };
        }
 public ResolveByCreatingFakeStrategy(IFakeObjectCreator fakeCreator, DummyValueResolver resolver)
 {
     this.FakeCreator = fakeCreator;
     this.Resolver    = resolver;
 }
Beispiel #9
0
 public FakeAndDummyManager(IDummyValueResolver dummyValueResolver, IFakeObjectCreator fakeCreator, ImplicitOptionsBuilderCatalogue implicitOptionsBuilderCatalogue)
 {
     this.dummyValueResolver = dummyValueResolver;
     this.fakeCreator        = fakeCreator;
     this.implicitOptionsBuilderCatalogue = implicitOptionsBuilderCatalogue;
 }
Beispiel #10
0
 public DefaultFakeAndDummyManager(IDummyValueResolver dummyValueResolver, IFakeObjectCreator fakeCreator, DynamicOptionsBuilder dynamicOptionsBuilder)
 {
     this.dummyValueResolver    = dummyValueResolver;
     this.fakeCreator           = fakeCreator;
     this.dynamicOptionsBuilder = dynamicOptionsBuilder;
 }
 public ResolveByCreatingFakeStrategy(IFakeObjectCreator fakeCreator, DummyValueCreationSession session)
 {
     this.FakeCreator = fakeCreator;
     this.Session     = session;
 }
 public FakeAndDummyManager(IDummyValueResolver dummyValueResolver, IFakeObjectCreator fakeCreator, IProxyOptionsFactory proxyOptionsFactory)
 {
     this.dummyValueResolver  = dummyValueResolver;
     this.fakeCreator         = fakeCreator;
     this.proxyOptionsFactory = proxyOptionsFactory;
 }
 public DummyValueResolverTests()
 {
     this.fakeObjectCreator = A.Fake <IFakeObjectCreator>();
     A.CallTo(() => this.fakeObjectCreator.CreateFake(A <Type> ._, A <IProxyOptions> ._, A <DummyCreationSession> ._, A <IDummyValueResolver> ._))
     .ReturnsLazily((Type type, IProxyOptions proxyOptions, DummyCreationSession session, IDummyValueResolver resolver) => CreationResult.FailedToCreateDummy(type, string.Empty));
 }
 public ResolveByCreatingFakeStrategy(IFakeObjectCreator fakeCreator, IProxyOptionsFactory proxyOptionsFactory)
 {
     this.FakeCreator         = fakeCreator;
     this.ProxyOptionsFactory = proxyOptionsFactory;
 }
Beispiel #15
0
 public DummyValueResolverTests()
 {
     this.fakeObjectCreator = A.Fake <IFakeObjectCreator>();
 }
Beispiel #16
0
 public void Setup()
 {
     this.fakeObjectCreator = A.Fake <IFakeObjectCreator>();
 }
Beispiel #17
0
 public ResolveByCreatingFakeStrategy(IFakeObjectCreator fakeCreator)
 {
     this.FakeCreator = fakeCreator;
 }
 public DummyValueCreationSessionTests()
 {
     this.fakeObjectCreator = A.Fake <IFakeObjectCreator>();
 }