public void Report(ShellCommand command, CommandResult result) { this.errorTaskHandler.Remove(command); var resultTasks = this.BuildErrorTask(command, result.Result); this.errorTaskHandler.Add(resultTasks); }
public void Should_remove_task_from_error_task_list() { var command = new ShellCommand(".", "."); var error = this.CreateError(command); this.errorTaskHandler.Add(new [] { error}); this.errorTaskHandler.Remove(command); A.CallTo(() => this.errorListFacade.Remove(error)).MustHaveHappened(); }
public void Should_be_able_to_remove_tasks() { var command = new ShellCommand("", ""); var error0 = this.CreateError(command); this.errorTaskHandler.Add(new [] { error0 }); this.errorTaskHandler.Remove(command); Assert.That(this.errorTaskHandler.Existing(command).Any(), Is.False); }
public void Should_remove_previous_errors_from_matching_command_when_handling_new_errors() { var task = A.Fake<IGooseErrorTask>(); var command = new ShellCommand("", ""); A.CallTo(() => task.Command).Returns(command); A.CallTo(() => this.errorTaskHandler.Existing(command)).Returns(new[] { task }); this.errorReporter.Report(command, A.Fake<CommandResult>()); A.CallTo(() => this.errorTaskHandler.Remove(command)).MustHaveHappened(); }
public void Remove(ShellCommand command) { IEnumerable<IGooseErrorTask> errors; if (this.knownErrors.TryRemove(command, out errors)) { foreach (var error in errors) { this.errorListFacade.Remove(error); } } }
public void Should_be_able_to_add_tasks_results_from_multiple_commands() { var command0 = new ShellCommand("a", "a"); var error0 = this.CreateError(command0); var error1 = this.CreateError(command0); var tasks0 = new[] { error0, this.CreateError(new ShellCommand("", "")) }; var tasks1 = new[] { this.CreateError(new ShellCommand("", "")), error1 }; this.errorTaskHandler.Add(tasks0); this.errorTaskHandler.Add(tasks1); var existing = this.errorTaskHandler.Existing(command0); Assert.That(existing, Is.EquivalentTo(new [] { error0, error1 })); }
private IEnumerable<IGooseErrorTask> BuildErrorTask(ShellCommand command, string content) { var output = this.logParser.Parse(content); return output.Results .Where(error => error.Type.Equals(CommandOutputItemType.Error)) .Select(error => { var errorTask = new ErrorTask { CanDelete = true, Column = 0, Line = (int) error.Line, Document = error.FullPath, Text = string.Format("{0}{1}{2}", error.Message, Environment.NewLine, error.Excerpt) }; return new GooseErrorTask(command, errorTask); }); }
public void Should_save_added_tasks() { var command = new ShellCommand("", ""); var tasks0 = new[] { this.CreateError(command), this.CreateError(command) }; var tasks1 = new[] { this.CreateError(command), this.CreateError(command) }; this.errorTaskHandler.Add(tasks0); this.errorTaskHandler.Add(tasks1); var existing = this.errorTaskHandler.Existing(command); Assert.That(existing, Is.EquivalentTo(tasks0.Concat(tasks1))); }
private IGooseErrorTask CreateError(ShellCommand command) { var error = A.Fake<IGooseErrorTask>(); A.CallTo(() => error.Command).Returns(command); return error; }
public IEnumerable<IGooseErrorTask> Existing(ShellCommand command) { return this.knownErrors.GetOrAdd(command, key => Enumerable.Empty<IGooseErrorTask>()); }
public GooseErrorTask(ShellCommand command, ErrorTask error) { this.Command = command; this.Error = error; }