Beispiel #1
0
        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)));
        }
Beispiel #2
0
 public AllGenerator(ValueGenerator valueGenerator,
                     IFakeChainFactory fakeChainFactory,
                     GenericMethodProxyCalls methodProxyCalls)
 {
     _valueGenerator   = valueGenerator;
     _fakeChainFactory = fakeChainFactory;
     _methodProxyCalls = methodProxyCalls;
 }
Beispiel #3
0
 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);
    }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }