public static InlineGenerator <object> For <T>(string methodName, Type type1, Type type2) { var genericMethodProxyCalls = new GenericMethodProxyCalls(); var inlineGenerator = genericMethodProxyCalls .ResultOfGenericVersionOfStaticMethod <T>(type1, type2, methodName); return(new ObjectAdapter(inlineGenerator, GenerateInstanceMethodInfo(inlineGenerator))); }
public AllGenerator(ValueGenerator valueGenerator, IFakeChainFactory fakeChainFactory, GenericMethodProxyCalls methodProxyCalls) { _valueGenerator = valueGenerator; _fakeChainFactory = fakeChainFactory; _methodProxyCalls = methodProxyCalls; }
public AllGenerator(ValueGenerator valueGenerator, IFakeChainFactory fakeChainFactory, GenericMethodProxyCalls methodProxyCalls, object syncRoot) { _valueGenerator = valueGenerator; _fakeChainFactory = fakeChainFactory; _methodProxyCalls = methodProxyCalls; _syncRoot = syncRoot; }
public object Apply(InstanceGenerator instanceGenerator, GenerationRequest request, Type type) { var resultType = type.GenericTypeArguments.First(); var parameters = instanceGenerator.Instance(resultType, request); var result = new GenericMethodProxyCalls().ResultOfGenericVersionOfStaticMethod <Task>( type.GenericTypeArguments.First(), "FromResult", parameters); return(result); }
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 methodProxyCalls = new GenericMethodProxyCalls(); var valueGenerator = CreateValueGenerator(); var proxyGenerator = new ProxyGenerator(); var fakeChainFactory = CreateFakeChainFactory(proxyGenerator, valueGenerator); var allGenerator = new SynchronizedBasicGenerator( new AllGenerator( valueGenerator, fakeChainFactory, methodProxyCalls, SyncRoot), SyncRoot); return(allGenerator); }