public void run_task_without_dependencies() { var context = Setup.Context(); var task = new MyWrapperClass.Clean(); task.Context = context; var method = task.GetType().GetMethod("Execute"); var exec = new TaskExecutor(task, method); exec.Execute(context); Assert.Equal(context.Data["Result"],23); }
TaskExecutor GetExecutor(TaskConfiguration config, TaskContext context) { var deps = config.GetDependencies(context.InitData); var execDeps = new TaskExecutor[deps.Length]; for (var i = 0; i < deps.Length; i++) { var typeConfig = _tasks.Find(d => d.Type == deps[i]); if (typeConfig==null)throw new InvalidOperationException("Can't find task '{0}'".ToFormat(deps[i].Name)); execDeps[i] = GetExecutor(typeConfig, context); } if (!config.ShouldExecute(context.InitData)) return TaskExecutor.SkipTask; var method = _configuration.GetExecutableMethod(config.Type); return new TaskExecutor(config.Instance,method,execDeps); }
TaskExecutor GetExecutor(TaskConfiguration config, TaskContext context) { var deps = config.GetDependencies(context.InitData); var execDeps = new TaskExecutor[deps.Length]; for (var i = 0; i < deps.Length; i++) { var typeConfig = _tasks.Find(d => d.Type == deps[i]); if (typeConfig == null) { throw new InvalidOperationException("Can't find task '{0}'".ToFormat(deps[i].Name)); } execDeps[i] = GetExecutor(typeConfig, context); } var method = _configuration.GetExecutableMethod(config.Type); return(new TaskExecutor(config.Instance, method, execDeps)); }