Exemplo n.º 1
0
 private void DefineParameters(IMethodBaseBuilder methodBaseBuilder, IMutableMethodBase mutableMethodBase)
 {
     foreach (var parameter in mutableMethodBase.MutableParameters)
     {
         DefineParameter(methodBaseBuilder, parameter);
     }
 }
Exemplo n.º 2
0
        private void CheckBodyBuildAction(Action testedAction, IMethodBaseBuilder methodBuilderMock, IMutableMethodBase mutableMethodBase)
        {
            methodBuilderMock.BackToRecord();
            _expressionPreparerMock.Expect(mock => mock.PrepareBody(_context, mutableMethodBase.Body)).Return(_fakeBody);
            methodBuilderMock
            .Expect(mock => mock.SetBody(Arg <LambdaExpression> .Is.Anything, Arg.Is(_ilGeneratorFactoryStub), Arg.Is(_context.DebugInfoGenerator)))
            .WhenCalled(
                mi =>
            {
                var lambdaExpression = (LambdaExpression)mi.Arguments[0];
                Assert.That(lambdaExpression.Body, Is.SameAs(_fakeBody));
                Assert.That(lambdaExpression.Parameters, Is.EqualTo(mutableMethodBase.ParameterExpressions));
            });
            methodBuilderMock.Replay();

            testedAction();

            _emittableOperandProviderMock.VerifyAllExpectations();
            methodBuilderMock.VerifyAllExpectations();
        }
Exemplo n.º 3
0
        private void CheckBodyBuildAction <T> (Action testedAction, Mock <T> methodBuilderMock, IMutableMethodBase mutableMethodBase) where T : class, IMethodBaseBuilder
        {
            _expressionPreparerMock.Setup(mock => mock.PrepareBody(_context, mutableMethodBase.Body)).Returns(_fakeBody).Verifiable();
            methodBuilderMock
            .Setup(
                mock => mock.SetBody(
                    It.IsAny <LambdaExpression>(),
                    _ilGeneratorFactoryStub.Object,
                    _context.DebugInfoGenerator))
            .Callback(
                (LambdaExpression lambdaExpression, IILGeneratorFactory ilGeneratorFactory, DebugInfoGenerator debugInfoGenerator) =>
            {
                Assert.That(lambdaExpression.Body, Is.SameAs(_fakeBody));
                Assert.That(lambdaExpression.Parameters, Is.EqualTo(mutableMethodBase.ParameterExpressions));
            })
            .Verifiable();

            testedAction();

            _emittableOperandProviderMock.Verify();
            methodBuilderMock.Verify();
        }