public void CanInvokeProcessMethodOfAnIncomingStep() { var step = new FakeReceiveStep("WOOHOO"); var processMethod = step.GetType().GetMethod("Process"); var context = GetIncomingStepContext(); var nextExpression = Expression.Lambda <Func <Task> >(Expression.Constant(Task.FromResult(0))); var stepReference = Expression.Constant(step); var contextArgument = Expression.Constant(context); var callExpression = Expression.Call(stepReference, processMethod, contextArgument, nextExpression); }