public static AllGenerator Create() { var methodProxyCalls = new GenericMethodProxyCalls(); var valueGenerator = CreateValueGenerator(); var proxyGenerator = new ProxyGenerator(); var fakeChainFactory = CreateFakeChainFactory(proxyGenerator, valueGenerator); var allGenerator = new AllGenerator(valueGenerator, fakeChainFactory, methodProxyCalls); return(allGenerator); }
public static AllGenerator Create() { var emptyCollectionFixture = new Fixture { RepeatCount = 0 }; var methodProxyCalls = new GenericMethodProxyCalls(); var fixtureConfiguration = new AutoFixtureConfiguration(); var fixture = fixtureConfiguration.CreateUnconfiguredInstance(); var collectionGenerator = new CollectionGenerator(methodProxyCalls); var valueGenerator = new ValueGenerator(fixture); var charGenerator = new CharGenerator(valueGenerator); var specificTypeObjectGenerator = new SpecificTypeObjectGenerator(valueGenerator); var emptyCollectionGenerator = new EmptyCollectionGenerator( emptyCollectionFixture, methodProxyCalls); var proxyGenerator = new ProxyGenerator(); var proxyBasedGenerator = new ProxyBasedGenerator( emptyCollectionFixture, methodProxyCalls, emptyCollectionGenerator, //TODO make separate chain for this proxyGenerator, new FakeChainFactory( new CachedReturnValueGeneration(new PerMethodCache <object>()), GlobalNestingLimit.Of(5), proxyGenerator, //TODO get rid of this dependency - its runtime-circular valueGenerator, collectionGenerator)); var stringGenerator = new StringGenerator( charGenerator, valueGenerator, specificTypeObjectGenerator); var numericGenerator = new NumericGenerator( valueGenerator); var allGenerator = new AllGenerator(valueGenerator, charGenerator, specificTypeObjectGenerator, stringGenerator, emptyCollectionGenerator, numericGenerator, proxyBasedGenerator, collectionGenerator, new InvokableGenerator()); fixtureConfiguration.ApplyTo(fixture, stringGenerator, numericGenerator); return(allGenerator); }
public static BasicGenerator Create() { var valueGenerator = CreateValueGenerator(); var proxyGenerator = new ProxyGenerator(); var cachedReturnValueGeneration = new CachedReturnValueGeneration(new PerMethodCache <object>()); var specialCasesOfResolutions = new SpecialCasesOfResolutions(); var fallbackTypeGenerator = new FallbackTypeGenerator( new IFallbackGeneratedObjectCustomization[] { new FillPropertiesCustomization(), new FillFieldsCustomization() }); var resolutionsFactory = new ResolutionsFactory( specialCasesOfResolutions, fallbackTypeGenerator); var unconstrainedChain = new TemporaryChainForCollection(new[] { ResolutionsFactory.ResolveTheMostSpecificCases(valueGenerator), resolutionsFactory.ResolveAsArray(), resolutionsFactory.ResolveAsImmutableArray(), resolutionsFactory.ResolveAsSimpleEnumerableAndList(), resolutionsFactory.ResolveAsImmutableList(), resolutionsFactory.ResolveAsSimpleSet(), resolutionsFactory.ResolveAsImmutableHashSet(), resolutionsFactory.ResolveAsImmutableSortedSet(), resolutionsFactory.ResolveAsSimpleDictionary(), resolutionsFactory.ResolveAsImmutableDictionary(), resolutionsFactory.ResolveAsImmutableSortedDictionary(), resolutionsFactory.ResolveAsSortedList(), resolutionsFactory.ResolveAsImmutableQueue(), resolutionsFactory.ResolveAsImmutableStack(), ResolutionsFactory.ResolveAsDelegate(), resolutionsFactory.ResolveAsSortedSet(), resolutionsFactory.ResolveAsSortedDictionary(), resolutionsFactory.ResolveAsConcurrentDictionary(), resolutionsFactory.ResolveAsConcurrentBag(), resolutionsFactory.ResolveAsConcurrentQueue(), resolutionsFactory.ResolveAsConcurrentStack(), resolutionsFactory.ResolveAsKeyValuePair(), ResolutionsFactory.ResolveAsOptionalOption(), resolutionsFactory.ResolveAsGenericEnumerator(), ResolutionsFactory.ResolveAsObjectEnumerator(), ResolutionsFactory.ResolveAsCollectionWithHeuristics(), ResolutionsFactory.ResolveAsInterfaceImplementationWhere( cachedReturnValueGeneration, proxyGenerator), resolutionsFactory.ResolveAsAbstractClassImplementationWhere( cachedReturnValueGeneration, proxyGenerator), resolutionsFactory.ResolveAsConcreteTypeWithNonConcreteTypesInConstructorSignature(), ResolutionsFactory.ResolveAsVoidTask(), ResolutionsFactory.ResolveAsTypedTask(), resolutionsFactory.ResolveAsConcreteClass() }); var limitedGenerationChain = new LimitedGenerationChain(unconstrainedChain); var fakeOrdinaryInterfaceGenerator = new FakeOrdinaryInterface(cachedReturnValueGeneration, proxyGenerator); var allGenerator = new AllGenerator( valueGenerator, limitedGenerationChain, unconstrainedChain, fakeOrdinaryInterfaceGenerator); return(allGenerator); }
public SynchronizedBasicGenerator(AllGenerator allGenerator, object syncRoot) { _allGenerator = allGenerator; _syncRoot = syncRoot; }
public SynchronizedInstanceGenerator(AllGenerator allGenerator, object syncRoot) { _allGenerator = allGenerator; _syncRoot = syncRoot; }