public void Should_Set_The_Error_Handler() { // Given var task = new ActionTask("task"); var builder = new CakeTaskBuilder <ActionTask>(task); // When builder.ContinueOnError(); // Then Assert.NotNull(builder.Task.ErrorHandler); }
public void Should_Set_The_Property() { // Given var task = new ActionTask("task"); var builder = new CakeTaskBuilder <ActionTask>(task); // When builder.ContinueOnError(); // Then Assert.True(builder.Task.ContinueOnError); }
/// <summary> /// Creates an actual Cake task from the internal <see cref="RegisteredTask"/> structure. /// </summary> private void RegisterPluginTasks() { foreach (RegisteredTask registeredTask in _registeredTasks) { CakeTaskBuilder builder = RegisterTask(registeredTask.Name) .Description(registeredTask.Description); if (registeredTask.ContinueOnError) { builder.ContinueOnError(); } if (registeredTask.AttributeType == typeof(TaskAttribute) && registeredTask.RequiresConfig) { builder.IsDependentOn(TaskNames.Config); } ParameterInfo[] parameters = registeredTask.Method.GetParameters(); switch (parameters.Length) { case 2: var action2 = (Action <ICakeContext, TaskConfig>)registeredTask.Method.CreateDelegate( typeof(Action <ICakeContext, TaskConfig>)); builder.Does(action2); break; case 1: if (parameters[0].ParameterType == typeof(TaskConfig)) { Action <ICakeContext, TaskConfig> action1 = (_, cfg) => { registeredTask.Method.Invoke(obj: null, new object[] { cfg }); }; builder.Does(action1); } else { var action1 = (Action <ICakeContext>)registeredTask.Method.CreateDelegate(typeof(Action <ICakeContext>)); builder.Does(action1); } break; default: var action = (Action)registeredTask.Method.CreateDelegate(typeof(Action)); builder.Does(action); break; } } }